Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift Concurrencyを導入するにあたって決めたこと
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
3k
業務と両立できる!開発環境の改善!
hicka04
2
3.2k
Other Decks in Programming
See All in Programming
Workers Cache を知る
syumai
0
320
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
200
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.2k
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
370
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
setup-vp GitLab対応の裏側
naokihaba
0
140
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
30
13k
The Rails Doctrine Decade
koic
2
430
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
280
FreeBSDでZabbixを動かす
kenkino
0
340
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Tell your own story through comics
letsgokoyo
1
1.1k
Paper Plane
katiecoart
PRO
4
53k
Music & Morning Musume
bryan
48
7.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Building an army of robots
kneath
307
47k
How Software Deployment tools have changed in the past 20 years
geshan
2
34k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
How STYLIGHT went responsive
nonsquared
100
6.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
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.