Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
danger-swift-kantoku
Search
Elvis Shi
February 22, 2022
Programming
650
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
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
550
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
540
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
160
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
400
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
780
How did I build an Open-Source SwiftUI Toast Library
lovee
1
190
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
390
Observation のあれこれ / A brief introduction about Observation
lovee
3
450
Other Decks in Programming
See All in Programming
Java 27新機能 / Java 27 new features
kishida
2
150
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
すこし踏み込む CancellationToken
htkym
2
660
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
220
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
250
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.8k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
360
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
FreeBSDでZabbixを動かす
kenkino
0
310
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
Being A Developer After 40
akosma
91
590k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
710
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Making the Leap to Tech Lead
cromwellryan
135
10k
The agentic SEO stack - context over prompts
schlessera
0
940
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
Practical Orchestrator
shlominoach
192
12k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
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