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
2
1.1k
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 Package Mangerのバグを直した話
k_koheyi
2
640
STORES 決済で使っているLoggerの実装を刷新した話
k_koheyi
0
190
BitriseのCredits-Basedな 新プランの利用と改善
k_koheyi
0
620
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
77
[社内勉強会]Combineの説明
k_koheyi
0
15
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
110
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
90
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
2.5k
Visitorパターン
k_koheyi
0
110
Other Decks in Programming
See All in Programming
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
150
코틀린으로 멀티플랫폼 만들기
pangmoo
0
150
ゆるい個人開発のススメ
kuroppe1819
10
990
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
410
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
2 週間で Twitter Bot を作ってみた
contour_gara
0
370
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
130
Featured
See All Featured
Visualization
eitanlees
136
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Become a Pro
speakerdeck
PRO
11
4.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Optimizing for Happiness
mojombo
370
69k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
Infographics Made Easy
chrislema
238
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Why Our Code Smells
bkeepers
PRO
331
56k
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