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
[email protected]
January 20, 2023
Programming
1
210
Swift Reflection
About Swift Reflection Pitch
[email protected]
January 20, 2023
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
Swift compiler 101 & How async function works
shiz
0
22
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
230
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.5k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
14k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
500
複雑さに立ち向かうためのコードリーディング入門
shiz
35
13k
Swift Observation
shiz
5
810
Swift Concurrency Next Step
shiz
7
8k
そろそろSwift Concurrency
shiz
1
490
Other Decks in Programming
See All in Programming
AI Agentを利用したAndroid開発について
yuchan2215
0
210
体得しよう!RSA暗号の原理と解読
laysakura
3
520
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
880
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
740
生産性アップのためのAI個人活用
kunoyasu
0
630
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
370
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.5k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
180
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
110
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
190
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
140
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
41
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
YesSQL, Process and Tooling at Scale
rocio
172
14k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The Cult of Friendly URLs
andyhume
78
6.3k
Six Lessons from altMBA
skipperchong
27
3.7k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Designing for Performance
lara
606
69k
Visualization
eitanlees
146
15k
Site-Speed That Sticks
csswizardry
4
450
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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