Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
無限LT #3 発表1回目 Firebaseでスクレイピングした話
ryo
September 15, 2019
0
82
無限LT #3 発表1回目 Firebaseでスクレイピングした話
ryo
September 15, 2019
Tweet
Share
More Decks by ryo
See All by ryo
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
140
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
98
OSS活動ことはじめ / begin oss activities
kawamataryo
7
1k
閲覧履歴、ブックマーク、タブを 横断的に検索できる Chrome拡張を作った話 / introduction to chikamichi
kawamataryo
3
220
esa+VuePressでJamstackなドキュメントサイトを作る / Build Jamstack site with VuePress & esa
kawamataryo
2
1.7k
Vue.js 状態管理の選択肢 - そのVuex本当に必要ですか - / Vue.js State Management Options
kawamataryo
7
3.5k
Firebase + Bolt で もくもく会用のSlack botを作った話 / Build slack bot with firebase + Bolt
kawamataryo
2
5.4k
Ref vs Reactive Vue3 Composition APIのリアクティブ関数の探究 / ref vs reactive Vue Composition API Deep in
kawamataryo
12
13k
僕とQiitaと、ときどきLT 〜アウトプット駆動でスキルを磨く〜
kawamataryo
0
330
Featured
See All Featured
Practical Orchestrator
shlominoach
178
8.7k
How to Ace a Technical Interview
jacobian
266
21k
Design by the Numbers
sachag
271
17k
Agile that works and the tools we love
rasmusluckow
319
19k
How GitHub (no longer) Works
holman
297
140k
Docker and Python
trallard
27
1.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
253
12k
KATA
mclloyd
7
8.8k
A Tale of Four Properties
chriscoyier
149
21k
A designer walks into a library…
pauljervisheath
196
16k
Optimizing for Happiness
mojombo
365
64k
A Modern Web Designer's Workflow
chriscoyier
689
180k
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いいぞ.. !!!
おわり