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 Reflection
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
[email protected]
January 20, 2023
Programming
1
280
Swift Reflection
About Swift Reflection Pitch
[email protected]
January 20, 2023
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
220
Swift compiler 101 & How async function works
shiz
0
77
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
330
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
2.1k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
16k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
680
複雑さに立ち向かうためのコードリーディング入門
shiz
35
14k
Swift Observation
shiz
5
900
Swift Concurrency Next Step
shiz
7
8.8k
Other Decks in Programming
See All in Programming
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
680
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
登壇資料を作る時に意識していること #登壇資料_findy
konifar
3
900
Architectural Extensions
denyspoltorak
0
270
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
110
CSC307 Lecture 04
javiergs
PRO
0
650
Apache Iceberg V3 and migration to V3
tomtanaka
0
150
組織で育むオブザーバビリティ
ryota_hnk
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
90
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Everyday Curiosity
cassininazir
0
130
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Automating Front-end Workflow
addyosmani
1371
200k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How STYLIGHT went responsive
nonsquared
100
6k
Practical Orchestrator
shlominoach
191
11k
Transcript
ϦϑϨΫγϣϯ 3FGMFDUJPO Θ͍Θ͍TXJGUD TIJ[
·ͩ1JUDIஈ֊ͷใͳͷͰมΘ ΔՄೳੑ͋Γ ͳ͘ͳΔՄೳੑ ࣌ͷใ
֓ཁ
ϦϑϨΫγϣϯͱʁ w ϓϩάϥϜͷதͰͦͷϓϩάϥϜʹؚ·ΕΔܕมϝιουͷϝλใΛ ࢀরૢ࡞Ͱ͖ΔΑ͏ʹ͢ΔΈ w ݴޠઃܭࣗମΛมߋ͢Δ͜ͱͳ͘ɺݴޠΛ࣮ߦ࣌ʹಈతʹมߋͰ͖Δ ֓ཁϦϑϨΫγϣϯͱʁ IUUQTYUFDIOJLLFJDPNJUBSUJDMF,FZXPSE ˞ϝλใσʔλͦͷͷͰͳ͘ɺͦͷσʔλΛઆ໌͢Δใ ଳใ
σʔλ ϝλใ ໊લ ܕใ IUUQTXBJJJOGPXPSEIUNM
.JSSPSTUSVDU w 4XJGUͰϦϑϨΫγϣϯΛ࣮ߦ͢ΔͨΊͷ"1*Λఏڙ͢ΔTUSVDU w 4XJGUFWPMVUJPOͷϓϩηε͕࢝·Δલ͔Β͋ͬͨݹ͍ػೳ ֓ཁ4XJGUͷϦϑϨΫγϣϯ .JSSPS ग़ྗ݁Ռ GJFME/BNF0QUJPOBM OBNF
GJFME7BMVF4QBSLZ GJFME5ZQF4USJOH GJFME/BNF0QUJPOBM BHF GJFME7BMVF GJFME5ZQF*OU IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUNJSSPS
.JSSPSͷ
.JSSPSͰͰ͖ͳ͍͜ͱ .JSSPSͰͰ͖ͳ͍͜ͱ ϝλλΠϓ͔Βܕใ͕औಘͰ͖ͳ͍ DBTF໊Λऔಘ͢Δखஈ͕ͳ͍ δΣωϦοΫҾ͔Β۩ମతͳϝλใΛऔಘͰ͖ͳ͍ "OZ)BTIBCMFʹมՄೳ͔Θ͔Βͳ͍ͷͰΤϥʔ
.JSSPSͰͰ͖ͳ͍͜ͱ w Πϯελϯε͕ͳ͍ͱܕใ͕Θ͔Βͳ͍ w நԽͨ͠ܕ͔Β࣮ࡍͷܕͷใΛऔΓग़ͤͳ͍ .JSSPSͰͰ͖ͳ͍͜ͱ $VTUPN4USJOH$POWFSUJCMFʹ४ڌ ࣮ίϯύΠϥ ͬͱ৭Μͳ͜ͱΛ͍ͬͯΔ
ఏҊ༰ IUUQTGPSVNTTXJGUPSHUQJUDISF fl FDUJPO
3FGMFDUJPOϞδϡʔϧ w ϦϑϨΫγϣϯΛ࣮ߦ͢ΔͨΊͷߴϨϕϧͷ"1*Λఏڙ͢ΔϞδϡʔϧ w طଘͷ.JSSPSΑΓϦϑϨΫγϣϯΛΑΓ؆୯ʹΑΓૢ࡞͘͢͢͠Δ w ։ൃऀ͜Ε·ͰΑΓ͔ͳΓଟ͘ͷϦϑϨΫγϣϯใΛऔಘͰ͖Δ ఏҊ༰3F fl FDUJPOϞδϡʔϧ
.JSSPSΛ֦ு͠ͳ͍ཧ༝ .JSSPS4XJGUϞδϡʔϧʹ͋ΔɻϦϑϨΫγϣϯશͯͷ։ൃऀ͕ඞཁͳ ༁Ͱͳ͍ɻ4XJGUϞδϡʔϧ$PSFͷ"1*͚ͩஔ͖͘ .JSSPSͷݱࡏͷઃܭɺࠓճఏҊ͍ͯ͠Δ"1*ͷઃܭʹͳ͍͍͔ͭ͘ͷύ ϑΥʔϚϯεͷΛղܾ͢Δͷʹద͍ͯ͠Δɻ۩ମతʹΠϯελϯεͷ Λऔಘ͢Δ࣌ʹɺDIJMESFOͷϑΟʔϧυͷܕଈ࣌ʹ FBHBSMZ σϚϯάϧ
͢ΔɻࠓճͷఏҊͷ߹ɺҰͭͷܕใͷΈཉ͍͠߹Ԇͯ͠ MB[JMZ Ұ ͚ͭͩऔಘ͍ͨ͠έʔε͕͋ΔͷͰ߹͍ͬͯͳ͍ ݹ͍"1*Ͱ4XJGUFWPMVUJPOͷϓϩηεΛܦ͍ͯͳ͍ɻࠓճɺ"1*ͷ࠷దͳܗ Λݟ͚ͭΔͨΊʹίϛϡχςΟͷϑΟʔυόοΫΛΒ͏ػձΛઃ͚Δ ఏҊ༰3F fl FDUJPOϞδϡʔϧ.JSSPSΛ֦ு͠ͳ͍ཧ༝
ར༻Πϝʔδ ఏҊ༰3F fl FDUJPOϞδϡʔϧར༻Πϝʔδ 3F fl FDUJPOϞδϡʔϧΛJNQPSU ϝλใ͔Β5ZQFܕΛ࡞ ϑΟʔϧυ͔Β৭ʑͳใΛऔಘͰ͖Δ
ར༻Πϝʔδ ఏҊ༰3F fl FDUJPOϞδϡʔϧར༻Πϝʔδ $BTFܕΛੜ ϓϩύςΟ͔Β৭ʑͳใΛऔಘͰ͖Δ
ར༻Πϝʔδ ఏҊ༰3F fl FDUJPOϞδϡʔϧར༻Πϝʔδ δΣωϦοΫҾͷใΛऔಘ Կ͔ͷ"SSBZͰ͋Δ͔͚ͩΛݟ͍ͯΔ %JDUJPOBSZͰ͋Δ͔͚ͩΛݟ͍ͯΔ
࣮ৄࡉ ఏҊ༰࣮ৄࡉ
ఏҊ༰࣮ৄࡉܕҰཡ 5ZQFTUSVDU 3F fl FDUJPOϞδϡʔϧͷϝΠϯΤϯτϦϙΠϯ τɻBTͷӈଆʹॻ͚Δ͋ΒΏΔܕΛද͢͜ͱ͕ Ͱ͖Δ 'JFMETUSVDU TUSVDUͷ֨ೲϓϩύςΟ DMBTTͷ֨ೲϓϩύςΟ
λϓϧͷݸʑͷཁૉ $BTFTUSVDU FOVNͷݸʑͷDBTF 1BSUJBM5ZQFTUSVDU (FOFSJDͳܕͷϥοϓ͍ͯ͠Δ෦ ྫ"SSBZ*OUͷ"SSBZ ܕҰཡ
5ZQFTUSVDU w 3F fl FDUJPOϞδϡʔϧͷϝΠϯΤϯτϦϙΠϯτ w 4XJGUͰBTͷӈଆʹॻ͚Δ͋ΒΏΔܕΛද͢͜ͱ͕Ͱ͖Δ ఏҊ༰࣮ৄࡉ5ZQFTUSVDU 4XJGUͷϝλλΠϓʹ࠶ͼม
'JFMETUSVDU w TUSVDU·ͨDMBTTʹ֨ೲ͞ΕͨϓϩύςΟɺ·ͨλϓϧͷཁૉ ఏҊ༰࣮ৄࡉ'JFMETUSVDU
$BTFTUSVDU w FOVNͷDBTFͷҰͭΛද͢ ఏҊ༰࣮ৄࡉ$BTFTUSVDU
1BSUJBM5ZQFTUSVDU w (FOFSJDͳܕͷϥοϓ͍ͯ͠Δ෦Λද͢ ఏҊ༰࣮ৄࡉ1BSUJBM5ZQFTUSVDU
WBSQBSUJBM1BSUJBM5ZQF \HFU^ ఏҊ༰࣮ৄࡉ1BSUJBM5ZQFTUSVDU
GVODDSFBUF XJUI5ZQF 5ZQF ఏҊ༰࣮ৄࡉ1BSUJBM5ZQFTUSVDU 1BSUJBM5ZQF͔Β৽͍͠4XJGUͷܕͷΠϯελϯεੜͰ͖Δ <*OU 4USJOH %PVCMF "SSBZ'MPBU> "*OU
#4USJOH $%PVCMF %"SSBZ'MPBU δΣωϦοΫҾͷํ֎ଆ͔ΒͯΊΒΕΔ
কདྷͷݕ౼ࣄ߲ ఏҊ༰কདྷͷݕ౼ࣄ߲
3VOUJNFϞδϡʔϧ ఏҊ༰কདྷͷݕ౼ࣄ߲3VOUJNFϞδϡʔϧ w ϦϑϨΫγϣϯػೳΛఏڙ͢ΔͨΊʹ4XJGU3VOUJNFͷϧʔνϯσʔλ ߏ͕ඞཁ͕ͩɺ΄ͱΜͲͷ։ൃऀ͜͏͍ͬͨػೳΛૢ࡞͢Δ͜ͱ ͳ͍ w ͦ͜Ͱ3VOUJNFͱ௨৴͢Δઐ༻ϞδϡʔϧΛઃ͚͔ͯͳΓϨϕϧͷ"1*Λఏ ڙ͢Δ
ྑ͍͜ͱ w 3F fl FDUJPOϞδϡʔϧͷΑ͏ͳߴϨϕϧͷ"1*Λߏங͘͢͠Δ w Ϩϕϧͷػೳͷ࠶࣮͢Δ͜ͱͰѱ༻Ͱ͖ͳ͍Α͏ʹ͢Δ
ΑΓଟ͘ͷϦϑϨΫγϣϯใͷఏڙ ఏҊ༰কདྷͷݕ౼ࣄ߲ΑΓଟ͘ͷϦϑϨΫγϣϯใͷఏڙ w ଐੑؔɺܭࢉϓϩύςΟ DPNQVUFEQSPQFSUZ ͷใऔಘͰ͖ͳ͍ w ఏڙͰ͖Δ͕ίʔυαΠζ͕૿͑ΔͷͰίετͱൺֱͯ͠ݕ౼͢Δ
ؔ࿈ػೳ ؔ࿈ػೳ
0QU*O3FGMFDUJPO.FUBEBUB w 3F fl FDUBCMFͱ͍͏৽͍͠ϚʔΧʔϓϩτίϧΛՃͯ͠ίϯύΠϧ࣌νΣο ΫͰ͖ΔΑ͏ʹͯ͠ɺϦϑϨΫγϣϯϝλσʔλ ໊લͳͲͷจࣈྻใ ΛΑ Γܕ҆શͰηΩϡΞʹѻ͑ΔΑ͏ʹ͢Δ w
ඞཁͳͷʹ͚ͩϦϑϨΫγϣϯσʔλΛग़ྗ͢ΔͷͰόΠφϦαΠζΛޮ ԽͰ͖Δ w ϦϑϨΫγϣϯϝλσʔλͷग़ྗΦϑʹͯ͠͠·͍ ͦ͏͍͏ϑϥά͕͋Δ ɺ ͜ΕΛ͍ͬͯΔػೳ͕ಈ͔ͳ͘ͳΔͱ͍͏ϦεΫ͕ͳ͘ͳΔ 4XJGU6*ͳͲ ؔ࿈ػೳ0QU*O3F fl FDUJPO.FUBEBUB IUUQTGPSVNTTXJGUPSHUTFPQUJOSF fl FDUJPONFUBEBUB
$VTUPN.FUB"UUSJCVUFT w ϥΠϒϥϦͰΧελϜͷϝλσʔλΛఆٛͰ͖Α͏ʹ͢ΔɻͦΕΛ࣮ߦ࣌ʹ ୳ͯ͠Կ͔Ͱ͖ΔΑ͏ʹ͢Δ w ৽͍͠!SVOUJNF.FUBEBUBΛՃ w ͜ͷଐੑ͕͍ͨܕΧελϜଐੑͱͯ͠༻Ͱ͖Δ ՃͷҾࢦఆͰ͖ Δ
w ϦϑϨΫγϣϯ"1*ͰಛఆͷΧελϜଐੑ͕͍ͨͯ͢ͷએݴΛऩूͰ͖Δ w Ϣʔεέʔεಛఆͷଐੑͷ͍ͨςετͷΈΛ࣮ߦ͢ΔͳͲ IUUQTGPSVNTTXJGUPSHUQJUDIDVTUPNNFUBEBUBBUUSJCVUFT ؔ࿈ػೳ$VTUPN.FUB"UUSJCVUFT