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.5k
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
900
Swift Package Mangerのバグを直した話
k_koheyi
2
1.4k
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
120
[社内勉強会]Combineの説明
k_koheyi
0
29
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
140
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
180
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
2.7k
Visitorパターン
k_koheyi
0
150
Application Design 勉強会23-25章
k_koheyi
0
62
Other Decks in Programming
See All in Programming
Androidアプリの One Experience リリース
nein37
0
1.2k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
710
ASP.NET Core の OpenAPIサポート
h455h1
0
120
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
600
テストコード書いてみませんか?
onopon
2
340
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
1
460
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
The Invisible Side of Design
smashingmag
299
50k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
4 Signs Your Business is Dying
shpigford
182
22k
Making the Leap to Tech Lead
cromwellryan
133
9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
How to Think Like a Performance Engineer
csswizardry
22
1.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