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
身近な技術的課題から始めるOSSプロジェクト
Search
kazuhiro4949
November 12, 2019
Technology
0
280
身近な技術的課題から始める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.6k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
570
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
3.7k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
330
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
75
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
280
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
WWDC 2019 AR・ML・その他Apple プラットフォームのアップデート
kazuhiro4949
0
220
Other Decks in Technology
See All in Technology
君も受託系GISエンジニアにならないか
sudataka
2
440
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.6k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
140
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
710
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
アジャイル開発とスクラム
araihara
0
170
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
14
3.5k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Faster Mobile Websites
deanohume
306
31k
Speed Design
sergeychernyshev
27
790
The Pragmatic Product Professional
lauravandoore
32
6.4k
Code Reviewing Like a Champion
maltzj
521
39k
Building an army of robots
kneath
303
45k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Producing Creativity
orderedlist
PRO
344
39k
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