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
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
shunsuke sato
October 16, 2018
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
1.4k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
840
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
1.2k
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.6k
5 Tips when test fails randomly
ushisantoasobu
2
3.8k
Better Way for Test Data Generation??
ushisantoasobu
1
2.9k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.8k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.3k
Redirectable in App?
ushisantoasobu
2
1.1k
Other Decks in Technology
See All in Technology
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
540
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
0
390
コミュニティから始まった農業IoTとの7年間 ——人との関わりが教えてくれたこと
peacemaker07
0
110
AWS Blocks が楽しい #ゆるWeb札幌
tacck
PRO
0
150
AIに持続⼒を与える 判断の⻑期記憶設計
eiei114
1
710
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
380
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
810
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
500
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
620
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
260
:syncing_time:
sksat
2
750
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
970
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
360
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
Why Our Code Smells
bkeepers
PRO
340
58k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
We Are The Robots
honzajavorek
0
310
The agentic SEO stack - context over prompts
schlessera
0
880
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
490
A designer walks into a library…
pauljervisheath
211
24k
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ॻ͚Δͱ͍͏ͷ͋Δ
ӡ༻ͯ͠Έͯผͷํ๏ʹ͢Δ͔ɻͩ͜ΘΓͳ͠
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠