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-async-algorithms...? へえ…面白そうじゃん…?
Search
k-kohey
April 08, 2022
Programming
3
1.6k
swift-async-algorithms...? へえ…面白そうじゃん…?
2022/04/08に社内で行ったLT会にて使用した資料
k-kohey
April 08, 2022
Tweet
Share
More Decks by k-kohey
See All by k-kohey
ゲームボーイアドバンスでSwiftを動かそう
k_koheyi
0
1k
Swift Package Mangerのバグを直した話
k_koheyi
2
1.4k
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
130
[社内勉強会]Combineの説明
k_koheyi
0
33
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
160
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
200
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
2.7k
Visitorパターン
k_koheyi
0
180
Application Design 勉強会23-25章
k_koheyi
0
69
Other Decks in Programming
See All in Programming
The Evolution of the CRuby Build System
kateinoigakukun
0
730
SwiftUI API Design Lessons
niw
1
300
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
130
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
170
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1.1k
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
170
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
Optimizing JRuby 10
headius
0
500
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
320
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
130
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
490
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
4
1.2k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Automating Front-end Workflow
addyosmani
1370
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Designing Experiences People Love
moore
142
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Applications with DynamoDB
mza
94
6.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A designer walks into a library…
pauljervisheath
205
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
800
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Transcript
LLPIFZ !L@LPIFZJ TXJGUBTZODBMHPSJUINTʁ ͑ʜ໘നͦ͏͡ΌΜʜʁ ୈೋճνΩνΩ-5ձ
͡Ίʹ w TXJGUBTZODBMHPSJUINTͱ͍͏044͕ ʹ"QQMF͔Βൃද͞Ε·ͨ͠ w BTZODBXBJUʹରԠͨ͠ɺ࣌ؒʹجͮ͘Ξ ϧΰϦζϜΛ࣮ͨ͠ͷ w ࣌ͰЌ൛ w
͢Ͱʹ(JU)VC͔ΒӾཡՄೳ
͡Ίʹ w ϕʔλ൛Ͱ͕͢υΩϡϝϯτ ๛ʹ͔͔Ε͍ͯ·͢ w ֤ϑΝΠϧΛݟΔͱɺఏڙ͞ Ε͍͑ΔΠϯλϑΣʔεͱͦ ͷ࣮͕؆୯ʹΘ͔Γ·͢
͡Ίʹ w ϕʔλ൛Ͱ͕͢υΩϡϝϯτ ๛ʹ͔͔Ε͍ͯ·͢ w ֤ϑΝΠϧΛݟΔͱɺఏڙ͞ Ε͍͑ΔΠϯλϑΣʔεͱͦ ͷ࣮͕؆୯ʹΘ͔Γ·͢ ࠓճ υΩϡϝϯτͷใ࣮ࡍʹ৮ͬͯΈͨײΛجʹ
TXJGUBTZODBMHPSJUINT ʹ͍ͭͯ؆୯ʹհ͠·͢🙌
TXJGUBTZODBMHPSJUINT ֓ཁ w 3&"%.&ʹ͜ͷ044ͷΰʔϧ͕࣍ͷΑ͏ʹઆ໌͞Ε͍ͯΔ w ୈҰڃΦϒδΣΫτͱBTZODBXBJUͷ౷߹ w λΠϜϕʔεΞϧΰϦζϜͷఏڙ w 3Yʹ͓͚ΔEFCPVODFUISPUUMFʹڍ͛ΒΕΔ࣌ؒʹؔ͢ΔͷɺNFSHFDPNCJOF-BUFTUʹ
ڍ͛ΒΕΔॱংʹؔ͢Δͷ·Ͱ w ΫϩεϓϥτοϑΥʔϜ͓ΑͼΦʔϓϯιʔε w 4XJGU1BDLBHF.BOBHFS͔ΒಋೖՄೳ w ؆୯ʹோΊͨײͱͯ͠ 88%$ʹͯൃද͞Εͨ "TZOD4FRVFODFΛͬͱศརʹ͑ΔΑ͏ʹ͠·ͨ͠ʂͱ͍͏༰ͩͬͨ
"TZOD 4FRVFODFʁ
"TZOD 4FRVFODF BTZODISPOPVTͱTFRVFODF ྆ํͷੑ࣭Λซͤ࣋ͭʜ― ϓϩτίϧ
"TZOD4FRVFODF 4FRVFODFͱ w 4FRVFODF1SPUPDPM"SSBZ %JDUJPOBSZ͕ద߹͍ͯ͠Δ w NBQ fi MUFSͳͲͷΠϯλϑΣʔεΛ ఏڙ
w 4FRVFODF1SPUPDPM*UFSBUPSͷ࣮ Λཁٻ͠ɺͦͷ*UFSBUPSΛར༻͠ ͯGPSJOϧʔϓ͔ΒΛऔΓग़͢͜ͱ ͕Ͱ͖Δ
"TZOD4FRVFODF BTZODͳ4FRVFODFͱ w ඇಉظͰ͕ܾఆ͞ΕΔͷʹରͯ͠ 4FRVFODFͱಉ༷ʹGPSJOϧʔϓΛదԠ Ͱ͖Δ w 4FRVFODFͱಉ༷ʹNBQ fi MUFSͷΑ͏
ͳߴڃ͕ؔఏڙ͞Ε͍ͯΔ
TXJGUBTZODBMHPSJUINTͷ"1* 'VODUJPOBM3FBDUJWF1SPHSBNNJOHʢҎ߱'31ʣͬΆ͍ΠϯλϑΣʔε w '31ʹࣅͨΠϯλϑΣʔε w ෳͷ"TZOD4FRVFODFΛ݁߹͢Δ ϝιου w NFSHF[JQ
w ࣌ؒతͳૢ࡞Λߦ͏ϝιου w EFCPVODFUISPUUMF
TXJGUBTZODBMHPSJUINTͷ"1* 'VODUJPOBM3FBDUJWF1SPHSBNNJOHʢҎ߱'31ʣͬΆ͍ΠϯλϑΣʔε w "TZOD$IBOOFM w 3Yͷ4VCKFDUʹࣅ͍ͯͯɺΛ௨ͨ͠Γ௨ͨ͠ΓߪಡͰ͖Δ w "TZOD4FRVFODFʹద߹͓͠ΓɺGPSJOϧʔϓΛదԠՄೳ w CBDLQSFTTVSFͷ࣮ݱ
w Πϕϯτ͕௨͞ΕΔͱॲཧΛTVTQFOE͠ɺߪಡଆ͕ͦͷΛಡ ΈऔΔͱSFTVNF͢ΔௐʹΑͬͯɺߪಡଆͷॲཧΛ্ճΔ ͰΠϕϯτ͕௨͞Εͳ͍Α͏ʹ͍ͯ͠Δ w ͜ͷΑ͏ͳ੍ޚ͕εϨουΛϩοΫͨ͠Γͯ͠ؤுΔͷͰͳ ͘4XJGU$PODSSFODZͰ͖ͪΜͱಈ͘Α͏ʹ୲อ͞ΕͯΔͷ ҆৺ײ͋Δ͠ɺ"TZOD$IBOOFMͷ࠷େͷಛͳͷ͔ͳͱײͨ͡
TXJGUBTZODBMHPSJUINTͷ"1* "TZOD4FRVFODFͱୈҰڃΦϒδΣΫτΛ݁߹͢ΔΠϯλϑΣʔε w 4FRVFODFͷϦςϥϧ͔Β؆୯ʹ"TZOD4FRVFODFΛऔಘͰ͖ΔϓϩύςΟ w ͜ͷϓϩύςΟ͔Βಘͨͱଞͷ"TZOD4FRVFODFΛNFSHFͨ͠Γͱ ׆༻Ͱ͖Δ
ͳΔ΄Ͳʜ
4XJGU$PODVSSFODZͰ '31ͬΆ͍ࣄ͕Ͱ͖Δͬͯʜ ίτʜ
$PNCJOFͰ Α͘ͳ͍ʁʂ
$PNCJOFͱͷൺֱ TXJGUBTZODBMHPSJUINTͷಛ w 044Ͱ͋Δ͜ͱ w ෆ۩߹ڍಈ͕͔Βͳ͍ͱ͜Ζ͕͋ΕɺιʔείʔυΛݟͯ શཧղͰ͖Δ w ΫϩεϓϥοτϑΥʔϜରԠͰ͋Δ͜ͱ
w 04ʹґଘ͍ͯ͠ͳ͍ͨΊɺ04ґଘͷෆ۩߹͕ى͖ʹ͍͘ʁ w J04ͰJ04Ͱɺ͋Δ͍8JOEPXTͰ4XJGUͷόʔδϣϯ͕ಉ͡ͳΒશͯͰಉ ͡ڍಈΛ͢Δͱ͍͏ظ w 4XJGUΒ͍͠खଓ͖తͳهड़ͰετϦʔϜΛѻ͑Δ͜ͱ
$PNCJOFͱͷൺֱ ίʔυͷࠩ TXJGUBTZODBMHPSJUINT $PNCJOF ͲͪΒFNBJMͱVTFS*%ͷೖྗ͕͋Ε ϩάΠϯϘλϯΛ"DUJWFʹ͢Δॲཧ
$PNCJOFͱͷൺֱ ίʔυͷࠩ TXJGUBTZODBMHPSJUINT $PNCJOF GPSJOUSZDBUDIͳͲͷ੍ޚจ͕ͦͷ··͑ΔͷͰ ΑΓ4XJGUΒ͘͠
͓ΘΓʹ ৮ͬͯΈͨײ w TXJGUBTZODBMHPSJUINTΛ͏ͱGPSJOUSZDBUDIͳͲͷ4XJGUΒ͍͠هड़Λ༻͍ͯ ैདྷ$PNCJOFͰߦ͍ͬͯͨΑ͏ͳૢ࡞͕ՄೳͱͳΔ w "TZOD4FRVFODFΛͬͯGPSJOϧʔϓ͢Δͱɺ͕ྲྀΕͯ͘Δ·Ͱػ͢ΔͷͰɺ َ໓ͷਕແݶϧʔϓฤʹಥೖ͢Δ w "TZOD$IBOOFMͷ1VC4VCΈ͕ڧ͍ͷͰɺ$PNCJOFͷ!1VCMJTFEͷΑ͏ͳ
1SPQFSUZ8SBQQFS͕ग़ͯ΄͍͠ w ݱࡏͷͷΞΫηεɺͦͯ͠ೖΛͬͱײతʹ w ࠓճհͯ͠ͳ͍ศརͳ"1*͋Γ·͢
͓ΘΓʂ 4XJGU$PODVSSFODZ $PNCJOFૉਓͳͷͰؒҧͬͯΔ͋ͬͨΒ ڭ͑ͯԼ͍͞ʙ🙌
ࢀߟจݙʙ w IUUQTXXXTXJGUPSHCMPHTXJGUBTZODBMHPSJUINT w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUBTZODTFRVFODF w IUUQTXXXHFUSFWVFDPQSP fi MFE@EBUFJTTVFTTXJGUBTZOD BMHPSJUINT
w IUUQTXXXTMJEFTIBSFOFU[PFUSPQFSFBDUJWFTZTUFNTCBDLQSFTTVSF