Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th an...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
FromAtom
May 10, 2019
4.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
🎉 esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) 🎉 / esa the 5th anniversary
esa 生誕5周年記念パーティー(\( ⁰⊖⁰)/) でLTをした『esaが好きで作ったツールたち』の発表資料です。
FromAtom
May 10, 2019
More Decks by FromAtom
See All by FromAtom
「UIは英語なのにアプリ内リンクは日本語だ!」を防ぐコツ / pixiv App Night 2024-10-24
fromatom
0
150
『SwiftUIならiOS, macOSの両方で動くエディタアプリが簡単に作れる』 と思ったら大間違いだよ! / pixiv App Night 2024-01-25
fromatom
1
650
君だけのGFMエディタを作ろう! / iOSDC Japan 2023
fromatom
0
2.4k
サポートiOSバージョンを定期的にあげる仕組みづくり / iOSDC Japan 2022
fromatom
1
4.4k
僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021
fromatom
1
4.9k
やってみよう! iOSDCデザインスポンサー! / iOSDC Japan 2021 LT
fromatom
2
1.6k
デバッグメニューのメンテナンスが大変だったので、専用アプリを作りました。 / iOSDC Japan 2020
fromatom
9
7.7k
スクリーン配信機能の実装が大変だったので知見をお伝えします / iOSDC2019
fromatom
7
15k
複数のライブ映像を同期再生するのが大変だったので知見をお伝えします / iOSDC Japan 2018
fromatom
8
8.8k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Technical Leadership for Architectural Decision Making
baasie
3
590
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
260
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
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 さん これからもよろしくね!