WebService::AudioscrobblerをCatalystのModelに

Catalystのモデルを書くの面倒だなーと思っていて、Catalyst::Model::LastFMがあると便利な気がしてたんだけど、微妙に放置してた。

が、Catalyst::Model::Adaptorを使ってみたをみて、コレだーって思った。

Catalyst::Model::Adaptor

$ script/drkcore_create.pl model LastFM Adaptor WebService::Audioscrobbler new

とやるだけで、WebService::AudioscrobblerがCatalystのモデルになる。らくちんだ。

last.fmのチャートを表示するようにしてみた。

おーblur意外に聴いてんな。On The Way To The Clubヘビーローテしてたからかな。

ProductName Think Tank
Blur
Virgin / ¥ 1,986 (2003-05-06)
通常24時間以内に発送

Catalyst本の第5章を読んだ

久しぶりに。

ProductName Catalyst: Accelerating Perl Web Application Development
Jonathan Rockway
Packt Publishing / 3545円 ( 2007-11-30 )


Catalyst本の4章

4章は3章でつくったアドレスブックに色々つけていく

ProductName Catalyst: Accelerating Perl Web Application Development
Jonathan Rockway
Packt Publishing / 3404円 ( 2007-11-30 )


セッションと認証を入れて、検索とページングを実装。

検索以外はdrkcore作るときにやったのをちゃんと覚えてたので流し読み。検索はDBICのクエリの作り方が参考になった。今度これにも実装してみよう。

Catalyst本の三章をやった

久しぶりにCatalystを触った気が。

ProductName Catalyst: Accelerating Perl Web Application Development
Jonathan Rockway
Packt Publishing / 3404円 ( 2007-11-30 )


3章はC::C::FormBuilderとかTTSiteを使ってちょっとしたアドレスブックを作って見ましょうぜという章。

DBICでcascading_deleteを設定すると親子関係のあるデータが一緒に消してくれるとか。なんで今まで見つけられなかったんだろうか的な内容があったりとかで、写経にしては結構楽しめた。

ただ、FormBuilderのあたりとTTSiteの埋め込みのコードが間違っているので注意

Catalyst Advent Calendar 4日目

Catalyst + Open Flash Chart: Fancy graphs with minimal fuss

snapshot

こんなのが10分程度で作れてすごいいい感じ。昔作った遺伝子発現のやつをこっちにかえるといいかもしれん。

ちょっとしたもの作るにはChart::OFCもいいですな。

Catalystでrobots.txt

アクセスログをみてたらDrkcoreのrobots.txtへのアクセスが404なのが気になったので、Catalystでrobots.txtを扱う場合にはどうすればいいんじゃろかと調べた。

単にroot以下に配置すればいいらしい。

早速設定した。

drkcoreにタグのサジェスト機能を入れた

suggest.js - 入力補完ライブラリを使って編集時のタグを候補から選択できるようにした。

これで編集するのは結構楽になった。

あとコメント機能はどうするかなぁ、、、、悩む。個人的にはこんな風に考えていて、特に問題ないだろと考えていたんだけど、、、、これは、プログラマー的な視点というか、多少なりともWebAPIを使う側のかなり一方的な視点なんじゃないかと思わされる出来事が続いた。

なんつーか、Mosaicの頃から全体のリテラシーとしては対して変わってなくて一部だけがのっぺりと。イノベータとアーリーアダプタだけがどんどん先に行ってて、対数正規分布みたいな形になってんのかなぁ。

結局、コメントも実装しといたほうがいいのかなぁ。その場合はhttp://blog.kzfmix.com/comment/1192876427みたいに名前空間きっといてJSON返すようするかなぁ。うーん、commentもモデルとして捉えればいいかな。

Catalyst::Model::LastFMがあると便利な気がする

自分のLastFMの週間チャートをとってきて、色々いじるのにCatalystのModelになっていれば便利かと。

Catalyst::Model::XML::Feedを使えばいいと考えていたけど、LastFMはFeedじゃないXML吐いてくるので自分でXML::Simpleとか使って書かなきゃならんですな。

あとWebService::LastFM::SimilarArtistsも併用すればモデルにアーチストの類似性検索使えるようになるのでさらによさげな予感。

やることリストにいれておく

オレオレamazon記法

Amazonのアフィリエイトにも対応した。

[ASIN : 4873112028]

という記法で、

ProductName Perlクックブック〈VOLUME1〉
トム クリスチャンセン,ネイザン トーキントン
オライリージャパン / ¥ 5,145 (2004-09)
通常24時間以内に発送

みたいな感じに。

オレオレ記法を用意した

CPANは良く引用するので。

[CPAN : DBIx::Class]

でperldocにリンクが張れる。

あとAmazonのやつはJSONプロキシみたいなの用意してMochikitでDOM組み立てしようとしたのだけど、なんか微妙だったので、これまた記法を用意したが、文字化けしたりとか著者とかArtistのタイトルのとことかいろいろ直さないと駄目。