YAPC::Asia 2009 2日目終了

みなさんおつかれさまでした。
今年も大変楽しい2.5日間でした。


今年は特に、LTに出させていただきまして
ここ最近感じたことがない緊張感でしたが、
出てよかったなーと思っています。
たぶんid:charsbarさんがブログに書いてくれなかったら
出てなかったと思うので、いいきっかけをもらったと思っています。
ありがとうございました。


緊張とかで、いろいろ内容ぶっとばしてしまったので
次のエントリとかでちょっと補足したいと思います。
あと、はてスタご協力いただきましてありがとうございました。
帰って確認したところ98 + 2スター(id:hirose31さんあざーす)でした。


明日は同僚の結婚式があるので、Hackathonには参加できませんし
日曜日も自宅でPlackPSGIまわりを確認したいと思います。


今年は、特別研修もあるので(おれは今回参加しませんが)
最後までみなさん楽しみましょう。
yapc++

シャレオツな飲み物

Glaceau vitamin water

昨日、新宿のナチュラルローソンで見かけたので購入。
某ブログ企業さんがプロモーションに参加しているらしいので
飲んでみたかったんです。


皆さんがブログに書いてますが、色はすごいけど
ゴクゴクいけてとてもおいしいです。
どっか近くで売ってないかな。


そして今日は選挙に行って、今は選挙特番を見ています。
こうなるだろうと思ってましたけど、やり過ぎ感があってちょっと
大丈夫なんかな。ハードルがち上がりじゃないすか。

業務外連絡

LTには応募してあるんですが、受理されていないので
リジェクトされる可能性はないのかなと。前回のは
そういう意味です。

現在のMojoについて

追記

ここではMojoのバージョンは0.991250について書いています。



CharsbarさんがMojoについて書いているので便乗エントリ。
ここ数ヶ月、会社で使っているツールのために毎日git pullして
動作させるために毎日アプリケーションを修正してきた身として
ちょっと書きます。


Charsbarさんのエントリにもあるとおり、1.0へ向けての
大きな変更がはいったので、以前のバージョンを使っている
アプリケーションはほとんど手を加えないと動かなくなっていると
思われます。


なにせ、各クラスのベースになるMojo::Baseに修正が
入ったため、アクセッサの書き方が変更になり

__PACKAGE__->attr("foo" => (default => sub { Hoge->new });

という以前の書き方では動作しなくなってしまいました。
現在ではこんな感じにちょっとだけシンプルになっています。

__PACKAGE__->attr("foo" => sub { Hoge->new });


その他にもContextを各ディスパッチしたメソッドに渡していたんですが
Mojolicous::Controllerを継承している、Controllerをnewするときのblessの
引数に取るようになったため

sub foo {
    my ($self, $c) = @_;
    # or my $c = $self->ctx;
    $c->req->param("hoge");
}

とかだったのが

sub foo {
    my $self = shift;
    $self->req->param("hoge");
}

という風に$selfから直接リクエストを取るように変更されています。
(実はなかでは$self->tx->reqになっているんですが)


この他にも、APIの変更、さまざまなバグフィックスや新機能追加が
されているので、0.900xとかからのアップデートは結構大変だと思われます。
そろそろアップデートするかというかたは、注意したほうがいいです。
動かなくなると思います。
あと長くなったのでVersion Numbers and Backwards Compatibilityに
ついては別のエントリで。


それと、YAPC::AsiaのLTはいつ決まるのかな。
いちおうMojoでなんか話したいなと思っているんで(たぶん・・)。

Mojoへpatchを送った

先日、Mojoで作ったアプリケーションをいじっていて
githubMojoの更新があったのでインストールし直したところ
アプリケーションのテンプレートを作成するコマンドが
動かなくなっていたのでメーリングリストに報告しました。


原因は/usr/bin/envの動作がUbuntuで違うということでした。

/usr/bin/env perl -w

というコマンドが"perl -w"と解釈されて実効できないという
ことです。FreeBSD(Mac)は、ちゃんと解釈してくれるんですが
一部のLinux(envコマンド)でこのように動作してしまうようです。
その時は、Sebastianがすぐに対応してくれました。


翌日、またバグを見つけたので、今度はgithub上でforkして
修正したものを、pull requestしてみました。
そしたら、取り込んでもらえたようです。
(ちょっとフォーマットがくずれてしまっていたようなので
次は気をつける)

$c-req->url->to_abs

が正常に動作していなかったのが、これで直りました。
たいした修正ではないですが、動作していなかったので
これで、社内で使っているツールも動くようになります。
よかった。

MojoX::Renderer::Text::MicroTemplate

GW最終日にMojoでText::MicroTemplateを
使えるようにしました。


もともと、Mojo::Templateをベースに
T::MicroTemplateがkazuhoさんとtokuhiromさんに
よって作られたんですが、MojoでもEscapeStringしたい
ということで作りました。


これはCPANにあげようかどうしようか・・・。
とりあえずgithubに置いておきます。
http://github.com/ka2u/MojoX-Renderer-Text-MicroTemplate/tree/master