LoginSignup
1
1

More than 5 years have passed since last update.

はてなブログの歴代一位をまとめて見れるサイトを作った

Last updated at Posted at 2019-03-30

はじめに

はてなブログのテクノロジーカテゴリをよく見ています。
今までの歴代一位がどのようなものだったか気になって一覧で見れるサイトを作りました。

使った技術

  • serverlessFramework
  • go
  • goquery
  • RealtimeDatabase
  • lambda
  • vue

バッチ

はてなブログのデータを取得するスクリプトをバッチで動かしています。
はてなブログをスクレイピングするコード(go)を書き、ServerlessFrameworkを使ってlambdaにアップロードしています。
ServerlessFrameworkは serverless.yml にcronを定義しておけば、cloudWatchを使ったlambdaのスケジュール実行を設定してくれるのでお手軽にバッチ処理が作れます。

参考:https://dev.classmethod.jp/etc/serverless-framework-lambda-cron-execute/

スクレイピングしたデータを保存する場所としてはfirebaseのRealtimeDatabaseを使いました。

初めはCloudFirestoreの方に保存していたのですが、保存しているドキュメント数が5000近くになり、無料プランでの一日のドキュメント読み取り数が50000だったため、10回全件取得すると、その日はデータ取得ができなくなる状態になりました。
そのため、RealtimeDatabaseに乗り換えましたが、NoSQLにデータを保存する際の設計がわかっていれば、CloudFirestoreでもうまくできたような気がします。

フロント

vueを使いました。vue-cliで雛形を作り、それをいじって作っています。
デプロイにはnetlifyを使っています。

最後に

goとvueを勉強するために作りましたが、こういう小さいアプリケーションを色々作っていきたい気持ちです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1