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
Meeプロジェクト紹介
Search
Yuta Kawabe
September 21, 2018
Programming
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Meeプロジェクト紹介
Yuta Kawabe
September 21, 2018
More Decks by Yuta Kawabe
See All by Yuta Kawabe
年末年始読んだ本LT
yaruki00
0
81
イマイチなsubscribeをRxぽくする
yaruki00
0
680
気をつけよう!認知バイアス
yaruki00
1
65
iOSDC2019トークピックアップ
yaruki00
0
53
スクラム完全理解
yaruki00
0
65
小さなチームでも高品質なモバイルアプリを作るためのテスト戦略
yaruki00
0
78
ここがダメだよ🍎さん!
yaruki00
0
45
iOSDCまとめ
yaruki00
0
45
iOSアプリ開発手法の変化
yaruki00
0
50
Other Decks in Programming
See All in Programming
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
500
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.2k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
580
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
Foundation Models frameworkで画像分析
ryodeveloper
1
120
1B+ /day規模のログを管理する技術
broadleaf
0
140
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
210
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
Claude Team Plan導入・ガイド
tk3fftk
0
210
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
130
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
230
Balancing Empowerment & Direction
lara
6
1.2k
Marketing to machines
jonoalderson
1
5.6k
Product Roadmaps are Hard
iamctodd
55
12k
Why Our Code Smells
bkeepers
PRO
340
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Designing for Timeless Needs
cassininazir
1
370
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Between Models and Reality
mayunak
4
370
The Pragmatic Product Professional
lauravandoore
37
7.4k
BBQ
matthewcrist
89
10k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2k
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νʔϜϝϯόʔʂ