Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th an...
Search
FromAtom
May 10, 2019
1
4.2k
🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th anniversary
esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) でLTをした『esaが好きで作ったツールたち』の発表資料です。
FromAtom
May 10, 2019
Tweet
Share
More Decks by FromAtom
See All by FromAtom
「UIは英語なのにアプリ内リンクは日本語だ!」を防ぐコツ / pixiv App Night 2024-10-24
fromatom
0
67
『SwiftUIならiOS, macOSの両方で動くエディタアプリが簡単に作れる』 と思ったら大間違いだよ! / pixiv App Night 2024-01-25
fromatom
1
420
君だけのGFMエディタを作ろう! / iOSDC Japan 2023
fromatom
0
1.9k
サポートiOSバージョンを定期的にあげる仕組みづくり / iOSDC Japan 2022
fromatom
1
3.4k
僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021
fromatom
1
3.7k
やってみよう! iOSDCデザインスポンサー! / iOSDC Japan 2021 LT
fromatom
2
1.3k
デバッグメニューのメンテナンスが大変だったので、専用アプリを作りました。 / iOSDC Japan 2020
fromatom
9
6.2k
スクリーン配信機能の実装が大変だったので知見をお伝えします / iOSDC2019
fromatom
7
13k
複数のライブ映像を同期再生するのが大変だったので知見をお伝えします / iOSDC Japan 2018
fromatom
8
7.6k
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Language of Interfaces
destraynor
155
24k
A designer walks into a library…
pauljervisheath
205
24k
The World Runs on Bad Software
bkeepers
PRO
66
11k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How GitHub (no longer) Works
holman
312
140k
Practical Orchestrator
shlominoach
186
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Embracing the Ebb and Flow
colly
84
4.5k
Optimising Largest Contentful Paint
csswizardry
33
3k
Transcript
esaが好きで作ったツールたち 2019/05/10 Fri. @FromAtom esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/)
@FromAtom • 2014年: 株式会社はてな インターン → アルバイト ‣ はてなブログ リアルタイムプレビュー
/ はてブコメントの埋め込みコード • 2015年: ピクシブ株式会社 ‣ iOS アプリエンジニア ‣ pixiv Sketch / pixiv Sketch LIVE / pixivコミック / Pawoo ‣ 弊社ブログ(pixiv inside)編集員 ‣ pixiv TECH SALON運営
IUUQTEPDTFTBJPQPTUT
2015年からesaを使い続けている
大好きなツールのひとつ
好きなツールは改造したくなる
Yakitori 作ったツール その1
弊社esa事情 週に数十本の記事がShip It!されてSlackに通知される 読みきれん!!!
はてブのホッテントリがあればよくね?
はてなインターンで いろんなアルゴリズム教わったな
じゃあ作るか
できたわ
Slackにも通知されます
3つのアプリで構成 Kushi Yakitori Negima esaから記事を取得し、記事の火力を計算して保存する。 ただのViewer。Yakitoriが計算した情報を整形して表示する。 定期的にSlackに通知する。
火力 = (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ͰΘΕ͍ͯΔΞϧΰϦζϜΒ͍͠Ͱ͢
IUUQTHJUIVCDPN'SPN"UPN:BLJUPSJ
作る時に気をつけたこと • ランキングを作らない、ランキングに思わせない ‣ 記事に優劣などない ‣ 『今、盛り上がっている』だけがわかるように ‣ 表示画面で順位っぽい数字を置かない ‣
「火力」という不思議ワーディングをする ‣ Slackへの通知は火力の高い記事の中からランダムで選ばれる
Kujaku 作ったツール その2 Danny Perez Photography CC 2.0 https://www.flickr.com/photos/da100fotos/14919775822
弊社esa事情 esaのURLがSlackに貼られる事例多数 展開されん!!!
URLが展開されないの、耐えられなくね?
じゃあ作るか
できたわ
Slack Appを利用 • Unfurling links in messages ってのがある ‣ 特定ドメインのURLが投稿されたらイベントが発火
‣ Slack Appで指定したEndpointにリクエストが飛ぶ ‣ なんでも展開できるぞ!!!
処理の流れ “pixiv.esa.io" ドメインのesaのURLがSlackに貼られる イベントが発火してHeroku上のKujakuにリクエストが飛ぶ Kujaku上でesaのAPI叩いて、展開に必要な情報を収集 必要な情報を返すとSlackがいい感じに展開してくれる
IUUQTHJUIVCDPN'SPN"UPN,VKBLV
esa さん これからもよろしくね!