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
無限LT #3 発表1回目 Firebaseでスクレイピングした話
Search
ryo
September 15, 2019
0
120
無限LT #3 発表1回目 Firebaseでスクレイピングした話
ryo
September 15, 2019
Tweet
Share
More Decks by ryo
See All by ryo
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
150
ts-morphのパフォーマンス改善Tips
kawamataryo
0
20
webpack to Rspack
kawamataryo
0
24
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
1.9k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
190
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
360
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
2.2k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.4k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
kawamataryo
0
3.3k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
182
22k
Being A Developer After 40
akosma
89
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Designing for humans not robots
tammielis
250
25k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Site-Speed That Sticks
csswizardry
4
390
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Speed Design
sergeychernyshev
27
800
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
Firebaseのリソースをフルに使って スクレイピングアプリを作った話
Agenda 1. 開発の動機 2. 要件 3. 構成図 4. アプリ紹介 5.
作ってみての所感 6. まとめ
1. 開発の動機
定期的に更新情報を 確認しているサイトがある
Firebase 勉強したい (元Fire Fighterだけに)
Firebaseで、 スクレイピングだ….!!!
2. 要件・仕様
• HPでのみ予約状況を公開しているお店 • いつも人気でキャンセル待ち • 予約状況は不定期に更新される • 空き情報のメルマガなどはない • 定期的にHPを確認するしかない
想定
仕様
仕様.1 HPから予約情報を取得できる FirebaseFunctionsでPuppeteerを 動かしてスクショを取得
仕様.2 定期的に実行できる FirebaseのCloud Scheduler で指定周期で実行
仕様.3 情報を通知できる Firebase Functionsで Slackに通知を送る
仕様.4 差分がある時だけ通知する ImageMagickで画像の差分を取得 差分がある時だけ通知を実行
仕様.5 管理画面で対象を管理したい Firebase Auth + Vue.jsで 認証機能付き管理画面作成 Firebase Hosting にホスト
3. システム構成
None
4. アプリ紹介
DEMO https://contact-form-demo-83958.firebaseapp.com/
5. 所感
5-1. 良かったところ
何より楽 インフラ考えなくて良い
TypeScript だけで完結
一通りのFirebaseの リソース触れた
5-2. 詰まったところ
無料プランでは動作しない
Cloud Schedulerの SDK経由のアップデート
node経由での ImageMagickの使い方 https://github.com/kawamataryo/firebase-fucnctions-auto-image-di ff/blob/master/functions/src/lib/imageMagick.ts#L25
6. まとめ
Firebaseいいぞ.. !!!
おわり