Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
身近な技術的課題から始めるOSSプロジェクト
Search
kazuhiro4949
November 12, 2019
Technology
0
330
身近な技術的課題から始めるOSSプロジェクト
https://yahoo-nagoya.connpass.com/event/151788/
kazuhiro4949
November 12, 2019
Tweet
Share
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.8k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
610
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
4.2k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
370
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
110
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
320
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
WWDC 2019 AR・ML・その他Apple プラットフォームのアップデート
kazuhiro4949
0
260
Other Decks in Technology
See All in Technology
5分で知るMicrosoft Ignite
taiponrock
PRO
0
220
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
580
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
300
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
990
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
570
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
290
RAG/Agent開発のアップデートまとめ
taka0709
0
140
生成AI・AIエージェント時代、データサイエンティストは何をする人なのか?そして、今学生であるあなたは何を学ぶべきか?
kuri8ive
2
2.1k
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
140
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
130
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
5
560
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
The Invisible Side of Design
smashingmag
302
51k
Optimizing for Happiness
mojombo
379
70k
Making Projects Easy
brettharned
120
6.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Designing Experiences People Love
moore
143
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
121
20k
Become a Pro
speakerdeck
PRO
31
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Transcript
ۙͳٕज़త՝͔Β ࢝ΊΔ044ϓϩδΣΫτ ,B[VIJSP)BZBTIJ !LB[VIJSP Ϡϑʔ໊ݹ5FDI.FFUVQ
ࣗݾհ w ໊લ w ྛ߂ !LB[VIJSP w ࣄ w
:BIPP+"1"/J04ΞϓϦ w J04ΞϓϦࠇଳ
ࣾ֎͚ͷτʔΫ
Ϡϑʔ͕044ͷจԽΛੵۃతʹ औΓೖΕ͍ͯΔΠϝʔδͬͯ͋Γ·͔͢ʁ
IUUQTHJUIVCDPNZBIPPKBQBO
J04ؔ࿈Ͱ͍͏ͱ IUUQTHJUIVCDPNZBIPPKBQBO
ʑͷۀʹ͓͍ͯ w ͍ͬͯΔίʔυʹϥΠηϯεΛ͚ͭͯ ެ։ϝϯςφϯεɺ͍ͬͯ͏ͷΛҙ֎ͱ ͍ͬͯΔ w ྫ͑ΞϓϦͷЌςετπʔϧͳͲ IUUQTXXXTMJEFTIBSFOFUUFDICMPHZBIPPTT
Ϡϑʔ044จԽʹରͯ͠ ͔ͳΓ༰
ྫ͑ w ʑͷ։ൃࣗମ(JUIVC্ͰϓϧϦΫΤετϕʔεͰߦ͏ w ੈͷதʹ͋Δ044͔ͳΓ͍ͬͯΔ w ༗໊ͳ044ʹੵۃతʹίϛοτ͍ͯ͠Δ w ࣗͨͪͰ044Λ͔Β࡞ͬͯൃ৴͍ͯ͠Δ
ྫ͑ w ʑͷ։ൃࣗମ(JUIVC্ͰϓϧϦΫΤετϕʔεͰߦ͏ w ੈͷதʹ͋Δ044͔ͳΓ͍ͬͯΔ w ༗໊ͳ044ʹੵۃతʹίϛοτ͍ͯ͠Δ w ࣗͨͪͰ044Λ͔Β࡞ͬͯൃ৴͍ͯ͠Δ
ʑͷαʔϏε։ൃ͔ΒͲ͏ 044Λ࡞͍ͬͯΔ͔
ࣗͷΓํ w ࣄͰൃݟٕͨ͠ज़త՝͔Β044ϓϩδΣΫτΛ࢝ΊΔ w ʑͷ࣮ͷதͰ࣮ࡍʹ໘ͨ͠Ұൠతʹ௨͡Δ՝Λݟ͚ͭΔ
ࣗͷΓํ w ձࣾͷϓϩμΫτʹΘΕ͍ͯΔ ίʔυͰੈͷதͷٕज़త՝Λղܾ ͢Δͷɺ044ͱͯ͠Γग़͢ طଘϓϩμΫτ ίʔυ 044ͱͯ͠Γग़͠
ࣗͷΓํ w ձࣾͷϓϩμΫτ͔Β͘ੈͷதʹ ௨͡Δٕज़త՝Λൃݟ͠ɺݸਓͰ 044ͱͯ͠࡞ͬͯϑΟʔυόοΫ͢ Δ طଘϓϩμΫτ ݸਓͰ࡞ͬͨίʔυ 044ͱͯ͠ಋೖ
ࣗͷΓํ w ࣾษڧձͷωλͱͯ͠࡞ͬͯɺ έ͕ྑ͔ͬͨΒ044ͱͯ͠ެ։ ίʔυ 044ͱͯ͠ެ։ IUUQTXXXJSBTVUPZBDPN͔Β
ࣗͷΓํ w 044ͱͯ͠։ൃͨ͠ΒܦҢͳͲؚΊ ͯษڧձͳͲͰࣄͱͯ͠ൃ৴
͍͔ͭ͘ͷࣄྫΛ௨ͯ͡ɺ۩ମతʹ ۀΛͲ͏044։ൃͭͳ͖͔͛ͯͨ ͝հͰ͖Εͱࢥ͍·͢
˞ࣄྫͯ͢J04ΞϓϦ ։ൃͷʹͳΓ·͢
հ͢ΔϓϩμΫτ 4XJGU9.-1BSTFSελϯμʔυϥΠϒϥϦ͕͍ʹ͍͘ 1BHJOH,JUཁ݅ʹ߹͏ϥΠϒϥϦ͕ͳ͔ͬͨ 4XJGU6*$BUBMPH͚ࣾͷڭҭ༻ࢿྉΛެ։
4XJGUZ9.-1BSTFS
4XJGUZ9.-1BSTFS w J04Ͱ9.-Λύʔε͢Δ߹ɺ9.-1BSTFSͱ͍͏Έࠐ ΈͷΫϥεΛ͏ w 9.-1BSTFS4"9ܕͷύϑΥʔϚϯε͕ྑ͍ύʔαʔ
IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ୯७ͳ9.-Ͱ͜ͷ͘Β͍ͷίʔυྔʹͳΔ ࣌4XJGU
IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ͜ͷ9.-Λύʔε͢ΔͨΊʹ
IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT w ύʔε͢ΔͨΊͷΫϥεΛ࡞Δ w ୳ࡧΠϕϯτΛϝιουͱ࣮ͯ͠
՝ w ࣌ͷ:BIPPγϣοϐϯά9.-͕ ଟ༻͞Ε͍ͯͨ w ύʔεͷͨΊͷେͳίʔυྔΛݮΒ͍ͨ͠ w 4XJGUݴޠͰඞཁेͳϥΠϒϥϦ͕ͳ͔ͬͨ IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTTΑΓ IUUQTDPNNFSDFBQQZBIPPDPKQTIPQQJOHBQQMJ
IUUQTHJUIVCDPNZBIPPKBQBO4XJGUZ9.-1BSTFS
4XJGUZ9.-1BSTFS w %0.ܕͷύʔαʔ w ੲ͔Β͋ΔϥΠϒϥϦ͕औΓࠐΊ͍ͯͳ͍ɺ৽͍͠ݴޠػೳΛੵۃతʹ ࠾༻ w ܰྔͰσόοά͕͍͢͠ͱ͍ͬͨɺ࣮Ͱͷ͍উखʹൺॏΛஔ͘
IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ίʔυྔ͕͜ͷ͘Β͍ʹݮΒͤΔ ࣌4XJGU
IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT w ͖ͬ͞ͱಉ͡ύʔεॲཧ෦ ͜ΜͳΜ
044ͱͯ͠ެ։ w ಛఆͷΞϓϦ༻͕ͩͬͨҙ֎ͱ͍উख͕ྑ͔ͬͨͨΊɺ ͠Β͘ӡ༻ͨ͠ޙʹ044ͱͯ͠ެ։ w ݴޠͷόʔδϣϯΞοϓରԠNBD04ରԠͳͲ໘ͳϝϯ ςφϯεϓϧϦΫͰΒ͑Δ
1BHJOH,JU
͋ΔϓϩμΫτͷ6* ΛطଘϥΠϒϥϦͰ։ൃ w 4NBSU/FXTNFSDBSJͳͲͰ࠾༻͞Ε ͍ͯΔɺϖʔδϯάͱԣεΫϩʔϧϝ χϡʔͷΈ߹Θͤ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢
ͦͷϥΠϒϥϦͰɺλΠτϧจࣈྻͱը໘ͷྻΛ ͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢ let ary = [ { title:
“Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ]
ͦͷϥΠϒϥϦͰɺλΠτϧจࣈྻͱը໘ͷྻΛ ͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢ let ary = [ { title:
“Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ] ϝχϡʔ͕͋Δ
ͦͷϥΠϒϥϦͰɺλΠτϧจࣈྻͱը໘ͷྻΛ ͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢ let ary = [ { title:
“Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ] ϖʔδϯάՄೳͳ ίϯςϯπྖҬ͕͋Δ
ελΠϧύϥϝʔλͰ͢͜ͱ͕Մೳ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢
ॳظϓϩμΫτͷ γϯϓϧͳཁ݅ຬ͍ͨͯͨ͠
͔͠͠ཁ͕݅গͣͭ͠ෳࡶԽ͍͖ͯ͠ɺ ࠾༻ͨ͠ϥΠϒϥϦͰରԠ͖͠Εͳ͘ͳΔ
ϓϩμΫτͷʹͬͯ6*͕ࡉԽ͞Εɺ ͜͏͍ͬͨ͜ͱΛٻΊΒΕΔΑ͏ʹͳ͖ͬͯͨ w ྫ͑ w ͋Δը໘Ͱϝχϡʔͷಛఆͷཁૉ ͷ্ʹαϒλΠτϧΛ͚͍ͨ w ͋Δը໘Ͱίϯςϯπͱϝχϡʔ ͷྖҬؒϘλϯΛฒ͍ͨ
˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢
ϓϩμΫτͷʹͬͯ6*͕ࡉԽ͞Εɺ ͜͏͍ͬͨ͜ͱΛٻΊΒΕΔΑ͏ʹͳ͖ͬͯͨ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱҧ͍·͢ w ྫ͑ w ͋Δը໘Ͱϝχϡʔͷಛఆͷཁૉ ͷ্ʹαϒλΠτϧΛ͚͍ͨ w
͋Δը໘Ͱίϯςϯπͱϝχϡʔ ͷྖҬؒϘλϯΛฒ͍ͨ
6*ϥΠϒϥϦʹ ͋Γ͕ͪͳ՝ w σβΠϯʹॊೈੑ͕ͳ͘ɺ6*ͷ࠷దԽ͕Ͱ͖ͳ͍ w ͜ͷ࠶ར༻ੑʹؔ͢Δ՝Α͋͘ΔҰൠతͳͷͱߟ͑Δ w ղܾ͢ΕੈͷதతͳՁ͕ߴ͍ͨΊɺझຯͰ͜ͷ՝ʹऔΓΉ
IUUQTHJUIVCDPNLB[VIJSP1BHJOH,JU
1BHJOH,JU w ༷ʑͳελΠϧɾϨΠ Ξτͷϖʔδϯά6* Λ࣮ݱՄೳ w ۀϨϕϧͷෳࡶͳ6* ʹద༻Ͱ͖Δ IUUQTHJUIVCDPNLB[VIJSP1BHJOH,JU
044ͱͯ͠ެ։ w ݸਓͷϦϙδτϦͰެ։ w 044ʹͨ͋͠ͱɺۀͰ։ൃ͍ͯ͠ΔϓϩμΫτ࠾༻ w ඞཁͳػೳͷՃͳͲۀͱͯ͠ϝϯςφϯε͍ͯ͠Δ
w ެ։ޙʹ։ൃܦҢΛษڧձ Ͱ ࣄͱͯ͠ ൃද IUUQTTQFBLFSEFDLDPNLB[VIJSPVJSBJCVSBSJIBEPVTIFKJTBSFSVCFLJLB
4XJGU6*$BUBMPH
4XJGU6* w 88%$Ͱൃද͞Εͨ"QQMFϓ ϥοτϑΥʔϜ͚৽6*ϥΠϒϥϦ w 3FBDUKTΛॻ͘Α͏ʹΞϓϦ։ൃ͕Ͱ ͖Δ IUUQTEFWFMPQFSBQQMFDPNKQYDPEFTXJGUVJΑΓ
4XJGU6* w ൃදޙɺૣϲ݄ʹճࣾษڧձΛ։͘ w ڵຯΛ࣋ͬͯΒ͑Δ͕ɺखΛग़͢·Ͱͷෑډ͕ߴ͍͜ ͱΛײ͡Δ
4XJGU6*ͷ՝ w ެࣜυΩϡϝϯτʹेʹ࣮ํ๏͕ॻ͔Ε͍ͯͳ͍ w ެࣜαϯϓϧͷίʔυ͕͔ͳΓෳࡶͰɺॳ৺ऀʹෑډ͕ߴ͍
IUUQTHJUIVCDPNLB[VIJSP4XJGU6*$BUBMPH
4XJGU6*$BUBMPH w ࣾͷJ04ΞϓϦΤϯδχΞ͚ڭҭࢿྉͱͯ͠։ൃ w ࣮ߦ͢Δ͚ͩͰ֤6*ίϯϙʔωϯτͷදࣔಈ͖ΛࢼͤΔ w ࠷খݶͷ࣮ͱ࣮ࡍͷ࣮ߦ݁ՌΛཏ
044ͱͯ͠ެ։ w ࣗࣾʹؔΘΒͣʹཱͭࢿྉͱͳΔͨΊɺ ࣾษڧձͰར༻ޙʹެ։ w Ϡϑʔ͕͍ͬͯΔࣾ֎͚ษڧձͷωλ ͷҰͭͱͯ͠׆༻͠ɺධΛΒ͏ IUUQTZKNFFUVQDPOOQBTTDPNFWFOU
ࣗͷΓํ࠶ܝ ձࣾͷϓϩμΫτʹΘΕ͍ͯΔίʔυͰੈͷதͷٕज़త ՝Λղܾ͢Δͷɺ044ͱͯ͠Γग़͢ ձࣾͷϓϩμΫτ͔Β͘ੈͷதʹ௨͡Δٕज़త՝Λൃ ݟ͠ɺݸਓͰ044ͱͯ͠࡞ͬͯϑΟʔυόοΫ͢Δ ࣾษڧձͷωλͱͯ͠࡞ͬͯɺධͩͬͨΒެ։ 044ͱͯ͠։ൃͨ͠ΒܦҢͳͲؚΊͯษڧձͳͲͰൃ৴
ࣄͷٕज़త՝͔Β044Խ͢Δ ϝϦοτ w ࢝Ί͔ΒΓग़͢͜ͱΛҙࣝͯ͠Ϋϥεઃܭ͢Δͱɺػೳ ͕໌֬Խ͞Εͯૄ݁߹ͳίʔυ͕ॻ͚Δ w ීஈ͔Β൚༻తͳ՝͕ͳ͍͔ҙࣝ͢Δ͜ͱͰɺݸਓతʹ ϥΠϒϥϦΛ࡞Δ͖͔͚͕ͬಘΒΕΔ w ୀ৬ͨ͠ݩಉ྅͔ΒϓϧϦΫ͕Β͑Δ
w ϓϩμΫτͷϥΠηϯεཝʹࣗͷ໊લ͕ࡌΔ
Έͳ͞ΜࣄͰݟ͚ͭͨ ٕज़త՝͔Β044ϓϩδΣΫτ Λ࢝ΊͯΈ͍ͯͩ͘͞
ࢀߟࢿྉ w ۙͳٕज़త՝͔Β࢝ΊΔ044ϓϩδΣΫτ w IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBS TXJGU@PTT w ϠϑʔͷΞϓϦʹ͓͚ΔձࣾશମͰͷۀޮԽʹ͍ͭͯ EFWTVNJ$ w
IUUQTXXXTMJEFTIBSFOFUUFDICMPHZBIPPTT w ZBIPPKBQBO(JUIVC w IUUQTHJUIVCDPNZBIPPKBQBO