🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th anniversary

3bf6da1f63cd8b7a2f802f95c269ed80?s=47 FromAtom
May 10, 2019
2.9k

🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th anniversary

esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) でLTをした『esaが好きで作ったツールたち』の発表資料です。

3bf6da1f63cd8b7a2f802f95c269ed80?s=128

FromAtom

May 10, 2019
Tweet

Transcript

  1. esaが好きで作ったツールたち 2019/05/10 Fri. @FromAtom esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/)

  2. @FromAtom • 2014年: 株式会社はてな インターン → アルバイト ‣ はてなブログ リアルタイムプレビュー

    / はてブコメントの埋め込みコード • 2015年: ピクシブ株式会社 ‣ iOS アプリエンジニア ‣ pixiv Sketch / pixiv Sketch LIVE / pixivコミック / Pawoo ‣ 弊社ブログ(pixiv inside)編集員 ‣ pixiv TECH SALON運営
  3. IUUQTEPDTFTBJPQPTUT

  4. 2015年からesaを使い続けている

  5. 大好きなツールのひとつ

  6. 好きなツールは改造したくなる

  7. Yakitori 作ったツール その1

  8. 弊社esa事情 週に数十本の記事がShip It!されてSlackに通知される 読みきれん!!!

  9. はてブのホッテントリがあればよくね?

  10. はてなインターンで
 いろんなアルゴリズム教わったな

  11. じゃあ作るか

  12. できたわ

  13. Slackにも通知されます

  14. 3つのアプリで構成 Kushi Yakitori Negima esaから記事を取得し、記事の火力を計算して保存する。 ただのViewer。Yakitoriが計算した情報を整形して表示する。 定期的にSlackに通知する。

  15. 火力 = (p - 1) (t + 1) G t:

    投稿からの経過時間[h] G: 重み付け係数(1.8ぐらいがちょうどよい) p = star_count×1.0 + comment_count×1.2 + watch_count×0.2 ※Hacker NewsͰ࢖ΘΕ͍ͯΔΞϧΰϦζϜΒ͍͠Ͱ͢
  16. IUUQTHJUIVCDPN'SPN"UPN:BLJUPSJ

  17. 作る時に気をつけたこと • ランキングを作らない、ランキングに思わせない ‣ 記事に優劣などない ‣ 『今、盛り上がっている』だけがわかるように ‣ 表示画面で順位っぽい数字を置かない ‣

    「火力」という不思議ワーディングをする ‣ Slackへの通知は火力の高い記事の中からランダムで選ばれる
  18. Kujaku 作ったツール その2 Danny Perez Photography CC 2.0 https://www.flickr.com/photos/da100fotos/14919775822

  19. 弊社esa事情 esaのURLがSlackに貼られる事例多数 展開されん!!!

  20. URLが展開されないの、耐えられなくね?

  21. じゃあ作るか

  22. できたわ

  23. Slack Appを利用 • Unfurling links in messages ってのがある ‣ 特定ドメインのURLが投稿されたらイベントが発火

    ‣ Slack Appで指定したEndpointにリクエストが飛ぶ ‣ なんでも展開できるぞ!!!
  24. 処理の流れ “pixiv.esa.io" ドメインのesaのURLがSlackに貼られる イベントが発火してHeroku上のKujakuにリクエストが飛ぶ Kujaku上でesaのAPI叩いて、展開に必要な情報を収集 必要な情報を返すとSlackがいい感じに展開してくれる

  25. IUUQTHJUIVCDPN'SPN"UPN,VKBLV

  26. esa さん これからもよろしくね!