akatsuki174.hatenablog.com Open in urlscan Pro
54.199.90.60  Public Scan

Submitted URL: http://akatsuki174.hatenablog.com/
Effective URL: https://akatsuki174.hatenablog.com/
Submission: On November 08 via api from US — Scanned from JP

Form analysis 1 forms found in the DOM

GET https://akatsuki174.hatenablog.com/search

<form class="search-form" role="search" action="https://akatsuki174.hatenablog.com/search" method="get">
  <input type="text" name="q" class="search-module-input" value="" placeholder="記事を検索" required="">
  <input type="submit" value="検索" class="search-module-button">
</form>

Text Content

とりあえずやってみればいいじゃん
読者になる


とりあえずやってみればいいじゃん


エンジニア関連のことについてつらつら書くブログ

この広告は、90日以上更新していないブログに表示しています。

2020-05-28


「メルカリ・メルペイ・ヤフートップ・PAYPAYフリマのIOSエンジニア対談」参加メモ #MERPAY_TECHTALK

iOS 勉強会

iOSエンジニア対談のオンライン勉強会に参加したのでメモ書きを投稿。

mercari.connpass.com

この記事では私が個人的に特に気になったところをまとめて抜粋。Togetterを見る方がより細かくわかるはず。

togetter.com

以下、メモ書き。


テスト

 * メルカリではオブジェクトが解放されているかどうかのユニットテストが存在する
 * 動作確認にはリモートツールも使っている
   * メルカリではRemote TestKitを使い始めている
   * YahooではAppliCatを使っていて、WebUIでテストができる。が、重いので実機確認の方が多い。
 * アプリが大きくなってもテスト実行速度が落ちないように工夫してる
   * できるだけ単体で実行できるようにしたり、変更が入ったモジュールだけ動かすようにしてる
 * UIテストで使っているツールはプロジェクトによって異なる
   * メルカリ:Appium
   * メルペイ:XCUITest。ログインなどクリティカルなところをメインにカバー。
   * PayPayフリマ:費用対効果を考慮してやめた。代わりにユニットテストを増やしている
 * テストカバレッジ
   * Yahoo:75%
   * PayPayフリマ:64%
 * 非同期周りのテストはMockoloを使おうとしている


アーキテクチャ

 * PayPayフリマでは、クリーンアーキテクチャをテスト的に導入
   * 週1で勉強したり、副業など外から得た知識をペアプロで共有したりした
   * 画面遷移はCoordinatorパターン
   * VC/View以外はFrameworkに切り出している
   * テンプレートを選ぶとボイラーテンプレートが自動生成されるようにしている
 * メルペイは基本MVVMで、アーキテクチャオンボーディングはほぼなし
   * 極力OSSを使わないようにしてる
   * ReactiveSwiftも使わず、プレーンなObservableを使っている
   * おかげでオンボーディングコストもあまりない
 * メルカリはMVVM、Flux+MicroViewController
   * 1つのVCに複数の開発が走ることがあるが、このアーキテクチャによって並行開発がしやすい


開発プロセス

 * ヤフオクでは以前スクラムをやっていたが、現在はXPに変更
   * iOSエンジニア7人で3つ程度のペアプロチームを作って実装
   * 毎日ペアを入れ替える


ブランチ運用

 * メルカリではブランチをマージする前にQAを実施
   * 最後サブミット前に再度テストを実施
 * Yahoo!Japanアプリではマージした上でQAを実施
   * テストが完了したらフィーチャーフラグを変える
 * メルカリではブランチのオートマージをやっている
   * 毎晩botが自動でdevelop -> 各ブランチをやってくれる
   * コンフリクトがなければ即マージ、コンフリクトしてたら手動マージ


技術負債の返済

 * メルペイでは負債を返済するためのチーム、プロジェクトをEMが用意する


ビルド速度

 * メルカリではモジュールごとにサンドボックスアプリがある
 * メルカリではEmbedded Frameworkは導入しているが、それによってビルド時間が削減されたかんじはしない
   * Static Framework化して起動時間を短くするようにするなどもやっている


ローカライズ

 * ローカライズメッセージの管理、運用はあまりやっていない
   * メルカリは公式サポートしているのは日本語だけ。ただ開発メンバーには非日本語ネイティブがいて何が書いてあるかわからないこともあるので、dev環境だけ英語への自動翻訳がされるようにしている
 * メルカリではデザインシステムやローカライゼーションは外部モジュールにして、必要なときにimportしている


対応OSバージョン

 * 対応OSバージョンの下限は、理想は直近2バージョンだが、実際には3バージョンくらい
   * ユーザ数、GVMの影響を加味する
   * 今度から、WWDCで新しいバージョンが発表されたらディスカッションすることに決めた


API通信

 * メルカリ、メルペイではProtocol Buffersを採用
   * 型周りの心配がなくなる
 * PayPayフリマではBFFを使用
   * iOSエンジニアがBFFを開発することもあり、型の認識がずれることはそこまでない

akatsuki174 4年前 読者になる




広告を非表示にする

コメントを書く
 * もっと読む

次のページ

プロフィール
akatsuki174

エンジニア関連のことについてつらつらと書くブログ

読者です 読者をやめる 読者になる 読者になる
146
@akatsuki174をフォロー
このブログについて
検索

リンク
 * Qiita

最新記事
 * 「メルカリ・メルペイ・ヤフートップ・PayPayフリマのiOSエンジニア対談」参加メモ #merpay_techtalk
 * Lollipop端末でRatingBarの色が灰色になる問題の修正方法
 * Google Technical Writing 講座メモ:1 - 文法
 * Google Technical Writing 講座メモ:1 - intro
 * Android Dev Summit 2019 報告会参加レポ #AndroidDevSummit

月別アーカイブ
 * ▼ ▶
   2020 (4)
   * 2020 / 5 (1)
   * 2020 / 4 (1)
   * 2020 / 3 (2)
 * ▼ ▶
   2019 (18)
   * 2019 / 11 (1)
   * 2019 / 10 (6)
   * 2019 / 9 (3)
   * 2019 / 6 (4)
   * 2019 / 5 (4)
 * ▼ ▶
   2018 (63)
   * 2018 / 12 (39)
   * 2018 / 11 (2)
   * 2018 / 10 (2)
   * 2018 / 9 (3)
   * 2018 / 8 (2)
   * 2018 / 7 (3)
   * 2018 / 6 (1)
   * 2018 / 5 (5)
   * 2018 / 4 (5)
   * 2018 / 3 (1)
 * ▼ ▶
   2017 (67)
   * 2017 / 12 (5)
   * 2017 / 11 (1)
   * 2017 / 10 (3)
   * 2017 / 9 (3)
   * 2017 / 8 (1)
   * 2017 / 7 (2)
   * 2017 / 6 (5)
   * 2017 / 4 (13)
   * 2017 / 3 (22)
   * 2017 / 2 (4)
   * 2017 / 1 (8)
 * ▼ ▶
   2016 (63)
   * 2016 / 12 (13)
   * 2016 / 11 (5)
   * 2016 / 10 (7)
   * 2016 / 9 (5)
   * 2016 / 8 (8)
   * 2016 / 7 (10)
   * 2016 / 6 (9)
   * 2016 / 5 (6)

とりあえずやってみればいいじゃん

Powered by Hatena Blog | ブログを報告する




引用をストックしました

ストック一覧を見る 閉じる

引用するにはまずログインしてください

ログイン 閉じる

引用をストックできませんでした。再度お試しください

閉じる

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる
146