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.3k
🎉 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
78
『SwiftUIならiOS, macOSの両方で動くエディタアプリが簡単に作れる』 と思ったら大間違いだよ! / pixiv App Night 2024-01-25
fromatom
1
490
君だけのGFMエディタを作ろう! / iOSDC Japan 2023
fromatom
0
2k
サポートiOSバージョンを定期的にあげる仕組みづくり / iOSDC Japan 2022
fromatom
1
3.7k
僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021
fromatom
1
3.9k
やってみよう! iOSDCデザインスポンサー! / iOSDC Japan 2021 LT
fromatom
2
1.4k
デバッグメニューのメンテナンスが大変だったので、専用アプリを作りました。 / iOSDC Japan 2020
fromatom
9
6.4k
スクリーン配信機能の実装が大変だったので知見をお伝えします / iOSDC2019
fromatom
7
13k
複数のライブ映像を同期再生するのが大変だったので知見をお伝えします / iOSDC Japan 2018
fromatom
8
7.8k
Featured
See All Featured
BBQ
matthewcrist
88
9.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Adopting Sorbet at Scale
ufuk
76
9.4k
Six Lessons from altMBA
skipperchong
28
3.8k
The Language of Interfaces
destraynor
158
25k
Side Projects
sachag
454
42k
A Tale of Four Properties
chriscoyier
159
23k
Optimizing for Happiness
mojombo
378
70k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
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 さん これからもよろしくね!