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
570
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
570
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
160
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
410
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
790
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
460
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
360
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
0
270
APNsからLive Activityを開始する話
yumnumm
0
160
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
280
残高管理から台帳サービスへの進化
artoy
0
190
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
160
SREの越境 / SRE Collaboration
y0hgi
2
300
Domain-Driven Transformation
hschwentner
2
2.3k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
630
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Making Projects Easy
brettharned
120
6.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
360
Code Review Best Practice
trishagee
74
20k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Become a Pro
speakerdeck
PRO
31
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Building an army of robots
kneath
307
47k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
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