はてなブログで購読してるブログをReederで読む方法
はてなブログで購読しておくと、毎朝更新内容をメールしてくれるけど、メールじゃなくてReederで読めるようにしたかったので、そのための仕組みを作ってみた。
処理の流れは以下のとおり。
ReederはFeedlyに対応してるので、Feedlyにブログのフィードを登録しておくと、Reederで読めるようになる。crontabでFeedlyへの登録処理を回してやって、新しく購読したブログのフィードが自動的にFeedlyに登録されるようにすることで、購読したものがReederで読めるようになる。
はてなブログで購読中のブログ一覧を取得する
はてなブログは購読中のブログを取得するようなAPIを公開してないみたいなので、CasperJSを使ってスクレイピングした。CasperJSは綺麗に書けて良いと思う。
ブログのフィードをFeedlyに登録する
FeedlyのPOST APIをサポートしてるライブラリがなかったのでライブラリを作った。
https://github.com/kmdsbng/feedly
まだ実装してないAPIがいっぱいあるけど、とりあえず認証してフィードを登録することはできる。
FeedlyのAPIを使うには、FeedlyのAccess Tokenを入手しないといけない。
Access Tokenを入手するための認証プログラムをサンプルに含めた。
https://github.com/kmdsbng/feedly/blob/master/sample/get_token.rb
実行して指示に従うと、Access Tokenを入手できる。以下の様なかんじ。
% ruby get_token.rb 1. Access this url. Then redirect https://cloud.feedly.com/feedly.html?code=???&status= . https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=5348905598... # このURLにアクセスすると、googleのログインページに飛んで、最後にcloud.feedly.comに飛ばされる。そのクエリパラメータにcodeがセットされてる 2. Please input code > AQAAO7N7InAiOjE... # 1. で入手したcodeを入力する OK. success to get tokens access_token: AQAAUkN7I... # Access Tokenが表示される
Feedlyにフィードを登録するスクリプトはこんな感じ。
crontabから、これらをパイプでつないだ 処理を実行する。
0 * * * * cd $HOME/work/register_feedly; casperjs get_hatena_blog_subscribe_list.coffee | ruby register_to_feedly.rb
これで、はてなブログで購読したら自動でFeedlyに登録されるようになります。
登録されてますね。
パッガパオ
カルディで200円くらいで売ってるパッガパオの元を使ってパッガパオ作る。おいしいけどめちゃくちゃ辛いので、ご飯の友みたいにスプーンでよそって食べるようにしたらいい感じになった。
ハンバーグ食べたい
テスト
最高に簡単にwebサーバが書けるRubyのライブラリ作った
最高に簡単にwebサーバが書けるRubyのライブラリを作った。
webio
https://github.com/kmdsbng/webio
コンソールでデータを受け取って回すのと同じ労力でWebアプリ作るみたいなことがしたかった。
例えばこういうコードが動く。
これを走らせておいて、ブラウザで http://localhost:9999/World にアクセスできる。
結構面白いんじゃないかと思う。
今は実装スカスカなので、IOの要件満たすくらいに実装進めたい。
tmuxinatorが便利
tmuxinatorは、tmuxを起動したときの動作を設定できるアプリケーション。
ウインドウ0はエディタを起動して、ウインドウ1はmysqlクライアントを起動して、みたいな設定ができる。
tmuxinatorを使えば開発環境用に各ウインドウに役割分担させた状態で起動する、というようなことが実現できる。
tmuxinatorで一瞬で開発環境を起動する
http://qiita.com/naoty_k/items/869b00fdde27c2225989
インストール方法、設定方法はこの記事が詳しい。
ただ、Cent OS6だと、sudo yum install tmux すると tmux 1.6がインストールされてしまうが、tmuxinator の最新バージョン 0.6.6 は、tmux 1.8以降でないと使えない。
ソースからtmuxの最新版をインストールする方法はこの記事が詳しい。
http://d.hatena.ne.jp/naokton/20130811/1376232103
以前からやりたかった、自動化が簡単に実現してしまった。ありがたいです!
tmuxinator
https://github.com/aziz/tmuxinator