uri_forのやつ

uri_withも同じようにおかしかったのでそっちもなおしてもらった。

by typester / at 2008-01-18T03:23:00 / perl · catalyst / Comment

uri_forのパッチ

いまどきのperl使いな皆様におかれましては内部ではutf8フラグを立てたutf8 stringとして文字列を扱っていると思いますが、そういった場合は uri_for は正しく動作します。

そうではなく、utf8 bytes を渡した場合、今の uri_for では壊れたURIが帰って来るというバグがあります。単純なミスなのだけど。

かなり前からなんだけど誰も気がつかないのか必要ないのか一向に直らないので業を煮やしてメールでパッチ送ったところすぐに反映してくれた。ナイス。

http://dev.catalyst.perl.org/svnweb/Catalyst/diff/Catalyst-Runtime/5.70/trunk/lib/Catalyst.pm?rev1=7391;rev2=7392

パッチはこんなん。

canonical してないのは仕様らしい。(昔のはしてたよね?)

mst によれば

For RSS/atom feeds etc.

とのこと。どゆこと?

by typester / at 2008-01-17T03:19:00 / perl · catalyst / Comment

WWW::HatenaDiary

CPANの更新Feedで存在を知った罠。どんだけcoderepos見てないんだよ。。。

Fuse::Hatena のコードちょっと使ってるみたいなこと書いてあるけど、逆にこれを Fuse::Hatena で使わせてもらおうw

by typester / at 2008-01-15T06:41:00 / perl / Comment

POE::Component::WWW::Google::Calculator とか

by typester / at 2008-01-15T06:39:00 / perl / Comment

DBIx::Class::AsArrayHash - Hatena::Diary::Neko::kak 500 Internal Server Error

うんうん、DBICつかってるとmapまくりよね。僕ならこう書いてるな。

my @rets = map { $_->get_columns }, $rs->all;

DBIC::AsArrayHashいらないってのは同意。

retrieveとかCDBI的なのもあれ。

by typester / at 2008-01-08T22:40:00 / perl · dbic / Comment

なんか荒れてるやつ読んだ

論点とは違うけど、ひとつ思ったこと。

自分の書いたコードが module author に気に入られず採用されなかったときには、テストケースにして送ってみるといいと思いますよ。

自分のコーディングポリシーと違うコードだとか、そもそもいけてないとかいう理由で送られてきたパッチをスルーするのはよくある話だと思いますが、そういう場合にはテストケースとして送りつけるというのが作者側としてはありがたいです。

送られてきたパッチを読んでどのようなことがしたいのかを読み取って自分で実装してもいいけれど、やりたいことが明確にわからなかったり、実装したけどこれであってるのかどうかよくわからなかったりして、その結果よくわからないからスルーなどということになるわけですが、テストがあればそれを通るようにするだけなので。

by typester / at 2008-01-03T21:34:00 / perl / Comment

NEXT、C3

僕はわりと好きかも。

by typester / at 2007-12-26T11:18:00 / perl / Comment

lighttpd+fastcgiで

fastcgiだけ再起動したい場合に、再起動中にアクセスあるとfastcgiプロセスが上がったあとも500になってしまうことがあるのだけど、みんなどうしてる?

by typester / at 2007-12-20T01:14:00 / lighttpd · perl / Comment

タグクラウドモジュール

いろいろあるけどなんでどれもこれもHTML作っちゃうんだろう。もっとシンプルなのほしい。hashで返してくれればいいよ。

とりあえず WWW::CloudCreator つかって

$c->stash->{tags} = [
    map +{
        name  => $_->[0],
        level => do { $_->[2] =~ /(\d+)pt/ },
        link  => $c->uri_for('/tag', $_->[0]),
        count => $_->[1]
    },
    grep {ref} $cloud->gencloud
];

こんなことして希望通りのものを作ってみてる。こういうのがほしいのだが。

上記の謎の grep {ref} はWWW::CloudCreatorがタグが空な場合空配列かえせばいいのになぜか空文字かえしてくるといううんこな実装なのでそれ対策。

by typester / at 2007-11-14T21:42:00 / perl / Comment

mobirc-irssi が実用に耐えうるようになりましたのでお知らせします

この間ちょっと紹介したirssiのプラグインスクリプトとしてmobircをつかうmobirc.plスクリプトですが、実用に耐えうる段階まできましたので再度紹介しておきます。

画面サンプルはこんな感じ。(スクリーンショットが取れるPSPでの画面です)

psp x mobirc x twirc

素のmobircはIRCクライアント機能と、HTTPD機能を両方持ち、tiarraなどのIRCプロクシにつなぐことで使用するものになっていますが、こちらのirssiプラグインではmobircのIRCクライアント機能はirssiプラグインとして実装していますので、irssiさえあれは利用することができます。

イメージ的にはirssiがHTTPDを立てている感じになってます。

またキーワード設定などもirssiのハイライト設定を使用していますので、別途mobirc側でキーワード設定をする必要がないのもちょっとうれしいところです。

実際の使い方(インストールの仕方)としては

  • mobirc.plをirssiのスクリプトディレクトリ (~/.irssi/scripts) にコピーor symlink

  • irssi起動時にmobircのlibパスを環境変数に入れとく

    PERL5LIB=/path/to/mobirc/lib irssi

    とか。同じ意味なら何でも。

  • irssi起動したらmobirc.plをロードする ( /script load mobirc )

    ここで Can't locate XXX.pm in @INC とか言われる場合モジュール足りないのでそれいれる。

  • ロードしたら config.yaml 自分用にいじって、そのパスをirssiで設定する

    /set mobirc_config_path /path/to/config.yaml

  • 設定完了したら /mobirc start すると HTTPD がたちあがる

  • mobirc started ってirssiコンソールに出てればOK。httpでつないで確認する。

とかでOK。

ほか機能としては、

  • /mobirc stop でhttpd停止。
  • /mobirc stop -> /mobirc start でyaml読み直してHTTPD再起
  • /set mobirc_auto_start on しておけば次回から /script load mobirc するだけでHTTPDたちあがる
  • /script load するのさえめんどいというひとはスクリプトを ~/.irssi/scripts におくかわりに ~/.irssi/scripts/autorun におけば irssi 起動時に自動起動する

という感じ。irssi使いには必須のスクリプトかと思います!

Enjoy!

by typester / at 2007-11-01T12:13:00 / perl · irssi / Comment

2 3 4 5 6 7 8 9 10 11

(Page 6 of 28)