free as in air

2007|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|09|11|12|
2012|03|04|05|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|03|04|06|09|
トップ «前の日(04-13) 最新 次の日(04-15)» /追記

2013-04-14 この日を編集

§ [php] CIUnitのパッチ

 諸々の理由でCodeIgniterで開発してるんだけど、時間がないのでなんとなくTDDでやってる。テストありきのほうが戻りが少ないだろうという理由。

 そんなわけでCIUnitKenji_sパッチを当てたバージョンを使ってるのだが、コントローラのテストのためにPOSTとGETをクリアしたくなったのと、今作ってるやつが複数DBを見る構造(これも諸々の理由)なので複数DBに接続して結果を見たかったのでちょっといじった。そのパッチ

 CodeIgniterは3系の話が出てるんで、出たらまた変わりそうだけど、RequirementがPHP5.3系になる(ツッコミもらった。ツッコミの通り、3系も5.2.4以降が対象だそう。ただ5.2は2011年でEOLになってるし、5.3もあと1年くらいなので、これから作るなら5.4以降だといいのでは。と言いつつ殆どの人はレン鯖のバージョンに引っ張られるんだろうしな。今見てるプロダクトも5.1が絶賛稼働中だし。)んで、5.3ならFuelPHPでいいんじゃないかな。Kenji_sも今はFuelPHPのほう使ってるようで、Issue溜まってるし。CodeIgniterはControllerのインスタンスにClassLoaderがロードしたクラスを変数として外挿するような密結合な作りなのでUnitTest書いててどうも不可思議なことが多くて困る。

 なんというか、PHP自体があんまりUnitTest向きじゃないと思う。理由は、POSTとGETを処理系が勝手にグローバル変数にしてしまう点と、出力が本当にそのまま出力な点。register_globalsをしないようにしたところで、POSTとGETというグローバル変数に置いてしまうのだからどうしようもない。まあクリアすりゃいいんだけど。出力の方はもうどうしようもなくて、油断してPHPタグの外にスペースを書こうものなら出力されるし。

 CIUnitで書いていいのはモデルのテストまでで、Controllerのテストはせずに、振る舞いのテストをCucumberでやるほうがいいんじゃないかとも思う。今のプロジェクトではやらんけど…。

 PHPUnitそのまま使えるっぽいな。これでよかったかもしれぬ。

 追記:ジェームズの記事読んだけどフレームワークのコード変えたりしてるな。やってることもCIUnitと似てる(index.phpをbootstrapとして使うとか)。CIUnitならfixtureの読み込みがかなり簡略化されてるし、DB設定もCodeIgniterそのままだし楽。PHPUnitだとDBUnit入れたり、fixutureをYAMLで書きたかったPHPUnit_Extensions_Database_DataSet_YamlDataSetを使うようにしたりしないといかんのが面倒。ただPHPUnitを直接使うユーザのほうが多いので、ハマるとこは少ないし、そっちのほうが応用は効くよな。

§ [program] 本

§ [music] 3つ

  RADIO ONSEN EUTOPIA(やくしまるえつこ)

 やくしまえるえつこの歌声が思いの外元気でびっくりする。気怠い感じがどっか行ってる。

  eureka(きのこ帝国)

 音楽聴いてる時いつも思うけど言葉が邪魔な気もする。シューゲイザーっぽいのは何曲かだけじゃないかなあ。思ったより少ない。むしろくるり・アジカンっぽい。

 しかしたゆたう感じがいいね。

  Apocryphon(Sword)

 いつもどおりだと思う。なんというか変わらんな。

 追記:聴き込んでるけど、スラッシュメタル感が殆どなくなってる。