$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
安心安全な開発にむけて/matching-dev-meetup-5
Search
corin8823
January 29, 2020
Technology
0
440
安心安全な開発にむけて/matching-dev-meetup-5
https://matching-dev-group.connpass.com/event/158568/
corin8823
January 29, 2020
Tweet
Share
More Decks by corin8823
See All by corin8823
検証と資産化を形にするプロダクト組織へ/tapple_pmconf2024
corin8823
1
16k
経済学の知見を活かしたユーザに行動変容を促す仕掛け - タップルでの共同研究プロジェクトを例として
corin8823
1
120
新しい恋愛様式への挑戦/engineer_career_design_week
corin8823
0
170
Bad practice for tax hike handling
corin8823
0
560
Practice of build and CI/CD at tapple/practice_of_build_at_tapple
corin8823
1
250
「タップル誕生」における開発の変化 / change_development
corin8823
1
430
明日から使えるViewControllerの Memory Leak検出/iOSDC-2018-Memory-Leak
corin8823
6
2.5k
Introduction Differ/differ
corin8823
0
3.7k
マッチングアプリにつきまとう状態管理のつらさ/torte_state
corin8823
9
7.3k
Other Decks in Technology
See All in Technology
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
250
インフラ室事例集
mixi_engineers
PRO
2
150
プラットフォームエンジニアリングとは何であり、なぜプラットフォームエンジニアリングなのか
doublemarket
1
480
『星の世界の地図の話: Google Sky MapをAI Agentでよみがえらせる』 - Google Developers DevFest Tokyo 2025
taniiicom
0
450
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
1.4k
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
240
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
19
9.9k
【ASW21-02】STAMP/CAST分析における生成AIの支援 ~羽田空港航空機衝突事故を題材として (Support of Generative AI in STAMP/CAST Analysis - A Case Study Based on the Haneda Airport Aircraft Accident -)
hianraku9498
2
470
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
1k
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
230
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Building an army of robots
kneath
306
46k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Fireside Chat
paigeccino
41
3.7k
The Invisible Side of Design
smashingmag
302
51k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Side Projects
sachag
455
43k
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でやりたい
懇親会で話しましょ