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
iOSのClean Architecture テンプレ自動生成を支える技術 / generat...
Search
shunsuke sato
October 16, 2018
Technology
0
280
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
shunsuke sato
October 16, 2018
Tweet
Share
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
990
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
780
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
970
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.2k
5 Tips when test fails randomly
ushisantoasobu
2
3.6k
Better Way for Test Data Generation??
ushisantoasobu
1
2.8k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.6k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.2k
Redirectable in App?
ushisantoasobu
2
910
Other Decks in Technology
See All in Technology
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
190
AIエージェント開発のノウハウと課題
pharma_x_tech
7
4.1k
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
1
130
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.5k
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
110
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
手を動かしてレベルアップしよう!
maruto
0
240
AIエージェント入門
minorun365
PRO
32
19k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
850
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
Охота на косуль у древних
ashapiro
0
110
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
A Tale of Four Properties
chriscoyier
158
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How GitHub (no longer) Works
holman
314
140k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Practical Orchestrator
shlominoach
186
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
Otemachi.swift #02 2018/10/16 J04ͷ$MFBO"SDIJUFDUVSF ςϯϓϨࣗಈੜΛࢧ͑Δٕज़
ࣗݾհ w ࠤ౻ढ़ี !VTIJTBOUPBTPCV w ՈΞϧόϜΞϓϦʮΈͯͶʯΛ։ൃ w J04"OESPJE3BJMT։ൃମ੍ w
IUUQTTQFBLFSEFDLDPNVTIJTBOUPBTPCVNJUFOFTFYDJUJOHEFWFMPQNFOU w ίʔώʔ͕͖Ͱ͢☕☕☕ w ίʔώʔநग़ϨγϐͷهΞϓϦͱ͔࡞ͬͯ·͢ J04 "OESPJE
࠾༻ IUUQTNJUFOFVTSFDSVJU
ࠓ͢༰ͱͦͷܦҢ
ࠓ͢༰ͱͦͷܦҢ ΈͯͶͷJ04։ൃͰલ͘Β͍͔Β $MFBO"SDIJUFDUVSFΛಋೖ ʢ৽نը໘࡞࣌ͳͲ͔Βঃʑʹʣ
ࣗࣾNFFUVQͰ ΞʔΩςΫνϟ·ΘΓͷൃදʹରͯ͠ Γ߹͍ͷΤϯδχΞ͔ΒπΠʔτ ࠓ͢༰ͱͦͷܦҢ
ࠓ͢༰ͱͦͷܦҢ
ࠓ͢༰ͱͦͷܦҢ ͬͯ͜͏ʂʂ
ࠓ͢༰ͱͦͷܦҢ ࡞ͬͨͷ
ࠓ͢༰ͱͦͷܦҢ ࡞ͬͨͷ
ࠓ͢༰ͱͦͷܦҢ ࡞ͬͨͷ
Կ͕خ͍͠ͷ͔ʁ
Կ͕خ͍͠ͷ͔ʁ ࡞ۀίετΛݮΒ͢ ࢥߟίετΛݮΒ͢ J04ઐଐΤϯδχΞ͍ͳ͍ͱ͍͏νʔϜࣄ ͦͦ$MFBO"SDIJUFDVUVSFͷϨΠϠͷΓํ ਓͦΕͧΕ
ςϯϓϨࣗಈੜΛࢧ͑Δٕज़
ςϯϓϨࣗಈੜΛࢧ͑Δٕज़ YDPEFQSPKΤσΟλ ςϯϓϨʔτϑΝΠϧੜ
- CocoaPods/Xcodeproj (1) - Xcode - File Templates (2) -
krzysztofzablocki/Sourcery (2) - bannzai/Kuri (1,2) - rambler-digital-solutions/Generamba (?) ࢼͨ͠ͷPSࢼͦ͏ͱࢥͬͨͷ YDPEFQSPKΤσΟλ ςϯϓϨʔτϑΝΠϧੜ
CocoaPods/Xcodeproj IUUQTHJUIVCDPN$PDPB1PET9DPEFQSPK
CocoaPods/Xcodeproj IUUQTHJUIVCDPN$PDPB1PET9DPEFQSPK w $PDPB1PETͰΘΕ͍ͯΔYDPEFQSPKΤσΟλ w ͍ͩͿރΕ͍ͯΔͣʢ࠷ॳͷίϛοτʣ
l4PNFzͱ͍͏৽نϓϩδΣΫτΛ࡞ͯ͠ CocoaPods/Xcodeproj ͍ํ
CocoaPods/Xcodeproj ͍ํ ͜ΜͳεΫϦϓτΛॻ͍࣮ͯߦͯ͠ΈΔͱɺɺɺ
CocoaPods/Xcodeproj ͍ํ ϑΝΠϧ͕Ճ͞Ε͍ͯΔʂʂ
CocoaPods/Xcodeproj UVJTUYDPEFQSPK 4XJGU ޙड़͢Δ4PVSDFSZͰΘΕ͍ͯΔ ྨࣅ
Xcode - File Templates
Xcode - File Templates 9$PEFͰ৽نϑΝΠϧੜ࣌ʹɺࣗલͰ༻ҙͨ͠ ςϯϓϨʔτΛར༻͢Δ͜ͱ͕Ͱ͖Δػೳ 3FGIUUQTRJJUBDPNTIVJUFNTEBFGEGFC
ίϚϯυ͔Βੜ͢Δͱ͔Ͱͳ͍
Xcode - File Templates ࣗͰ༻ҙͨ͠ςϯϓϨʔτΛબ͢Δ
Xcode - File Templates ςϯϓϨʔτ͜Μͳײ͡
Xcode - File Templates ϑΝΠϧ͕Ճ͞Ε͍ͯΔʂʂ
krzysztofzablocki/Sourcery IUUQTHJUIVCDPNLS[ZT[UPG[BCMPDLJ4PVSDFSZ
krzysztofzablocki/Sourcery ʢʮ4XJGUͷςϯϓϨʔτΛੜͯ͘͠ΕΔͳʹ͔ʯ ͱ͍͏ೝࣝͰௐͯΈ͚ͨͲɺࠓճͷతʹ߹க͠ͳ͍ ͱ͍͏݁ʹࢸͬͨɻ͚Ͳ͔ͤͬ͘ͳͷͰʣ
krzysztofzablocki/Sourcery ʢࣗͳΓͷݴ༿Ͱ·ͱΊΔͱʣ ϘΠϥʔϓϨʔτͳίʔυΛɺࢦఆͨ͠ϓϩτίϧΛ τϦΨʔʹɺςϯϓϨʔτΛݩʹࣗಈੜ͢Δͷ 3&"%.&͚ͩͩͱΘ͔Βͳ͔ͬͨͷͰҎԼΛࢀߟʹ ͨ͠ IUUQTXXXDBTFZMJTTDPNUIFNBHJDPGTPVSDFSZ
IUUQTHJUIVCDPNLS[ZT[UPG[BCMPDLJ4PVSDFSZ
krzysztofzablocki/Sourcery جຊతͳ͍ํʢͷͣʣ l"VUP&RVBUBCMFzͱ͍͏ϚʔΧ༻ʢҹʣϓϩτίϧΛ࡞ͯ͠ɺBQQMZ͢Δ
krzysztofzablocki/Sourcery جຊతͳ͍ํʢͷͣʣ ςϯϓϨʔτʹz4UFODJMͱ͍͏ͷΛ͏
krzysztofzablocki/Sourcery جຊతͳ͍ํʢͷͣʣ Ϗϧυຖʹੜ͞ΕΔΑ͏ʹઃఆ
krzysztofzablocki/Sourcery جຊతͳ͍ํʢͷͣʣ Ϗϧυ͢Δͱ͜ͷΑ͏ͳϑΝΠϧ͕ੜ͞ΕΔ☺
krzysztofzablocki/Sourcery ྑͦ͞͏ʹࢥ͑ͨࣄྫ MFUͳTUSVDUͷQSPQFSUZʹΛηοτ͢Δ IUUQTRJJUBDPNNBSUZTV[VLJJUFNTEBGFEBDEG Πϕϯτϩά IUUQTTQFBLFSEFDLDPNTHSLTNUJNQSPWFFWFOUMPHVTJOH
TPVSDFSZJOJPT
bannzai/Kuri IUUQTHJUIVCDPNCBOO[BJ,VSJ
bannzai/Kuri $MFBO"SDIJUFDUVSFςϯϓϨϑΝΠϧࣗಈੜπʔϧ ʢࠓճͷతʹશʹҰக͢Δͷʣ ։ൃऀຊਓͷํ YDPEFQSPKΤσΟλࣗલ IUUQTHJUIVCDPNCBOO[BJ,VSJ
bannzai/Kuri جຊతͳ͍ํ ઃఆϑΝΠϧʢz,VSJZNMzʣʹɺੜ͍ͨ͠ϑΝΠϧʹ߹ΘͤͯίϯϙʔωϯτใΛهड़͢Δ
bannzai/Kuri جຊతͳ͍ํ ͦΕͧΕͷίϯϙʔωϯτͷςϯϓϨʔτϑΝΠϧΛ࡞ͬͯஔ͢Δ
bannzai/Kuri جຊతͳ͍ํ lLVSJHFOFSBUF'PPUCBMMzͰ࣮ߦ͢Δͱɺɺɺ៉ྷʹϑΝΠϧ͕ੜ͞Ε͍ͯΔ
bannzai/Kuri جຊతͳ͍ํ lLVSJHFOFSBUF'PPUCBMMzͰ࣮ߦ͢Δͱɺɺɺ៉ྷʹϑΝΠϧ͕ੜ͞Ε͍ͯΔ
rambler-digital-solutions/Generamba IUUQTHJUIVCDPNTUSPOHTFMG(FOFSBNCB
rambler-digital-solutions/Generamba ࠓճεΩοϓ ηοτΞοϓͰ͍᪴ͨ ͋·Γ։ൃ͕׆ൃͰͳ͍ʁ ࠷ۙͬͨͷ IUUQTHJUIVCDPNTUSPOHTFMG(FOFSBNCB
݁ՌɺࣗͲ͏͔ͨ͠ʁ
݁ՌɺࣗͲ͏͔ͨ͠ʁ $PDPB1PET9DPEFQSPK 3VCZ ςϯϓϨੜࣗલͰΰϦΰϦ
݁ՌɺࣗͲ͏͔ͨ͠ʁཧ༝ ࣮ϓϩδΣΫτྺ࢙తܦҢͳͲͷཧ༝͔ΒҎ֎ͱෳࡶ ੜ͍ͨ͠ϑΝΠϧ໊ͱσΟϨΫτϦ໊͕ҟͳͬͨΓ ಉҰσΟϨΫτϦʹෳͷϑΝΠϧΛஔ͖͔ͨͬͨΓ νʔϜΈΜͳ͕3VCZॻ͚Δͱ͍͏ͷ͋Δ
ӡ༻ͯ͠Έͯผͷํ๏ʹ͢Δ͔ɻͩ͜ΘΓͳ͠
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠