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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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.6k
「家族アルバム みてね」を支えるビルド環境の改善
hicka04
2
2.8k
業務と両立できる!開発環境の改善!
hicka04
2
3.1k
Other Decks in Programming
See All in Programming
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
110
Agentic UI
manfredsteyer
PRO
0
220
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
220
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
170
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.6k
Webフレームワークの ベンチマークについて
yusukebe
0
190
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
190
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
120
AIエージェントで 変わるAndroid開発環境
takahirom
1
370
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
320
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
Discover your Explorer Soul
emna__ayadi
2
1.2k
Google's AI Overviews - The New Search
badams
0
1.1k
Automating Front-end Workflow
addyosmani
1370
210k
Being A Developer After 40
akosma
91
590k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Marketing to machines
jonoalderson
1
5.5k
The SEO Collaboration Effect
kristinabergwall1
1
500
Technical Leadership for Architectural Decision Making
baasie
3
430
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
410
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
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.