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
1k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
780
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
980
実践!「みてね」における自動生成活用例
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
920
Other Decks in Technology
See All in Technology
30 代子育て SRE が考える SRE ナレッジマネジメントの現在と将来
kworkdev
PRO
0
130
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
230
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
440
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
100
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
LINE Notify互換のボットを作った話
kenichirokimura
0
180
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
270
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
230
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
300
AIエージェント完全に理解した
segavvy
4
280
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
32
12k
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.3k
Fireside Chat
paigeccino
37
3.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Side Projects
sachag
452
42k
Gamification - CAS2011
davidbonilla
81
5.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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ॻ͚Δͱ͍͏ͷ͋Δ
ӡ༻ͯ͠Έͯผͷํ๏ʹ͢Δ͔ɻͩ͜ΘΓͳ͠
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠