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
danger-swift-kantoku
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Elvis Shi
February 22, 2022
Programming
630
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
danger-swift-kantoku
Elvis Shi
February 22, 2022
More Decks by Elvis Shi
See All by Elvis Shi
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
450
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
150
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
390
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
730
How did I build an Open-Source SwiftUI Toast Library
lovee
1
170
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
1.3k
SwiftUIで二重スクロール作ってみた / When I tried to make a dual-scroll-ish view in SwiftUI
lovee
1
380
Observation のあれこれ / A brief introduction about Observation
lovee
3
440
ChatGPT 時代の勉強 / Learning under ChatGPT era
lovee
27
9k
Other Decks in Programming
See All in Programming
技術記事、 専門家としてのプログラマ、 言語化
mizchi
4
1.9k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
Contextとはなにか
chiroruxx
0
290
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
LLM Plugin for Node-REDの利用方法と開発について
404background
0
170
Oxcを導入して開発体験が向上した話
yug1224
4
310
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.4k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
190
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Invisible Side of Design
smashingmag
302
52k
How STYLIGHT went responsive
nonsquared
100
6.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Building a Scalable Design System with Sketch
lauravandoore
463
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Transcript
9DPEFͷϏϧυϫʔχϯάΛ 13ʹใࠂ͢Δ%BOHFS4XJGUϓϥάΠϯ͕ 3VCZπʔϧͷग़ྗʹґଘͯ͠Δ͔Β Զ͕৽͍͠ͷΛ࡞ͬͯΔ ஶɿܙྤ ֆ˞ɿ͍Β͢ͱ ˞ΠϥετૉࡐҾ༻Ͱ͢ɻ
4XJGUѪձจݿWPM
ʲୈרʳ 13ͷ%BOHFSใࠂʹ 9DPEFͷϏϧυϫʔχϯά ཉ͍͠ΑͶʁ
ʲୈষʳ%BOHFSͬͯɺͳʔʹʁ w ϦϙδτϦʔΛ੩తݕࠪ͢Δπʔϧ w νΣοΫ͍߲ͨ͠Λ%BOHFS fi MF ͱ͍͏εΫϦϓτͰॻ͚৭ʑ
ػցతʹνΣοΫͯ͘͠ΕΔ w ͞·͟·ͳϓϥάΠϯͰ͍ΖΜͳ ͜ͱ͕Ͱ͖Δ w 4XJGUͰεΫϦϓτॻ͚Δ%BOHFS 4XJGU͋Δ w IUUQTHJUIVCDPNEBOHFSTXJGU
ʲୈষʳ9DPEFͷϏϧυϫʔχϯάใࠂʁ w 9DPEF͕Ϗϧυ࣌ʹ༷ʑͳϫʔχϯ άΤϥʔΛు͖ग़ͯ͘͠ΕΔ w %FQSFDBUFE3FOBNFใ͚ͩ Ͱͳ͘ϓϩδΣΫτઃఆͳͲͷ ϫʔχϯά͋Δ w 4XJGU-JOU͕͋ΕͦΕͷϫʔχ
ϯάΤϥʔు͖ग़ͯ͘͠ΕΔ w ͜Μͳศརͳͷવ13ͷίϝ ϯτͰཉ͍͠ΑͶʁʁ w ࣮ͦΜͳϓϥάΠϯ͕طʹ͋Δ
ʲୈষʳEBOHFSTXJGUYDPEFTVNNBSZʁ w 9DPEFͷϏϧυ֓ཁΛरͬͯ͘ΕΔ ϓϥάΠϯ w ϫʔχϯάΤϥʔ͚ͩͰͳ͘ɺ ςετͷ݁Ռίϝϯτߘͯ͠ ͘ΕΔ w ͨͩ͠YDQSFUUZٴͼYDQSFUUZKTPO
GPSNBUUFSͷग़ྗ͕ඞཁ w ͜ΕΒͷπʔϧͷΠϯετʔϧʹ 3VCZͷύοέʔδϚωʔδϟʔ (FN#VOEMFS͕ඞཁ
3VCZґଘݏͩʂ
ʲୈרʳ ։ൃڥ͔Β 3VCZΛഉআ͍ͨ͠ΑͶʁ
ʲୈষʳ3VCZͷݖݶʁ w NBD043VCZڥΛଂ͍ͯ͠Δ w ؆୯ͳ3VCZεΫϦϓτ࡞ͳΒ ͙͢Ͱ͖ΔͷͰඇৗʹָ w ͱ͜Ζ͕(FNͰԿ͔֎෦ύο έʔδΛೖΕΑ͏ͱ͢Δͱ࣮ߦऀ ͷݖݶͱΠϯετʔϧઌͷύεͷ
ݖݶ͕߹Θͳ͍ͨΊ͙ࣦ͢ഊ͢Δ w ܦݧऀͳΒSCFOWͷಋೖͰղܾͰ͖ Δ w ͔͠͠ॳ৺ऀͦΕΛΒͳ͍͠ άά͙ͬͯ͢DINPEͱ͔TVEP ͱ͔ѱຐͷܖΛͤ͞Α͏ͱ͢Δ
ʲୈষʳ͡Ό͋SCFOWಋೖͤ͞Εʁ w SCFOWͷಋೖ)PNFCSFXʹґଘ͢Δ w )PNFCSFXݸਓ։ൃͳΒศརͩ ͕ɺόʔδϣϯࢦఆ͕Ͱ͖ͳ͍ͨ ΊɺΈΜͳͷڥΛ౷Ұ͍ͨ͠νʔ Ϝ։ൃʹෆ͖ w ͞Βʹ)PNFCSFXύοέʔδ
άϩʔόϧڥͰͷΠϯετʔϧʹ ͳΔͷͰɺͦΕԚ͢ͱෳϓϩδΣ Ϋτͷಉ࣌ਐߦʹࢧো͕ग़͔Ͷͳ͍ w SCFOWͷӡ༻TIFMMϓϩϑΝΠϧͷॻ ͖͑ඞཁ w ڥߏஙͷͨΊͷεΫϦϓτࣗମ͕ ॻ͖ʹ͍͘
ʲୈষʳͦΜͳʹ3VCZऔ͍͍ͬͨͷʁ w ͦͦ%BOHFS͔Β%BOHFS4XJGUʹ Ҡߦͨ͠ͷ3VCZΛॻ͖ͨ͘ͳ͍͔Β w ͩͬͯ4XJGU͕ॻ͖͍ͨΜʂ w ΏΊΈͷձࣾੑ࣭తʹάϩʔόϧڥ ΛԚ͢ͷͳΔ͘ආ͚͍ͨ w
ৗʹԿ͔৽ϓϩδΣΫτ͕ੜ·ΕΔ w ҰਓͰෳͷҊ݅ΛݟΔͷͨΓલ w ଐਓԽࢭͷͨΊʹϩʔςʔγϣϯ ඞཁ w ͳͷͰڥߏஙάϩʔόϧͰͳ͘ ֤ϓϩδΣΫτࣗͷϩʔΧϧڥͰ ͍݁ͨ͠
ŷƤƶƐ3VCZ ㆮŧƑƒबŻƦƍŧ
ʲୈרʳ ΤϯδχΞͨΔऀ ͳ͍࡞Δ͔͠ͳ͍ΑͶʁ
ʲୈষʳYDSFTVMUͬͯͷ͕͋ΔΒ͍͠Αʁ w 9DPEF͔Β࠾༻͞ΕͨϏϧυ݁Ռ όϯυϧ w Ϗϧυϩά͚ͩͰͳ͘ɺςετʹ ؔ࿈͢Δใڭ͑ͯ͘ΕΔ w ͨͩ͠தόΠφϦͳͷͰղੳ ͢Δͷʹެࣜπʔϧ͕ඞཁ
w ࣮ຊՈ%BOHFSͷϓϥάΠϯ EBOHFSYDPEF@TVNNBSZطʹ YDSFTVMUʹରԠࡁΈ w ͔͠͠ຊՈ%BOHFS3VCZͩ ͔Βෆ࠾༻
ʲୈষʳͲ͏ͬͯϓϥάΠϯ࡞Δͷʁ w %BOHFS4XJGUͷϓϥάΠϯ੍࡞ͳΒ ܦݧ͋Δ w طʹEBOHFSTXJGUTIPLJ EBOHFSTXJGUFEBΛ࡞ͬͨ w ௨ৗͷϥΠϒϥϦͱಉ͡Α͏ͳײ֮ Ͱ࡞ΕΔ
w %BOHFS4XJGUΛґଘͱͯ͠Ճ w ඞཁͳλΠϛϯάͰ%BOHFS%4- Λݺͼग़͍͍ͤ
ʲୈষʳͲ͏͏ͷʁ w %BOHFS4XJGUͷґଘύοέʔδʹ EBOHFSTXJGULBOUPLVΛՃ w %BOHFS fi MFTXJGUͰEBOHFS LBOUPLVQBSTF9$3FTVMU'JMFΛݺͼ
ग़͠YDSFTVMUϑΝΠϧΛ͢ w Ҏ্
ね?簡単でしょ?
ʲୈרʳ ͜ΜͳૉΒ͍͠ͷ ͬͱৄ͘͠Γ͍ͨΑͶʁ
ʲୈষʳͲͷΑ͏ʹಈ͘ͷʁ w %BOHFS4XJGUΛ$*αʔϏεͰճ͢ ͱɺϓϥάΠϯ͕YDSFTVMUΛύʔε ͢Δ w ϫʔχϯάΤϥʔͳͲͷ*TTVF͕ ͋ͬͨΒ%BOHFS4XJGUΛ௨ͯͦ͡ ͷ··13ϖʔδʹίϝϯτͯ͘͠ ΕΔ
w *TTVFʹϑΝΠϧύεͱߦ͕ඥ ͚͞Εɺ͞ΒʹͦΕ͕ࠓճͷࠩ ൣғͳΒɺ*OMJOFͰίϝϯτ ͯ͘͠ΕΔ w ͦΕҎ֎ͷ*TTVF௨ৗίϝϯτ ͯ͘͠ΕΔ
ʲୈষʳ࣮ʹ͓͍ͯͷ৺ಘͳͲʁ w YDFSTVMUΛࣗྗͰύʔε͢Δͷ ඇৗʹେม w 9$3FTVMU,JUͱ͍͏·͞ʹͦͷҝ ͷϥΠϒϥϦʔ͕͋Δ w ࠶ൃ໌͠ͳ͍͍ͯ͘ंྠ࠶ൃ໌͠
ͳ͍͍ͯ͘Αʢ࠶ؼʣ w ߦࢦఆʹؾΛ͚ͭΔ͖ w YDSFTVMU͔Βऔಘͨ͠ୈԿߦͷ ݁Ռ͔Β͑ͨ݁Ռ w Ұํ(JU)VCͰୈԿߦʹ*OMJOF ίϝϯτ͍͔ͨ࣌͠Β͑ͨ ݁Ռ
ʲୈষʳϏϧυϩά͔͠ରԠ͠ͳ͍ͷʁ w ࠓޙςετϨϙʔτΧόϨοδ ͳͲͷίϝϯτରԠ͍͖͍ͯͨ͠ w ͜ΕΒͷใશͯYDSFTVMU͔Β ؆୯ʹऔಘͰ͖Δ w ΧελϚΠζੑߋʹ্͍͖ͯ͠ ͍ͨ
w ࠩҎ֎ͷϫʔχϯάΛແࢹͨ͠ Γɺϫʔχϯά͕Ұఆ͑Δͱ 13Λࣦഊʹ͢ΔࢦఆೖΕ͍ͨ
Զͨͪͷઓ͍ ͜Ε͔Βͩ
ΩϟϥհɿEBOHFSTXJGULBOUPLV w ຊ࡞ͷओਓެ w ਓ͕ؒಡΊͳ͍όΠφϦϑΝΠϧ ͰΊ͛ͳ͍࠳͚ͳ͍ؤுΓ w ్தͷβɾओਓެΩϟϥ w IUUQTHJUIVCDPNZVNFNJ
JODEBOHFSTXJGULBOUPLV
ΩϟϥհɿZVNFNJJOD w EBOHFSTXJGULBOUPLVͷอޢऀ w ༷ʑͳاۀ͞Μ͔Β։ൃͷ૬ஊΛ ड͚ͯΔ#O#$ͷձࣾΒ͍͠ w ݱࡏJ04ΤϯδχΞΛؚΉ֤৬छ ͷ࠾༻׆ಈΛߦͳ͍ͬͯΔ w
IUUQTXXXZVNFNJDPKQ
ஶऀհɿܙྤ w ͱʹ͔͘4XJGU৴ऀ w ݩ"VUP-BZPVUઈର˓͢Ϛϯ w ݱࡏ3VCZઈର˓͢ϚϯͷงғؾΛ ৢ͠ग़ͯ͠Δʂʁ w UXJUUFSɿ!MPWFF
w RJJUBɿMPWFF w (JU)VCɿFMIPTIJOP