無限LT #3 発表1回目 Firebaseでスクレイピングした話

0a16f7b8629f2facca2a1e80a73c5423?s=47 ryo
September 15, 2019
46

無限LT #3 発表1回目 Firebaseでスクレイピングした話

0a16f7b8629f2facca2a1e80a73c5423?s=128

ryo

September 15, 2019
Tweet

Transcript

  1. Firebaseのリソースをフルに使って スクレイピングアプリを作った話

  2. Agenda 1. 開発の動機 2. 要件 3. 構成図 4. アプリ紹介 5.

    作ってみての所感 6. まとめ
  3. 1. 開発の動機

  4. 定期的に更新情報を 確認しているサイトがある

  5. Firebase 勉強したい (元Fire Fighterだけに)

  6. Firebaseで、 スクレイピングだ….!!!

  7. 2. 要件・仕様

  8. • HPでのみ予約状況を公開しているお店 • いつも人気でキャンセル待ち • 予約状況は不定期に更新される • 空き情報のメルマガなどはない • 定期的にHPを確認するしかない

    想定
  9. 仕様

  10. 仕様.1 HPから予約情報を取得できる FirebaseFunctionsでPuppeteerを 動かしてスクショを取得

  11. 仕様.2 定期的に実行できる FirebaseのCloud Scheduler で指定周期で実行

  12. 仕様.3 情報を通知できる Firebase Functionsで Slackに通知を送る

  13. 仕様.4 差分がある時だけ通知する ImageMagickで画像の差分を取得 差分がある時だけ通知を実行

  14. 仕様.5 管理画面で対象を管理したい Firebase Auth + Vue.jsで 認証機能付き管理画面作成 Firebase Hosting にホスト

  15. 3. システム構成

  16. None
  17. 4. アプリ紹介

  18. DEMO
 https://contact-form-demo-83958.firebaseapp.com/ 


  19. 5. 所感

  20. 5-1. 良かったところ

  21. 何より楽 インフラ考えなくて良い

  22. TypeScript だけで完結

  23. 一通りのFirebaseの リソース触れた

  24. 5-2. 詰まったところ

  25. 無料プランでは動作しない

  26. Cloud Schedulerの SDK経由のアップデート

  27. node経由での ImageMagickの使い方 https://github.com/kawamataryo/firebase-fucnctions-auto-image-di ff/blob/master/functions/src/lib/imageMagick.ts#L25

  28. 6. まとめ

  29. Firebaseいいぞ.. !!!

  30. おわり