Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Meeプロジェクト紹介
Search
Yuta Kawabe
September 21, 2018
Programming
0
57
Meeプロジェクト紹介
Yuta Kawabe
September 21, 2018
Tweet
Share
More Decks by Yuta Kawabe
See All by Yuta Kawabe
年末年始読んだ本LT
yaruki00
0
62
イマイチなsubscribeをRxぽくする
yaruki00
0
660
気をつけよう!認知バイアス
yaruki00
1
55
iOSDC2019トークピックアップ
yaruki00
0
43
スクラム完全理解
yaruki00
0
52
小さなチームでも高品質なモバイルアプリを作るためのテスト戦略
yaruki00
0
72
ここがダメだよ🍎さん!
yaruki00
0
36
iOSDCまとめ
yaruki00
0
39
iOSアプリ開発手法の変化
yaruki00
0
40
Other Decks in Programming
See All in Programming
開発に寄りそう自動テストの実現
goyoki
2
1k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
480
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
190
Cap'n Webについて
yusukebe
0
130
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
120
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
AIコーディングエージェント(NotebookLM)
kondai24
0
200
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
720
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.3k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
BBQ
matthewcrist
89
9.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Visualization
eitanlees
150
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Music & Morning Musume
bryan
46
7k
Transcript
MEEϓϩδΣΫτհ IOSษڧձ 2018/9/21
ςΩετ ࣍ ▸ σΟϨΫτϦߏ ▸ ΞʔΩςΫνϟ ▸ ڥΓସ͑ ▸ Ωϟογϡ
▸ Ξϥʔτදࣔ ▸ Πϯδέʔλදࣔ ▸ API௨৴(secret·ΘΓ) ▸ Generamba ▸ ςετ
σΟϨΫτϦ ߏ
ςΩετ σΟϨΫτϦߏ ▸ ͜Μͳײ͡ ϓϩδΣΫτʹґΒͳ͍ ϓϩδΣΫτͰ ϓϩδΣΫτʹґΒͳ͍
ΞʔΩςΫνϟ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ Builder Presentation Domain Infra Wireframe
Presenter View UseCase Mapper DomainModel Repository DataStore Entity
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - BUILDER Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity PRESENTATIONͷ ϑΝΫτϦ
ςΩετ ΞʔΩςΫνϟ - BUILDER ը໘ʹඞཁͳ ύϥϝʔλ VCฦ͢ ґଘΫϥε ࡞ɾཱ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - PRESENTATION Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity ը໘ભҠ VIEWͷΠϕϯτ ϋϯυϦϯά σʔλදࣔ Πϕϯτ͛Δ
ςΩετ ΞʔΩςΫνϟ - WIREFRAME ֤ը໘ͷํ ϓϩτίϧʹ ద߹͢Δ͚ͩ ϓϩίτϧʹ ࣮
ςΩετ ΞʔΩςΫνϟ - PRESENTER Πϕϯτͷ͛ ઌ͕͍ͬͺ͍ Πϕϯτड͚औΔ
ςΩετ ΞʔΩςΫνϟ - VIEW σʔλΒͬͯ දࣔ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - USECASE Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity Ϣʔβ ΞΫγϣϯ
ςΩετ ΞʔΩςΫνϟ - USECASE ͏ଆ͕࡞Γํ Λҙࣝ͠ͳ͍ͨ ΊͷϑΝΫτϦ
ςΩετ ΞʔΩςΫνϟ - USECASE جຊతʹ ࣮ߦҰͭ APIୟͭ͘ SINGLEฦ͢ ࣮ࡍͷॲཧ REPOSITORY͕୲͏
(Ұ෦DATASTORE)
ςΩετ ΞʔΩςΫνϟ - USECASE Ωϟογϡͷ औಘ୲ ENTITY͔Β DOMAINMODELͷม Ωϟογϡ REPOSITORYͷׂͰʁ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity ΞϓϦͰ͏ σʔλ
ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL σʔλͷू·Γ ը໘ຖͰͳ͍ ରԠ͢ΔPROTO͕ ͋Δ߹ॳظԽ Ͱ͏
ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL ENUMͰ͋Δ͜ͱ ͠͠ ؔ࿈͢Δॲཧ ϞσϧʹؚΊΔ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - REPOSITORY Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity σʔλΞΫηε ΠϯλʔϑΣʔε
ςΩετ ΞʔΩςΫνϟ - REPOSITORY ͜͜ʹ ϑΝΫτϦ σʔλΞΫηε खஈΛఏڙ
ςΩετ ΞʔΩςΫνϟ - REPOSITORY ࣮ࡍͷॲཧ DATASTORE͕୲͏
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - DATASTORE Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity σʔλͷ͋Γ͔ ʹΞΫηε
ςΩετ ΞʔΩςΫνϟ - DATASTORE Έͨͼ ϑΝΫτϦ APIͳΓKEYCHAINͳΓ ΞΫηε͢Δ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - ENTITY Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity PROTOͰੜ
ڥΓସ͑
ςΩετ ڥΓସ͑ ▸ Environment: APIڥͱϏϧυઃఆΛϏϧυϑϥά͔Βܾఆ
Ωϟογϡ
ςΩετ Ωϟογϡ(USECASE) ௨৴ޭͨ͠Β UDʹͿͪ͜Ή ௨৴ࣦഊͨ͠Β UD͔Βऔಘ ݁Ռͱͯ͠ ERROR
ςΩετ Ωϟογϡ(PRESENTER) Ωϟογϡ͖ ͷΤϥʔͳΒ ͦΕΛදࣔ
Ξϥʔτදࣔ
ςΩετ Ξϥʔτදࣔ Ξϥʔτදࣔͷ ͨΊͷσʔλ ࠨͷσʔλ͔Β ΞϥʔτΛදࣔ
ςΩετ Ξϥʔτදࣔ Τϥʔϝοηʔδ ΛALERTABLEʹద߹
Πϯδέʔλ දࣔ
ςΩετ Πϯδέʔλදࣔ(INDICATORVIEW) Πϯδέʔλදࣔ༻ Ϋϥε Ϗϡʔͷੜͱදࣔ
ςΩετ Πϯδέʔλදࣔ(PRESENTER) දࣔͤ͞Δ ফ͢ ফ͢
API௨৴ SECRETपΓ
ςΩετ API௨৴ DATASTORE͕USECASEΛ ͍ͬͯΔ ڞ௨Խ ΞʔΩςΩτϧʔϧҧ
GENERAMBA
ςΩετ GENERAMBA ▸ https://github.com/Yaruki00/GenerambaTemplate ▸ “my_presentation”ͱ͍͏ςϯϓϨʔτΛ༻ ▸ PresentationͷίʔυΛੜ͍ͯ͠Δ
ςετ
ςΩετ ςετ IOSSNAPSHOTTESTCASEΛ༻ ಈ࡞֬ೝɿTRUE ςετɿFALSE Ϗϡʔͷੜ ࢀߟը૾ͱͷൺֱ
࣭ͳͲ͋Ε MEEνʔϜϝϯόʔʂ