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
Elvis Shi
February 22, 2022
Programming
1
440
danger-swift-kantoku
Elvis Shi
February 22, 2022
Tweet
Share
More Decks by Elvis Shi
See All by Elvis Shi
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
370
SwiftUIで二重スクロール作ってみた / When I tried to make a dual-scroll-ish view in SwiftUI
lovee
1
210
Observation のあれこれ / A brief introduction about Observation
lovee
3
320
ChatGPT 時代の勉強 / Learning under ChatGPT era
lovee
25
8k
属人化しない為の勉強会作り / To make tech meetups with less personal dependencies
lovee
0
240
偏見と妄想で語るスクリプト言語としての Swift / Swift as a Scripting Language
lovee
2
720
Decimal、正しく使ってる? / Are you using Decimal correctly?
lovee
4
640
A story about me trying to make a router that manages when, how and which view to transit in a SwiftUI app
lovee
1
360
M1チップの脆弱性M1raclesを読み解く / About the vulnerability on M1 chip called M1racles
lovee
2
1.7k
Other Decks in Programming
See All in Programming
CSC307 Lecture 08
javiergs
PRO
0
330
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
小さな開発会社を作った理由
polidog
0
1.9k
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
CSC307 Lecture 12
javiergs
PRO
0
220
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Building an army of robots
kneath
301
42k
Ruby is Unlike a Banana
tanoku
96
10k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Why Our Code Smells
bkeepers
PRO
332
56k
Automating Front-end Workflow
addyosmani
1362
200k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
How to name files
jennybc
67
96k
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