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
サーバサイドエンジニアと効率よく開発するためにやっていること
Search
Shinichiro Oba
January 13, 2017
Programming
2.3k
8
Share
サーバサイドエンジニアと効率よく開発するためにやっていること
potatotips #36の発表資料です
https://potatotips.connpass.com/event/46832/
Shinichiro Oba
January 13, 2017
More Decks by Shinichiro Oba
See All by Shinichiro Oba
アッテ開発の技術:Swift と RxSwift
bricklife
19
17k
RxSwiftのobserveOnとsubscribeOnを理解する
bricklife
20
7.6k
Swift 2.0でRxSwift、ReactKit、ReactiveCocoaを使ってみた
bricklife
10
5.1k
ReactiveCocoaのゆるい紹介とメルカリでの活用事例
bricklife
3
3.9k
Apple Pay対応のやりかた
bricklife
1
25k
iOS版グローバル対応の罠と技
bricklife
8
24k
Other Decks in Programming
See All in Programming
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.6k
Programming with a DJ Controller — not vibe coding
m_seki
3
800
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
190
20260514_its_the_context_window_stupid.pdf
heita
0
690
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
490
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.6k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
660
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
150
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
33
Mobile First: as difficult as doing things right
swwweet
225
10k
Chasing Engaging Ingredients in Design
codingconduct
0
190
Un-Boring Meetings
codingconduct
0
280
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
180
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Scaling GitHub
holman
464
140k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
Side Projects
sachag
455
43k
Transcript
サーバサイドエンジニアと 効率よく開発するために やっていること ⼤庭 慎⼀郎 iOSエンジニア / メルカリ 2017/1/13 potatotips
#36 1
⾃⼰紹介 2 ⼤庭 慎⼀郎 ooba / bricklife iOSエンジニア / 株式会社メルカリ
-メルカリJP版の⽴ち上げ -メルカリUS版の⽴ち上げ -メルカリ アッテの⽴ち上げ -メルカリUK版の⽴ち上げ ← いまここ
メルカリの状況
メルカリのエンジニアの数 4 クライアントサイド(iOS) • 今⽉で7⼈になりました! サーバサイド • 60⼈くらい?? 正直何⼈いるかわからない… 圧倒的にサーバサイドのほうが多い
• サーバサイドエンジニアが開発しやすい環境がよい
開発拠点 5 ! " #
3拠点ある問題点 6 エンジニアは各拠点に点在している • JPが⼀番多い 各拠点間の時差が7〜9時間ある • 業務時間内でお互いに起きている時間が少ない やりとりの往復に時間がかかりすぎる •
なるべく往復を少なくしたい
効率的な開発のために
効率的に開発するためにやっていること 8 1. ⼿元ですぐにアプリを実⾏できる環境 2. 開発者向け機能の拡充 3. LLDB Pluginの活⽤ 4.
Charlesの活⽤
⼿元ですぐにアプリ を実⾏できるように
サーバサイドにアプリを使ってもらう⽅法 10 1. DeployGateやTestFlightによる配布 2. リポジトリからビルド
アプリの配布 11 開発環境アプリはDeployGateで配布 • Enterprise • パスワード付きの匿名配布 本番環境アプリはTestFlightも使う • プッシュ通知の確認などはTestFlight必須
リポジトリからビルド 12 チェックアウトしたらすぐに実⾏できる • CocoaPodsやCarthageをいれなくても、リポジトリを チェックアウトしてXcodeで開けばすぐに実⾏できる • git submodule or
バイナリ or コードまるごと • CIも早くなったり
開発者向け機能
本番環境アプリと開発環境アプリ 14 本番環境アプリと開発環境アプリの違い • APIサーバなどの向き先 • アイコンとデザイン • 開発者向け機能
本番環境アプリと開発環境アプリ 15
開発者向けメニュー 16 開発版だけに⼊っている • 本体を振ると出てくる できること • サーバの切り替え • 内部状態の確認
• 状態のリセットなど
開発者向けメニュー 17
実装の仕⽅ 18 #ifdef DEBUG - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { if
(motion == UIEventSubtypeMotionShake) { // ։ൃऀ͚ϝχϡʔͷදࣔ } } #endif
LLDB Pluginの活⽤
LLDB Pluginによる出⼒整形 20 LLDB Pluginとは • デバッガに独⾃コマンドを作れる仕組み どう使っているか • APIのレスポンスが期待しているものと違うときなどに、
サーバサイドエンジニアに通信内容を伝えるために使う
よく使っているLLDB Plugin その1 21 NSArrayやNSDictionayをJSON⽂字列と して出⼒
よく使っているLLDB Plugin その2 22 NSURLRequestのインスタンスをcurlコマ ンドとして出⼒
jsonコマンドのコード 23 https://gist.github.com/bricklife/1f6bff179cf5bda5b99638afc25b248a
curlコマンドのコード 24 https://gist.github.com/bricklife/080533e6855c7aef2319baeac60d2b8e
LLDB Pluginの作り⽅ 25 iOSエンジニアのための LLDB Plugin ⼊⾨ http://dealforest.hatenablog.com/entry/ 2016/09/02/043048 ポイント
• Pythonで書く必要があるがPythonの知識はいらない • 実⾏部分はSwiftやObjective-Cで書ける
Charlesの活⽤
Charlesとは 27 • みんな⼤好きネットワークプロキシ・デバッグアプリ • HTTPS対応!
Charlesの実⾏画⾯ 28
Charlesでよくやること 29 ネットワーク通信の監視 • ブレイクポイントも貼れる リクエストやレスポンスのダンプ • 正確な内容を知りたいときに レスポンスの書き換え •
⼀部を書き換えたり全部を差し替えたり • API側がまだ新仕様に対応していないときに
Thanks!