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
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift Reflection
About Swift Reflection Pitch
[email protected]
January 20, 2023
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
300
Swift compiler 101 & How async function works
shiz
0
110
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
360
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
2.2k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
16k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
740
複雑さに立ち向かうためのコードリーディング入門
shiz
35
15k
Swift Observation
shiz
5
930
Swift Concurrency Next Step
shiz
7
9.2k
Other Decks in Programming
See All in Programming
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
710
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
A2UI という光を覗いてみる
satohjohn
1
140
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
540
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Facilitating Awesome Meetings
lara
57
7k
Optimizing for Happiness
mojombo
378
71k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
New Earth Scene 8
popppiees
3
2.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
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