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
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.9k
バグを直したら useEffect が消えた
colorful12
3
660
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
Go 1.27 における memory allocation の高速化
andpad
0
280
AIが無かった頃の素敵な出会いの話
codmoninc
1
480
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
540
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
320
Flow は今どうなっているか
mizdra
PRO
0
660
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
6.5k
仕様駆動開発の消費期限
watany
20
8.8k
不幸な GC
chencmd
0
290
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
Ethics towards AI in product and experience design
skipperchong
2
350
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
660
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
810
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The Language of Interfaces
destraynor
162
27k
Making Projects Easy
brettharned
120
6.7k
Navigating Team Friction
lara
192
16k
Making the Leap to Tech Lead
cromwellryan
135
10k
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.