Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift Concurrencyを導入するにあたって決めたこと
Search
hicka04
March 15, 2022
Programming
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift Concurrencyを導入するにあたって決めたこと
hicka04
March 15, 2022
More Decks by hicka04
See All by hicka04
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
1.6k
UICollectionViewのAPIを活用してシンプルなコードにリファクタリングする
hicka04
1
1.7k
「家族アルバム みてね」を支えるビルド環境の改善
hicka04
2
2.9k
業務と両立できる!開発環境の改善!
hicka04
2
3.1k
Other Decks in Programming
See All in Programming
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
ALB ログから Trace を気合で繋げる技術
fohte
7
880
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
350
アクセシビリティから考える情報設計
high_g_engineer
0
300
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
150
自分的「カンファレンスの楽しみ方」
syumai
0
190
Foundry Localでエージェント開発
seosoft
0
150
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
180
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
560
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
440
Featured
See All Featured
Scaling GitHub
holman
464
140k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Discover your Explorer Soul
emna__ayadi
2
1.3k
Thoughts on Productivity
jonyablonski
76
5.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Fireside Chat
paigeccino
42
4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
600
Transcript
4XJGU$PODVSSFODZΛ ಋೖ͢Δʹܾ͋ͨͬͯΊͨ͜ͱ 2022/03/15 佐藤 光
mixi, Inc. ࣗݾհ ˔ ࠤ౻ ޫ !IJDLB ˔ גࣜձࣾϛΫγΟ ΈͯͶࣄۀ෦
ϓϩμΫτ։ൃάϧʔϓ ˓ த్ೖࣾ ˔ ͖ͳͷ ˓ ϥʔϝϯ ˓ ϙέϞϯ
mixi, Inc. ΞδΣϯμ ˔ ʮՈΞϧόϜ ΈͯͶʯʹ͍ͭͯ ˔ 4XJGU$PODVSSFODZʹ͍ͭͯ ˔ ࠾༻͍ͯ͠ΔΞʔΩςΫνϟʹ͍ͭͯ
˔ 4XJGU$PODVSSFODZΛಋೖ͢Δʹܾ͋ͨͬͯΊͨ͜ͱ ˔ ·ͱΊ
ʮՈΞϧόϜ ΈͯͶʯʹ͍ͭͯ
mixi, Inc. ʮՈΞϧόϜ ΈͯͶʯʹ͍ͭͯ ˔ ՈͰࢠڙͷࣸਅΛ؆୯ʹڞ༗Ͱ͖ΔαʔϏε ˔ ʮੈքதͷՈͷz͜͜ΖͷΠϯϑϥzΛ࡞Δʯ Λϛογϣϯʹܝ͛ɺݱࡏݴޠରԠ ˔
ҎԼʮΈͯͶʯͱॻ͘
4XJGU$PODVSSFODZʹ͍ͭͯ
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ ˔ 4XJGU͔Βݴޠػೳʹࡌ͞ΕͨฒߦॲཧͷͨΊͷϑϨʔϜϫʔΫ ˔ ൃදॳJ04Ҏ্͔͑͠ͳ͔ͬͨ ˔ 9DPEF͔ΒJ04Ͱ͑ΔΑ͏ʹόοΫϙʔτ࣮͕͞Εͨ ˓
ˢΛ͖͔͚ͬʹಋೖݕ౼Λ։࢝
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ BTZODBXBJU ˔ BTZOD ΩʔϫʔυΛ͚ͭΔ͜ͱͰඇಉظॲཧͰ͋Δ͜ͱΛϚʔΫͰ͖Δ BXBJUΩʔϫʔυΛ͚ͭͯݺͼग़͢ ˔ BTZOD
Ωʔϫʔυ͕͍͍ͭͯΔϝιουϓϩύςΟΛݺͼग़ͨ͢Ίͷ݅ ˓ BTZODΩʔϫʔυ͕͍͍ͭͯΔϝιουϓϩύςΟ͔Βݺͼग़͢ ˓ 5BTL ʹ͢Ϋϩʔδϟ͔Βݺͼग़͢
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ BTZODBXBJU Ϋϩʔδϟ IUUQTEPDTTXJGUPSHTXJGUCPPL-BOHVBHF(VJEF$PODVSSFODZIUNM
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ BTZODBXBJU BTZODBXBJU IUUQTEPDTTXJGUPSHTXJGUCPPL-BOHVBHF(VJEF$PODVSSFODZIUNM
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ BDUPS ˔ ෳεϨου͔ΒಡΈॻ͖ͨ͠ͱ͖ͷσʔλڝ߹Λ͙ ˓ ಡΈॻ͖ཁٻ͕Ωϡʔʹੵ·Εɺॱ൪ʹॲཧ͞ΕΔ ˓ BDUPSΠϯελϯε͝ͱʹΩϡʔ͕࡞ΒΕΔ
˔ HMPCBM"DUPS ˓ ಡΈॻ͖ཁٻͷΩϡʔΛෳͷΠϯελϯεͰڞ༗͢Δ ˔ .BJO"DUPS ˓ ಡΈॻ͖ཁٻΛϝΠϯΩϡʔʹੵΜͰ͘ΕΔHMPCBM"DUPS ˓ දࣔσʔλΛཧ͢ΔΫϥεʹΛ͚ͭΔͱɺϝΠϯεϨουͷΓସ͑ΕʹΑΔΫϥογϡΛ͛Δ
mixi, Inc. 4XJGU$PODVSSFODZʹ͍ͭͯ BDUPS
࠾༻͍ͯ͠Δ ΞʔΩςΫνϟʹ͍ͭͯ
mixi, Inc. ࠾༻͍ͯ͠ΔΞʔΩςΫνϟʹ͍ͭͯ ˔ ΞʔΩςΫνϟύλʔϯ ˓ $MFBO"SDIJUFDUVSF ˓ .71 1BTTJWF7JFX
˔ ඇಉظॲཧ ˓ 3Y4XJGU ˓ Ϋϩʔδϟ IUUQTNJYJEFWFMPQFSTNJYJDPKQNJUFOFJPTDMFBOBSDIJUFDUVSFEE
4XJGU$PODVSSFODZΛ ಋೖ͢Δʹܾ͋ͨͬͯΊͨ͜ͱ
mixi, Inc. ܾΊͨ͜ͱ σʔλ 3FNPUF ˔ "MBNPGJSF Λར༻த
˓ "MBNPGJSFΛ4XJGU$PODVSSFODZରԠόʔδϣϯ ·Ͱ্͛Δ ˓ ࣗͰFYUFOTJPOϝιουΛੜ͢ ˔ ݱঢ়ޙऀΛ࠾༻ ˓ "MBNPGJSFͷϝδϟʔόʔδϣϯΞοϓͪͰ4XJGU$PODVSSFODZͷಋೖ͕Ͱ͖ͳ͍ࣄଶΛආ͚Δ ˓ όʔδϣϯΞοϓྃ࣍ୈɺॱ࣍FYUFOTJPOϝιουͷར༻ΛΊ͍ͯ͘ IUUQTHJUIVCDPN"MBNPGJSF"MBNPGJSFSFMFBTFT
mixi, Inc. ܾΊͨ͜ͱ σʔλ 3FNPUF IUUQTDPDLTDPNCIBUFOBCMPHDPNFOUSZ
mixi, Inc. ܾΊͨ͜ͱ σʔλ 3FNPUF
mixi, Inc. ܾΊͨ͜ͱ σʔλ -PDBM ˔ ϩʔΧϧͷσʔλಡΈॻ͖ɺओʹ 3FBMN PS6TFS%FGBVMUT
˔ 3FBMNͷެࣜυΩϡϝϯτͷ 5ISFBEJOHͷϖʔδ͔Βൈਮ ˓ %PObUMPDLUPSFBE ಡΈࠐΈΛϩοΫ͠ͳ͍Ͱ ˓ "WPJEXSJUFTPOUIF6*UISFBEJGZPVXSJUFPOBCBDLHSPVOEUISFBE 6*εϨουͰॻ͖ࠐΈ͠ͳ͍Ͱ ˔ ಛఆͷεϨου ಛʹ6*εϨου Λ༗͢ΔͱΞϓϦύϑΥʔϚϯεʹେ͖ͳӨڹ͕ͰΔ ˓ Ξοϓϩʔυͨ͠ϝσΟΞͷΩϟογϡͰར༻͍ͯ͠Δ ˓ ສ୯ҐͰΞοϓϩʔυ͍ͯ͠ΔϢʔβʔ͍Δ ˔ બࢶ ˓ HMPCBM"DUPSΛ͏ ಛఆͷεϨουΛ༗ͯ͠͠·͍͘͢ͳΔ ˓ XJUI$IFDLFE 5ISPXJOH $POUJOVBUJPOº %JTQBUDI2VFVFΛ͏ ($%٫͍ͨ͠ ˓ 5BTLEFUBDIFEΛ͏ IUUQTEPDTNPOHPECDPNSFBMNTELTXJGUBEWBODFEHVJEFTUISFBEJOH
mixi, Inc. ܾΊͨ͜ͱ σʔλ -PDBM ˔ 5BTLEFUBDIFEΛ͏ ˓ ಛఆͷεϨουΛ༗ͮ͠Β͍
˓ 4XJGU$PODVSSFODZͷػೳ͚ͩͰ࣮ݱͰ͖Δ ˔ ࣗͰΩϟϯηϧॲཧΛॻ͘ඞཁ͕͋Δ ˓ 3FBMNʹಡΈॻ͖ΛΩϟϯηϧ͢ΔΠϯλʔϑΣΠε͕ͳ͍ͨΊߟྀ֎ ˔ ͏ଆͰγϯϓϧʹॻ͚ΔΑ͏ʹQSPUPDPMΛ༻ҙ ˓ 3FBMNΞΫηε͢Δ֤-PDBM%BUB4PVSDF͕४ڌͯ͠͏ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUUBTLEFUBDIFE
mixi, Inc. ܾΊͨ͜ͱ σʔλ -PDBM
mixi, Inc. ܾΊͨ͜ͱ σʔλ -PDBM
mixi, Inc. ܾΊͨ͜ͱ r υϝΠϯ ˔ 6TF$BTFʹੜ͢ϝιουʹ BTZODΩʔϫʔυΛ༩͢Δ ˔ ΈͯͶʹ͓͍ͯ6TF$BTFɺσʔλͷϝιουΛͲͷΑ͏ʹݺͿ͔͕ʹͳΔ͜ͱ͕ଟ͍
˓ σʔλʹ BTZODϝιουΛੜ͢ ˓ σʔλͷ BTZODϝιουΛͦͷ··ݺͿ
mixi, Inc. ܾΊͨ͜ͱ r ϓϨθϯςʔγϣϯ Ͳ͜ʹ !.BJO"DUPSΛ͚ͭΔ͔ ˔ 7JFX7JFX$POUSPMMFSͷΈ ˔
1SFTFOUFSͰঢ়ଶཧΛ͍ͯ͠ͳ͍ͨΊݱঢ়ෆཁͱஅ Ͳ͜Ͱ 5BTLΛੜ͢Δ͔ ˔ 7JFX7JFX$POUSPMMFSͰੜ ˔ 1SFTFOUFS͕7JFXʹରͯ͠ެ։͢Δϝιουʹ BTZODΩʔϫʔυΛ͚ͭΔ Ͳ͜·ͰΩϟϯηϧॲཧΛؤுΔ͔ ˔ Ͳ͏ͯ͠Ωϟϯηϧ͍ͨ͠ͱ͖ ΩϟϯηϧϘλϯΛஔ͍ͯΔͳͲ Ҏ֎ؤுΒͳ͍ ˔ 5BTLʹTFMGΛΩϟϓνϟͤ͞Δͱɺඇಉظॲཧ͕ऴΘΔ·ͰࢀরΧϯτ͕ݮΒͣϝϞϦϦʔΫʹͳΔ ˓ ແݶϧʔϓͯ͠ͳ͚Ε͍͔ͭऴΘͬͯ։์͞ΕΔ ˓ ίϯύΠϥͰ͙͜ͱ͕͍ͨ͠ΊϨϏϡʔίετ্͕͕Δ
mixi, Inc. ܾΊͨ͜ͱ r ςετίʔυ ςεςΟϯάϑϨʔϜϫʔΫ ˔ ݱঢ়9$5FTUPS2VDJL ˔ 2VJDLݱࡏɺ4XJGU$PODVSSFODZະରԠ
˔ ࠓޙ9$5FTUΛ͏ ϞοΫ ˔ ݱঢ়4PVSDFSZ ˔ બࢶ ˓ .PDLPMPʹมߋ πʔϧΛ૿͞ͳ͍ͨΊ ˓ 4PVSDFSZΛ4XJGU$PODVSSFODZରԠόʔδϣϯʹΞοϓσʔτ IUUQTHJUIVCDPN2VJDL2VJDLSFMFBTFT IUUQTHJUIVCDPNLS[ZT[UPG[BCMPDLJ4PVSDFSZSFMFBTFT
mixi, Inc. ܾΊͨ͜ͱ r Ҡߦܭը ˔ 4XJGUʹඋ͑ͯɺݱঢ়ग़͍ͯΔΤϥʔϫʔχϯάʹରԠ͢Δ ˓ 9GSPOUFOEXBSODPODVSSFODZ ˓
9GSPOUFOEFOBCMFBDUPSEBUBSBDFDIFDLT ˔ ৽نͰ࡞ΔػೳͰੵۃతʹ࠾༻͍ͯ͘͠ ˔ طଘͷػೳʹґଘ͢Δඞཁ͕͋Δ߹ҎԼ͔Βબ ˓ طଘͷඇಉظॲཧΛ BTZODϝιουʹஔ͖͍͑ͯ͘ ˓ ৽نͰ BTZODϝιουΛ࡞ͯ͠ঃʑʹஔ͖͍͑ͯ͘ Өڹൣғ͕ͯ͘ஔ͕େมͳͱ͖ ˙ 3Y4XJGU4XJGU$PODVSSFODZରԠόʔδϣϯ·ͰΞοϓσʔτͯ͠ 0CTFSWBCMFˠBTZODม ˙ ΫϩʔδϟXJUI$IFDLFE 5ISPXJOH $POUJOVBUJPOΛͬͯ BTZODʹม ˔ ϦϦʔεલʹ֤04όʔδϣϯͰͷ2"Λߦ͏ IUUQTGPSVNTTXJGUPSHUDPODVSSFODZJOTXJGUBOEDPODVSSFODZJOTXJGUBOE
·ͱΊ
mixi, Inc. ·ͱΊ ˔ ΈͯͶʹ4XJGU$PODVSSFODZΛಋೖ͢Δʹܾ͋ͨͬͯΊͨ͜ͱΛɺݕ౼աఔͰग़͖ͯͨબࢶͱͱ ʹઆ໌ ˓ ň͏ͪͰ͜͏ܾΊͨΑʼnňͬͪ͜ͷ΄͏͕͍͍Μ͡Όͳ͍ ʼnͱ͍͏πΠʔτͰΓ্͕͍ͬͯͨΒخ͍͠ ˔
࣮ࡍʹಋೖͯ͠ΈͯಘΒΕͨݟʹ͍ͭͯॱ࣍ൃ৴͍͖͍ͯͨ͠
mixi, Inc.