今更な話題。
かなり前にこのブログでも触れたD0-RSSを移行しようかという話の続きという位置づけの話です。
やっとD0-RSSをこのサーバに移行しました。
作業自体は正月に行っており、完全移行は1月の終わり頃行いました。

また、移行と同時に以下の機能を追加しました。
***
追加した機能
・cronで定期的にRSSを取得
・cronでD0公式の最新情報を1日1回取得
Duel Portal 2nd(通称 ToCaGe)のD0カテゴリのhtmlを無理やりrssにして更新を取得
・Googleの「ディメンション・ゼロ」での検索結果(最新1週間)を取得&表示

(以下、余談)

・cronで定期的にRSSを取得
これは、D0-RSSをこのサーバに移行する主目的。
以前D0-RSSを公開していたherokuのサービスでは、無料だとたしかcronは使えなかったんですね。
だから、外部のcronサービスを使ってたんですが、あまりRSS更新が安定しませんでした。
また、更新が安定しないので、D0-RSSにアクセスがあった際に数個のブログのRSS更新をするような実装をしていたのですが、こういうことをするとページの表示が遅くなってしまうのは避けられないので、それも今回の移行で解決されてます。
実際ページ表示は早くなった気がする!
(ちなみに、現在D0-RSSは毎時間の12分頃に全RSSを取得しなおしてます)

・cronでD0公式の最新情報を1日1回取得
これも、実は以前だとアクセスが有るたびにD0公式のhtmlを読みにいって取得していたんですが、それだと表示が遅くなったりD0公式も週1くらいの更新なので無駄が多いため、1日1回取得したものを保存しておいて表示するように変更しました。
あと、外部のサイトにアクセスしまくるのはあまりよろしくないので、こういう実装に変えてよかったかなと思います。
このレベルのだと全然問題無いとは思いますが、どっかの図書館のサイトから情報をとってくるプログラムをつくって動かしてた人が悪意はなかったのに逮捕されたりとかあったりするし、、、Wikipedia 岡崎市立中央図書館事件

Duel Portal 2nd(通称 ToCaGe)のD0カテゴリのhtmlを無理やりrssにして更新を取得
D0-RSSはもともとRSS機能をもったブログとかサイトからD0の最新情報の更新を取得してくるものなのですが、RSS機能がないサイトでもD0の情報は更新されているわけです。
その中でもToCaGeはD0の情報を更新している人がそれなりにいるため、D0カテゴリのhtmlを無理やりrssにパースして更新を取得できる機能を追加しました。
こういう専用機能を作るのはちょっとめんどくさいですが、パースするrubyのライブラリ(nokogiriだっけかな)の使い方に慣れればわりといけるなって思いました。

・Googleの「ディメンション・ゼロ」での検索結果(最新1週間)を取得&表示
これは、たま〜にD0関連の新しいブログができていたり、なんか話題が転がっていたりするので、簡単にチェックできるようにしたいな〜と思って機能を追加しました。
普通の検索結果だとD0公式とか主要なところしか1ページ目に出てこないので、最新1週の検索結果を取ってくるようにしました。
たまに覗いてみて、気になるものがあったらアクセスしてみると楽しいと思います。

こんな感じで、各機能を実装しました。
やはり、自分のサーバで動いているっておもうとどこか達成感があります。
D0-RSSは、自分が使うためのWebプログラムとして作ってきたので自分が使いやすいように色々と変更や機能追加を繰り返してきました。
そして、気づけばD0-RSSも公開から3年が経っています。早いですね。
ちなみに、D0-RSSの機能更新の履歴はここに載せています。
(たまに機能更新の履歴を眺めて、よくやったな〜って思い出に浸ってます)
今のところ、D0-RSSの機能として作りたいものはすべてやりきったのですが、また新しい機能を加えたくなったら再び機能更新を繰り返していくと思います。

追記:
そういえば、製作者である自分のこのブログは、まだRSSを吐けるようにしていなかった、、、
D0-RSS自体の機能更新ではないですが、このブログも機能を追加して、更新をD0-RSSで取得できるようにしたいです。

さらに追記:
このブログもrssを出力できるようにしました。