アンテナサイト作りますた

http://prpr-antena.com/

サイトについて

2chまとめサイトRSSを定期的に取得して表示するサイトです。

作ろうと思ったきっかけ

いつも利用しているアンテナサイトがあるのですが、
夜の時間帯に限らず503で利用できないことがよくあって、これはだめだと思ってついカッなって作りました。

使ったもの

バック
  • Rails4
  • postgresql
  • unicorn
  • nginx
  • debian7
  • bitbacket
    • privateにしています。今思えばprivateリポジトリにしたおかげでモチベーションを維持できたような気がしています。
rubygems
  • sorcery
    • シンプル認証系ライブラリ
    • おかげさまで総当たり攻撃対策を簡単に実装できました。
  • active_decorator
    • viewの処置をmodel寄りで実装できる。
    • 個人的に必須。
    • 間違った使い方になることが少ないのでDraperより好き。
  • capistrano
    • デプロリツール。
  • acts_as_list
    • サイトを任意の順番で並べたかったで使ってます。
  • nokogiri
    • サイト登録する時にRSSのURLを探すのを自動で取得したかったのでこのライブラリでRSSURLを取りにいっています。
  • kaminari
    • ページネーションライブラリ。
  • feedzirra
    • RSS情報を取得するやつ。rubyには標準でrss取得するモジュールがあるんですが、atomに対応していませんでした。
    • ruby2.0に対応していたので使いました。
フロント

制作時間

1週間ちょっとくらい。
仕事帰りの電車とか、早く出社して業務時間前に作ったり、帰ってきて家でとかだいぶストイックに書いてました。
先週の3連休でサーバ設定やりました。
レンタルサーバも借りてるのですが、postgresを使いたかったのと、憧れのVPSが欲しかったのでこの際にさくらで契約しちゃいました。

技術的なこと

登録サイトRSS取得処理を30分置きにcronで(rails rコマンド)実行しています。
今の登録サイト数は89サイトあって、30分置きに全サイトのRSS取得してますが、未登録記事だけDBに記録しているので負荷は常に低いままです。
今後サイト数を増やしてRSS取得だけで負荷になるようであれば、RSS取得は別のサーバにしようかなとか考えてます。

今後やりたいこと

  • デザイン頑張る。
  • N+1問題を抱えている場所があるのでeagerする。
  • 使ってくれる人を増やす。
  • スマホ対応

作ってみた感想

業務でサーバ構築をさせてもらったことがあったので、サーバ構築はさくさくできて楽しかった。
ゴミくずとか意識しないでこれからもっと作っていきたい。