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
1.1k
Swift Package Mangerのバグを直した話
k_koheyi
2
1.5k
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
140
[社内勉強会]Combineの説明
k_koheyi
0
38
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
170
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
220
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
2.9k
Other Decks in Programming
See All in Programming
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
420
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
340
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.5k
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
220
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
250
Swift Updates - Learn Languages 2025
koher
2
450
ECS初心者の仲間 – TUIツール「e1s」の紹介
keidarcy
0
150
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
380
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
810
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
700
print("Hello, World")
eddie
1
490
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Producing Creativity
orderedlist
PRO
347
40k
Site-Speed That Sticks
csswizardry
10
810
Agile that works and the tools we love
rasmusluckow
330
21k
Music & Morning Musume
bryan
46
6.8k
Embracing the Ebb and Flow
colly
87
4.8k
Designing for Performance
lara
610
69k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Scaling GitHub
holman
463
140k
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