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
安心安全な開発にむけて/matching-dev-meetup-5
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
corin8823
January 29, 2020
Technology
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
安心安全な開発にむけて/matching-dev-meetup-5
https://matching-dev-group.connpass.com/event/158568/
corin8823
January 29, 2020
More Decks by corin8823
See All by corin8823
検証と資産化を形にするプロダクト組織へ/tapple_pmconf2024
corin8823
2
17k
経済学の知見を活かしたユーザに行動変容を促す仕掛け - タップルでの共同研究プロジェクトを例として
corin8823
1
160
新しい恋愛様式への挑戦/engineer_career_design_week
corin8823
0
200
Bad practice for tax hike handling
corin8823
0
620
Practice of build and CI/CD at tapple/practice_of_build_at_tapple
corin8823
1
280
「タップル誕生」における開発の変化 / change_development
corin8823
1
470
明日から使えるViewControllerの Memory Leak検出/iOSDC-2018-Memory-Leak
corin8823
6
2.7k
Introduction Differ/differ
corin8823
0
3.8k
マッチングアプリにつきまとう状態管理のつらさ/torte_state
corin8823
9
7.4k
Other Decks in Technology
See All in Technology
cccccc
moznion
0
1.9k
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
210
SRE Lounge Hiroshimaへの招待
grimoh
0
620
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.6k
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.6k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
3.6k
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.2k
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
2
270
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
230
Claude Code 珍プレー好プレー
shinyasaita
0
320
Making sense of Google’s agentic dev tools
glaforge
1
160
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Leo the Paperboy
mayatellez
8
1.9k
How to build a perfect <img>
jonoalderson
1
5.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
390
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
For a Future-Friendly Web
brad_frost
183
10k
Transcript
安⼼安全な開発にむけて / / MatchingDevMeetup # Yusuke Takahashi / @corin
About Me • Yusuke Takahashi / @corin • 2013年 CyberAgentに⼊社
• 2018年 MatchingAgentに出向 • 現在はiOS テックリード • ラコステよく着てます
安⼼安全?
安⼼安全
僕らも安⼼安全に開発したい • 市場のスピード感やビジネス的な要件 • センシティブな情報を扱うため、バグると不安に - 機能だけじゃない品質 • とはいえどんどんリファクタリングもしていきたい
安⼼安全な開発にむけて / / MatchingDevMeetup # Yusuke Takahashi / @corin
Release train • 申請‧リリースを1週間に1回 - ⽊曜: 追加機能テスト完了‧タグ切り - ⾦曜: リグレッションテスト‧iOS申請
- ⽉曜: 1%リリース - ⽕曜: 100%リリース https://tech.mercari.com/entry/ / / / アプリを安全にリリースするための取り組み(Release trainとClient release process)
追加機能テスト • 仕様書共有 • 機能オリエン • テスト項⽬書作成 • エンジニアと読み合わせ •
実施
Regression Test • アプリのメインループが正常通りに動くか • 不具合があったらissue化 - すぐ対応するかどうかは、要相談 • すぐ対応しない場合は別レポジトリへ移動し、数を追う
- ある⼀定以上増えたら対応しなければならないルール
Rearchitecture • MVVM + Flux • ViewController : ViewModel •
ViewModel : Action, Store • Singleton Dispatcher - 画⾯間のデータのやり取りを実現 - 物によってはSingleton Storeもある
Rearchitecture 5PQ7. 5PQ4UPSF 5PQ"DUJPO %JTQBUDIFS
Rearchitecture %JTQBUDIFS 5PQ%FUBJM7. 5PQ%FUBJM4UPSF 5PQ%FUBJM"DUJPO
Rearchitecture 5PQ7. 5PQ4UPSF %JTQBUDIFS 5PQ%FUBJM7. 5PQ%FUBJM4UPSF 5PQ%FUBJM"DUJPO
Rearchitecture • .app: 本体 • Component: TappleにおけるUIComponent集 • Resource: 画像やテキスト
• Flux: 共通で使うFlux • Entity: 本体で使うEntity • Kit: APIClientやAPIResponse、Logger等 • Extension • etc
Test coverage • .app: %~ % • Component: これから •
Flux: % • Entity: % • Kit: ~% • Extension: %
Feature Flag / AB Testing • 仮設を⽴てて⼩さくリリース • Remote Configを⽤いてA/Bテスト
- FirebaseABTestingで効果検証したり - ⾃分たちでも検証できるように
UICatalog / Screenshots test • View部分をFramework化(Component) • スタンドアローンで動く⽤のStoryBook.appを作成 • スクリーンショットテストをやる
• Viewの細かい修正はStoryBookでやりたい
懇親会で話しましょ