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
corin8823
January 29, 2020
Technology
0
380
安心安全な開発にむけて/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
12k
経済学の知見を活かしたユーザに行動変容を促す仕掛け - タップルでの共同研究プロジェクトを例として
corin8823
1
55
新しい恋愛様式への挑戦/engineer_career_design_week
corin8823
0
130
Bad practice for tax hike handling
corin8823
0
500
Practice of build and CI/CD at tapple/practice_of_build_at_tapple
corin8823
1
200
「タップル誕生」における開発の変化 / change_development
corin8823
1
360
明日から使えるViewControllerの Memory Leak検出/iOSDC-2018-Memory-Leak
corin8823
6
2.1k
Introduction Differ/differ
corin8823
0
3.6k
マッチングアプリにつきまとう状態管理のつらさ/torte_state
corin8823
9
7.1k
Other Decks in Technology
See All in Technology
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
120
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
190
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
100
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
490
Qiita埋め込み用スライド
naoki_0531
0
5.1k
ハイテク休憩
sat
PRO
2
170
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
Scaling GitHub
holman
458
140k
Site-Speed That Sticks
csswizardry
2
190
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Facilitating Awesome Meetings
lara
50
6.1k
Designing Experiences People Love
moore
138
23k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Embracing the Ebb and Flow
colly
84
4.5k
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でやりたい
懇親会で話しましょ