Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

@FromAtom • 2014年: 株式会社はてな インターン → アルバイト ‣ はてなブログ リアルタイムプレビュー / はてブコメントの埋め込みコード • 2015年: ピクシブ株式会社 ‣ iOS アプリエンジニア ‣ pixiv Sketch / pixiv Sketch LIVE / pixivコミック / Pawoo ‣ 弊社ブログ(pixiv inside)編集員 ‣ pixiv TECH SALON運営

Slide 3

Slide 3 text

IUUQTEPDTFTBJPQPTUT

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

大好きなツールのひとつ

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Yakitori 作ったツール その1

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

じゃあ作るか

Slide 12

Slide 12 text

できたわ

Slide 13

Slide 13 text

Slackにも通知されます

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

火力 = (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Ͱ࢖ΘΕ͍ͯΔΞϧΰϦζϜΒ͍͠Ͱ͢

Slide 16

Slide 16 text

IUUQTHJUIVCDPN'SPN"UPN:BLJUPSJ

Slide 17

Slide 17 text

作る時に気をつけたこと • ランキングを作らない、ランキングに思わせない ‣ 記事に優劣などない ‣ 『今、盛り上がっている』だけがわかるように ‣ 表示画面で順位っぽい数字を置かない ‣ 「火力」という不思議ワーディングをする ‣ Slackへの通知は火力の高い記事の中からランダムで選ばれる

Slide 18

Slide 18 text

Kujaku 作ったツール その2 Danny Perez Photography CC 2.0 https://www.flickr.com/photos/da100fotos/14919775822

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

じゃあ作るか

Slide 22

Slide 22 text

できたわ

Slide 23

Slide 23 text

Slack Appを利用 • Unfurling links in messages ってのがある ‣ 特定ドメインのURLが投稿されたらイベントが発火 ‣ Slack Appで指定したEndpointにリクエストが飛ぶ ‣ なんでも展開できるぞ!!!

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

IUUQTHJUIVCDPN'SPN"UPN,VKBLV

Slide 26

Slide 26 text

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