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
1.1k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
800
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
1k
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.4k
5 Tips when test fails randomly
ushisantoasobu
2
3.7k
Better Way for Test Data Generation??
ushisantoasobu
1
2.8k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.7k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.2k
Redirectable in App?
ushisantoasobu
2
940
Other Decks in Technology
See All in Technology
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.5k
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
Infrastructure as Prompt実装記 〜Bedrock AgentCoreで作る自然言語インフラエージェント〜
yusukeshimizu
1
120
Amazon Qで2Dゲームを作成してみた
siromi
0
140
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
160
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
110
全員が手を動かす組織へ - 生成AIが変えるTVerの開発現場 / everyone-codes-genai-transforms-tver-development
tohae
0
190
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
150
Serverless Meetup #21
yoshidashingo
1
120
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
830
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.8k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Facilitating Awesome Meetings
lara
54
6.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
It's Worth the Effort
3n
185
28k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Why Our Code Smells
bkeepers
PRO
337
57k
Git: the NoSQL Database
bkeepers
PRO
431
65k
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ॻ͚Δͱ͍͏ͷ͋Δ
ӡ༻ͯ͠Έͯผͷํ๏ʹ͢Δ͔ɻͩ͜ΘΓͳ͠
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠