autospec が Failure or Error の時に無限ループになる

最近 Perl がすっかりご無沙汰で Rails アプリばかり書いてるのですが。

テストは RSpec で書いているので、autospec 使って自動テストしたいと思って導入したところ、オールグリーンのときは問題ないんだけど、エラーがあるとファイル変更していないのにテストが走る無限ループになった。

何が問題かわからなかったので autospec に -v オプション付けて実行したところ、spec/spec_report.html が検知されて再実行されてることがわかった。そういえば spec/spec.opts に --format html:spec/spec_report.html 付けて毎回結果を出力するようにしていたけど、そこが悪かったらしい。

http://gist.github.com/154803

ということで .autotest に監視対象外のファイルを追加することで解決。ついでに色々追加した。

http://gist.github.com/154794

次は Growl かな。

ShipIt::VC::Git で commit フェーズでも push する

.shipit で git.push_to があると tagging と同時に push してくれるんだけど、commit フェーズでも git push origin master 的に動くと嬉しいので、自分はそんなパッチ書いて使ってました。

http://gist.github.com/78645

昨日そんな話をしたところ、「gist なんか全部見てねーからわかんねーよ、shipit はギッハブにあるんだからコミットしろよ」と激しくDISられたので、仰せの通りに fork してコミットして pull request 送りました。

http://github.com/masaki/shipit/tree/master

あまり関係ないけど git は 1.6 で git svn branch できるようになったのが凄くいいですね。

Yokohama.pm #4 行ってきた

はじめに,ust でスライドの文字が滲んでた件ですが,当日になって急遽 VGA2USB とかスプリッタとか色々持ち込んだので事前設定が十分できなかったからではないかと思っています.その影響で,lopnor さんにも急遽配線から何から変更させてしまい申し訳なかったです.ありがとうございます.

前回から会場の目処はついたこともあって,今後の課題は配信かなぁと個人的に思っていたので,もっとうまく配信できるようになりたいですね.

以下,メモはあまり取ってなかったんですけど,感想とか.

QudoxSkinny(id:nekokak)

Qudo は「クドー」と読むみたいなんだけど,あまりしっくりこないw

typesterさんも書いてたけど「キュードー」のほうが Rakudo っぽくていいな.

次世代?DIコンテナ Bread::Boardの今後(id:lestrrat)

どこからか MouseX マダーと聞こえた気がする.

Bread::Board で使っている MouseX::Params::Validate はやるかもリストに入っているので,時間があればそのうち.でも Path::Router って Moose 限定だよねw

優しいWAFの作り方(仮)(id:dann)

多分 HTTP::Router を使っているのは世界で dann さんくらいだと思いました.

Amazon Elastic MapReduceperlを使った処理をしてみる(id:lopnor)

実践の話してたかと思えば,唐突にスライドが終了して面白かったですw

かんたんオブジェクト指向Simo入門(id:perlcodesample)

これも読み方でやられた.てっきり「シモ」だと思ってたんだけど,懇親会で聞いたら「シムオー」でした.

ちょっとコード見てみたんですが,eval $code してアクセサメソッドそのものを置き換えとか,中々黒魔術してましたよ.やっぱり Moose/Mouse/C::A::F などとの比較が欲しかったかな.

CAPとBASEとEventually Consistent(id:yohei)

遅刻のため順番が後ろにw

どこで Perl と絡めてくるのかwktkして聞いてました.

perl-completion.elの紹介(id:IMAKADO)

LT だったのでさらっとだったけど良さげ.使いたい.

DBを使わずの簡易ジョブキューシステム(id:masartz)

Qudo のコミッタにもかかわらず読み方がわからないという疑惑がw

HTML::AAFindの紹介(id:komoriya)

最初,やる夫を普通に読み上げててウケたw

Moose::Manual::MooseX

Moose::Manual::MooseX - Recommended Moose extensions - metacpan.org

推奨される MooseX を抜粋して何かと比較してみるメモ

Moose 何か
MooseX::AttributeHelpers CPAN
MooseX::StrictConstructor github
MooseX::Params::Validate 0.20 出たらやるかも
MooseX::Getopt CPAN
MooseX::Singleton やるかも
MooseX::Declare 変態すぎてわからない
MooseX::Types CPAN
MooseX::Types::Structured やらない
MooseX::ClassAttribute やらない
MooseX::Daemonize 必要になったら
MooseX::Role::Parameterized やらない
MooseX::POE 必要になったら
MooseX::FollowPBP やらない
MooseX::SemiAffordanceAccessor やらない

CPANPLUS::Dist::色々

この一連の流れで CPANPLUS::Dist:: 以下に色々あることがわかった.

こちらのサイトにまとまってました.http://d.hatena.ne.jp/holidayworking/20081105/1225855579

最近は CentOS ばっかり使ってるので,CPANPLUS::Dist::RPM でも見てみるかな.

Data::OpenStruct::Deep をリリースしました

Data-OpenStruct-Deep-0.01 - allows you to create data objects and set arbitrary attributes deeply - metacpan.org

っぽく動的にアクセサ作るモジュールで,アクセサのネスト(メソッドチェーン)ができるところがこれらとの違いです.

使い方は POD 見てもらえればイメージつかめるかと.