LDRがなくなるとのことで俺用フィードリーダー作った
2日で作った。昨日から無職なので手が空いてたのもある。
こんなの
概要
nodeでクローラ100行、サーバー40行、クライアント400行ぐらい。テストはない。cssもない。
認証とかなくて、ローカルで動かすの前提。LDRのexport.xml(opml)を読み込む。詳しくはREADMEで。
jksaでフィードを移動する。sで飛ばした時に未読フラグつけてる。oでバックグラウンドで開く。 大事なことなんだけど、マウス操作は一切対応してない。
データベースは使ってない。サーバーでインメモリで抱えてる分だけ降ってきて、既読管理は最後に読んだフィードの更新日時をlocalStorageで持ってて新規フィードもらうたびに比較してる。雑な設計。
技術的な話
Koa, React, Generatorとか自分が使いたい技術を適当に使った。
Reactで雑に作るのだいぶ良くて、雑に作るのに本当に便利。ただ雑に作るにはちゃんと設計しないといけない。ひと通り動いたらパフォーマンスチューンはReact側がやってくれるので最高。
クローラをgeneratorで書けるようになってタイミング制御とかだいぶ楽になった。
たとえばこういうcoffeeのコードがある。
start: -> do co => while true console.log '[fetch start]' yield @crawl() console.log '[fetch end]' yield wait(1000 * 60 * 12)
クローラ走らせて終わったら12分待ってまた再開する。
あと、Firefox28でこのハック効かなくなってたので対処法知ってる人おしえてください。 バックグラウンドでリンクを開くようにする
ルックアンドフィールの難しさ
やっぱ一日二日で作った程度では微妙で、なんというかアフォーダンスがない。LDRがよくできてたんだなと実感する。取得中のフィードのキューの可視化とかやらないと何が起こってるのかわからなさそう。
レイアウトに関するもの以外ほとんどスタイル書いてないので、書いたら多少マシになるのかもしれない。
LDRの話
LDRは僕の生活の一部と言ってもよくて、LDRがなくなったら一瞬で情弱になってしまう。情弱になるのは許容できないのでfeedlyかFastladderを使う必要があるんだけど、なんかしっくりこない。
Fastladderのリファクタとかちょっとやった程度にはいじれるんだけど、API層が綺麗に切れないとフロント作る気にはならなかった。とはいえ、クローラの作りはなんだかんだで雑なので、そこだけ欲しかったりする。
クラウド型のがパフォーマンス良いのは間違いなくて、裏で持ってるフィードを別のユーザーに向けて共有できるのでユニークidだけ配ればよい。なんだけど時代がクラウド型のフィードリーダーを許容できないような感じがある。
RSSリーダーの死と情報の上流の停滞
僕みたいなネットジャンキーの意見は偏って役に立たないというのもわかるがそれにしても情報の上流が機能しなくなって結果として適切なソースがまわんなくなる未来しか見えなくて暗澹たる気持ちがあって、情報の上流のが淀んだ結果ゴミみたいなキュレーション/まとめサイトが幅きかせて、結果として流れてくるのがゴミばっかりになる未来本当に勘弁願いたいということが届け!