0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Yahoo! JAPAN Tech Conference 2019に参加しました

Posted at

公式
大変勉強になったのでメモ

基調講演

  • "SPEED"をテーマに意識改善した話
  • 数千人の所帯での実行は凄い

1. PayPayフリマ開発のチームと下地

  • 下地
    • 開発環境をmake一発でセットアップできるようにする等
  • チーム
    • ほぼすべてペアプロ、テストドリブンでの開発。
    • ペアは日ごとにローテ(1週間前考慮するツール自作)
    • 1件(1ストーリー)ごとに1人がテスト作成、その後もう1人が実装という流れで実施(交互に実施)
    • ペアプロした分コードレビューは省略、gitのpre pushでテスト通るかは確認している

ペアプロ未経験なので実演まで見せていただき大変勉強になりました。
手が半分になるのが不安でしたが、その後の懇親会で伺ったところ、状況によるだろうが十分価値がある、というお話でした。

  • コード打つ時間より考えている時間のほうが長いので、手が半分になる影響はそこまでない
  • レビュー削減やデバッグ時間考えるとペアプロのほうが早いと思う
  • 特に新卒で入ってきたなどで効果大
  • 一人で作業完結できるベテランだと話は変わるかも

2. Z Lab Kubernetes運用を支える技術

  • YahooはパブリッククラウドではなくOpenStack上でコンテナ運用
  • 500クラスタ 8000ノードある
  • クラスタサイズ増やせなかった時代から作ってるのでクラスタ多く
  • リソース効率は悪いが、独立してアップデートかけられる利点がある
  • クラスタ・ノードの即追加や定期アップデート、ノード復旧などの要件に答える必要あり
  • k8s controller使って簡単に出来るようにした

聞いてはいましたが、かなり大規模じゃないと割に合わないですね…

3. HTMLの新要素 portal での遷移

  • aタグとiframeの合わせ技のような新タグ
  • iframeの様にまず表示して、activateするとaタグのように遷移(URLバーの表示が実際に変わる)ということが出来る
  • ページ遷移の体感速度を上げられる。遷移の白い画面を無くせる
  • PayPayモール(検索結果→個別ページ)やYahooニュース(個別→個別)で適用
  • ただし現状Chromeでしか使えない。
  • PayPayモールの場合はもともとaタグで個別ページ遷移しているので、使える場合はportalを使うようにしている

体感でサクサク動くよう出来るのはかなり期待大。
chrome以外でも使えるようになるのが楽しみです。

4. クロスユースプラットフォーム

特に面白いことなし
というか発表が間延びしすぎて全然内容に集中できなかった…

5. 広告サイエンスにおける統計的機械学習技術のご紹介

  • Yahooディスプレイアドネットワークの話
  • CTR(Click throug rate)上げるため機械学習を使用
  • デバイス、地域、性別、年齢、興味等 → 広告(候補)に対する予想クリック率を計算、高い広告を表示する(ランキング)
  • ただ、この計算は実際とずれが生じる。
    • Ranking bias 過去データに基づく計算をするが、過去データ自体が上記のランキングの結果によるものなので、そこでバイアスがかかる(例え一様分布でも起きる)
    • Negative Bias 偏ったデータの学習によりモデルも偏る
  • この特性を表現する指標として切断点を計算、これでランキング補正
  • 結果 収益+6%, クリック率+8%

言われれば確かにそんなバイアスがかかるんだな、という気持ちになりますが、正直自分で気づいて補正は無理。
この手の仕事するときは専門家に頼む方が良い、という結論になりました。
データサイエンス部門があるYahooはその点凄いですね。

6. CtoCフリマアプリの作り方 〜6ヶ月間のPayPayフリマ開発を支えた設計〜

バックエンド

  • ヤフオクからの流用ではなく18機能をスクラッチ開発
  • 短期間 半年で開発 仕様1 開発4.5 テスト1.5
  • キャンペーン打つので最初から高負荷前提
  • テンプレート、ペアプロ等 並行開発
  • ビジネスロジックとデータのプラットフォーム分割 … 並行開発、スケール可能
  • クロスリスティング(ヤフオクのものをフリマで買える) … 検索同じシステム。フォーマット互換性つける&対象見てDB叩き分け
  • データやり取りはGraphQL

Android

  • 60画面 10人3か月で作った。残業も最後の月でも平均10h程度
  • ペアプロで開発
  • Android Jetpack, マルチモジュール、DI Framework(Dragger)で効率化

ポスターセッション

  • 社内データからユーザー属性推定
    • ターゲティングで開封率・クリック率アップ、opt out率ダウン
    • データは既に社内に大量にあるとはいえ、やはり各部門からの拾い出しがかなり大変だったみたいです。
  • 知恵袋の検索ランキング付け
    • オープンで競争し改善
    • クリック率が指標というのがちょっと雑(釣りタイトルを上位にすれば評価上げられる)な感あるが面白そう
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?