2009 05 08

くるくるぱーるの2

連休で時間ができたこともあり、忙しくて 中断していた作業 を再開したのだが、しばらく時間をおくとまるまる作り直したくなるのはなんでだろう。 それは多分、その間に多少の成長があるからだな。 あると思いたい。 そんなこんなの、その後の CGI の変遷。

今更ではあるが、 Perl Best Practices という本にあった Inside-out スタイルにクラスを書き直してみた。

Inside-out スタイルだと、いちいちデストラクタを書かなきゃいけないのが嫌になって、元に戻した。 そもそも俺しか使わないのだし、そこまでの安全性はオーバースペックだろう。

最近流行らしい Moose を使ってみようかと思い立つも、依存するライブラリの多さに中止。 実行環境の制約もあって、標準のライブラリだけで何とかしたいのだ。

出力する HTML のテンプレートを作っておいて、そこに値を埋め込むのが、やっぱり良さそうな気がしてきた。 手を出すとはまりそうで、今までは意図的に避けてきたのだが。

jsp のようにテンプレートを定義し、XMLのパーサーで処理しようとして、ループと if の処理が奇麗に書けずに挫折。

SAX風にやろうとするからはまるので、文字列置換なら簡単だと気付く。 さらに、if が1回のループとして処理できることに気付いて、割とすっきりとテンプレート処理が書けた。 現実逃避も意外に捨て難い。

草彅剛の 「なぎ」 が Shift-JIS でも Windows-31J でも表示できないので、この際だから全部 UTF-8 に統一。

コントローラーが生成したクラスのどのメソッドを呼び出すかを設定ファイルで定義するようにしていたのだが、そんな親切は大きなお世話な気がしてきたので、機能削除。 呼び出されるのは execute 固定にする。 ファイルは増えたが、各ファイルの中身はすっきりした。

規約を適当に設定すると、もっとコードを省略できる気がしてきた。 ← いまここ

とまあ、相変わらず行ったり来たりしている訳だ。 自己満足の世界だけに、やりだすと切りが無いな。