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.5k
🎉 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
96
『SwiftUIならiOS, macOSの両方で動くエディタアプリが簡単に作れる』 と思ったら大間違いだよ! / pixiv App Night 2024-01-25
fromatom
1
590
君だけのGFMエディタを作ろう! / iOSDC Japan 2023
fromatom
0
2.2k
サポートiOSバージョンを定期的にあげる仕組みづくり / iOSDC Japan 2022
fromatom
1
4k
僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021
fromatom
1
4.4k
やってみよう! iOSDCデザインスポンサー! / iOSDC Japan 2021 LT
fromatom
2
1.5k
デバッグメニューのメンテナンスが大変だったので、専用アプリを作りました。 / iOSDC Japan 2020
fromatom
9
6.9k
スクリーン配信機能の実装が大変だったので知見をお伝えします / iOSDC2019
fromatom
7
14k
複数のライブ映像を同期再生するのが大変だったので知見をお伝えします / iOSDC Japan 2018
fromatom
8
8.3k
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
590
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Getting science done with accelerated Python computing platforms
jacobtomlinson
1
99
New Earth Scene 8
popppiees
1
1.4k
Testing 201, or: Great Expectations
jmmastey
46
7.9k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
92
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
42
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Unsuck your backbone
ammeep
671
58k
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 さん これからもよろしくね!