del.icio.us/url/f140e1ad9d58fa4f5b2ee0b55b9002db

Catalyst::Authentication と NEXT.pm. NEXTでのMixinだとplugin内にメソッド定義しにくいため Auth::Credential::*, A::Store::* な名前空間がある。

これはちょっと違うので補足。

それら二つの名前空間は単にいろいろな認証系に対応するためのもので、NEXTのために名前空間をわけているわけではないです。

実装的にも Credential::*Store::* も Authentication プラグインを利用してはいますが、それら自体は普通の Catalyst プラグインで、

use Catalyst qw(
    Authentication
    Authentication::Credential::Password
    Authentication::Store::DBIC
);

などのようにロードします。

なのでそれぞれが、

NEXTでのMixinだとplugin内にメソッド定義しにくい

ということはいえます。

by typester / at 2006-05-22T18:46:00 / perl · catalyst / Comment

ひどいtypoをみつけた。

by typester / at 2006-05-22T13:56:00 / life / Comment

Catalyst の認証系

Monologue:Catalystではてな認証APIを使うプラグイン

これはちょっとなぁ。コメントしようと思ったけど途中まで書いて長くなったのでここに書いておく。

まず、Authentication::Credential::*Authentication::Store::* はどちらも Authentication プラグインを利用する認証プラグインのための名前空間。

なので、上記プラグインは Credential とつけるのはいくない。

Authentication プラグインは Catalyst プラグインだけど、それ自体が認証プラグイン用のフレームワークみたいになっていて、ユーザー(プログラマ)はさまざまなバックエンドプラグインを共通のインタフェースで使用することができるようになっている。

んで、上記プラグイン、名前をかえればいいんじゃね。とかおもったけどよくみたらこれ、$c->login とかよんでる。

んでloginはプラグイン内になくて、トップレベルのアクションに login : Local とか書いてる。これ、MyApp.pm にlogin定義してないと動かないんじゃね。

Authentication プラグインのコードが読みにくいということも問題かなぁ。NEXT を使うMixinのプラグイン機構はそのプラグイン内にメソッドを定義しまくれない(すべて$cの関数になってしまうから)ため、複雑な処理をしようとすると別名前空間を使う必要があるので実装がむずかしい。

それプラス、作者が nothingmuch。この人のコードは基本読みにくいw

でも、Authentication プラグインをつかったはてな認証プラグインはすでにあるので、今からつくるなら Authentication プラグインを使わないもののほうがいいのかな。

by typester / at 2006-05-22T13:11:00 / perl · catalyst / Comment

起床@会社。

今日は仕事する。

by typester / at 2006-05-22T09:34:00 / life / Comment

del.icio.us tagroll

del.icio.us でタグクラウドだけ表示するページどこだっけ、とかさがしてたら del.icio.us/help/tagrolls とか見つけた。

by typester / at 2006-05-22T04:31:00 / web / Comment

マグカップ

でコーヒーうっかりのんじゃって、タンブラーに戻れない件。

全然うまいよなぁ。。

でも何個キーボード壊したかわからないし。悩む。

by typester / at 2006-05-22T03:04:00 / life / Comment

あー、鎌倉にカフェドクリエできないかなぁ。

あと、たこ焼屋。

by typester / at 2006-05-22T02:54:00 / life / Comment