Skip to content

Instantly share code, notes, and snippets.

@matsumana07384
Last active March 27, 2018 13:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matsumana07384/a1d391b62a7b0560104ef0709a97c0bf to your computer and use it in GitHub Desktop.
Save matsumana07384/a1d391b62a7b0560104ef0709a97c0bf to your computer and use it in GitHub Desktop.

2018/02/01(木)19:00〜21:00


  • 第1回のテーマは 「APIの役割の多様化」 です!
    • アプリやWeb、スピーカーなど出面の多様化
    • 海外進出によるリージョンの多様化
    • 自社や開発者など利用者の多様化
  • といった多様化や変化に対して、APIやサーバーサイドをどのような思想で開発しているかを語り合うことで、これからのサーバサイドのあり方について一緒に考えられる夜にしましょう!

19:35 APIのリトライ処理

山内 晨吾氏

ヤフー株式会社 ヤフオク!アプリエンジニア


  • 遅刻のため,割愛

Real World Mercari API Architecture

佐野 正浩氏

MerPay Server Side Principal Engineer


それぞれの国でサービスを展開

  • 各国でやってることが別々になってきた
  • US/UKで求めてるものが違うので,構成も異なる
    • マイクロサービスが沢山
    • メルカリボックス?
  • APIフォーク
    • アプリ
    • コード
    • 組織
      • 日本とアメリカでコンフリクトが発生
    • Microservice化のアプローチの違い

A/Bテスト機構の実装と、それがもたらす大胆な開発体制とゆるやかなアプリ体験の変化

高橋 誠二氏

株式会社Gunosy 新規事業開発室 エンジニア


今日話をするサービス

ABテスト

  • 概要
    • 施策の妥当性
    • 仮設の検証
    • 上記のためにユーザーをサンプリングしてUIやデータ構成を検証するもの
  • 注意事項
    • 結果に対して相互作用をもつテストは同時並行はNG
      • 計測結果に影響が出る
    • 施策以外の要因によってKPIが上下していないか
      • ユーザーが少ないとばらつきやすい
      • 季節が変わると違う動きをしてしまうとか
      • 対象ユーザーを計測してから見たほうがいい

どんなことをするの

  • Push配信回数調整テスト

    • 一番継続率に聞いてくるか
    • 証明されるまで検証
  • カテゴリ内の記事表示出し分け

    • 新規ユーザー向け
    • 更新日時の鮮度
    • 特定カテゴリを多めに表示
  • 検索結果のソート機能

    • おすすめ
    • 古い
    • 新しい
    • 検索ワードの合致率
      • ユーザーの行動がどう考えるのか

ABテストの基盤

  • 分析基盤
  • 実施基盤
    • User情報
      • ユーザーのケースをどうしますか
      • ケース一覧を返す

割当

  • 全体ユーザーに対して何%割り当てるか
    • 重複なく実行するための機能
  • ABテストそのものをどうするか
    • 1個のイベントに付き1つのランダムなKeyを降る
  • テストケースをどの程度実行するか
    • 個別のケースを保存

開発体制

  • 機能導入を大胆に
  • 本当に効く施策ってなんだろう
    • 自分の思い込みをなくす

体験をどうする

  • 壊れないアプリが作れる
    • 異常な動作があれば,割当率を変えればよい
  • 納得度の高い機能が使える
    • 余分な機能を切って行ける
    • 必要な機能だけを提供できる

まとめ

  • 包含 排他の関係を明確した状態でA/Bテストを行うことで安全
  • ユーザー体験が改善しない機能をリリースしなくて住む
    • 双方が幸せ!

20:30 LINEにおけるデベロッパープロダクトシステムのマイクロサービス

御代田 亮平氏

LINE株式会社デベロッパープロダクトチーム


  • 社内向け開発チーム

特徴

  • 2011年よりサービス提供
  • 台湾,タイ,インドネシアにも展開
  • In-appのアプリケーション&ネイティブアプリを提供できるアプリケーションPF

開発拠点

  • 日本
    • 新宿
    • 福岡
    • 京都
  • 中国
  • 韓国
  • 別なむ
  • 台湾
  • タイ

課題

  • モノリシックなサービス
    • スケーラブルに外部へ公開するAPIを整えて開発してこなかった
  • 専任の担当者の不足
    • UX&DXに優れた機能を提供しないといけない
  • グローバルな開発環境への対応
    • 既存のユーザーを保ちつつ,プラットフォームを広げていく

根本問題

  • コンシューマー
    • ビジネスパートナー
      • ディベロッパー
        • の順で優先順位
        • 昔はもっと優先度が低かったのよ
  • ビジネスパートナーとの内々のAPIだとクオリティが不要
    • そのため,そこまでクオリティが高くないものに

改善

  • アーキテクチャの改善
    • ボットAPI
  • データ周り
  • ざっくり
    • 2015
      • ログインのパブリックリリース
    • 2016
      • ボットサービスのマイクロサービス化
    • 2017
      • 簡単

開発体制の今昔

  • 外部にAPIを公開したい
    • 同じAPIに携わるチームが国をまたがる
      • お互いにあったことがないことも…
    • インターフェースがバラバラ
    • CEOくらいしか把握していない謎のAPI
    • CTO
      • それぞれのチームで戦略的に開発展開
      • 世の中に展開していった
  • 未来
    • 開発チームそれぞれにグロース目標を!

生体認証のAPI化

上野 博司氏

ヤフー株式会社 IDソリューション本部 サーバサイドエンジニア


  • FIDOについて知ってもらうために発表されたそうですぞ

認証の要素

  • 記憶
    • ひみつのしつもん
    • パスワード
  • 所持
    • 本人のみが所持しているもの
  • 生体
    • 指紋
    • 虹彩

パスワード認証の問題

  • 利便性の問題
    • 複数のパスワードを管理するのが面倒
    • スマホで入力が面倒
    • そもそも忘れる
  • 安全性の問題
    • パスワードを使いまわし
      • 外部の脆弱性に依存してしまう可能性あり
    • ユーザーリテラシーに依存
    • リスト型攻撃などに弱い
  • 解決法
    • 安全性と利便性の向上

FIDO認証

  • 公開鍵暗号方式を使って所持認証と生体認証を実現するプロトコル
    • 組み合わせることでよりセキュアに!
      • 本人姓のの検証はローカルデバイス
      • 公開鍵暗号方式
      • 結果を送付
        • Cookieやトークン
  • 生体情報どうするの?
    • 生体情報はサーバーに送られずローカルデバイスからでない!
  • パスワード認証と何が違うの
    • 認証する
      • 認証結果とIDを送る
      • IDの識別する
      • 認証の結果でトークンを吐き出す
    • 登録の流れ
      • 登録開始
        • チャレンジを発行し,送る
        • 認証用の鍵ペアを生成
        • 公開鍵とチャレンジをサーバーへ
      • 登録完了
    •  認証の流れ
      •  登録開始
        • チャレンジを発行
        • 認証機で認証し,OK
        • 秘密鍵で署名
        • サーバーへ送付
        • 公開鍵で認証する

FIDO認証をブラウザで使うには?

  • 策定中
  • W3Cで検討中
  • JSでAPIを叩くだけでFIDO認証を実現可能!

まとめ

  • FIDO認証って
    • 認証プロトコル
  • 生体情報はサーバーに送るの
    • 送らない
  • Web Authentication って
    • ブラウザAPI!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment