Apache Roller Template

Apache Roller を使っているのですが、RollerについているTemplate機能についてかなり理解できました。ところで、テンプレートエンジンでのデザインパターンがいろいろありそうな気がするのですが、そういったものは世の中で公開されていないのでしょうか。ブログシステムに共通する、いろいろなコツがありますから、それが整理された形で解説されているカタログがあると、非常に便利ではないかと思うのですが。

世の中のBlog解説本を見てみると、個人日記、写真ギャラリー、法人サイト、ECサイトなどの実現方法やデザインのこつ、みたいなものが説明されていて、テンプレートエンジンを使うとこういうことができるところまでは書いてあります。ところが、こういうページを実現したい場合は、こういうテンプレートエンジンの使いかたをするといい、みたいな視点では書かれていないような気がします。

Apache Roller では weblog と _day というテンプレートが基本となるので、この中でいかにエントリ、アーカイブ、カテゴリを表現するXHTML+CSSを書き込むかというのが腕の見せ所なのですが、それらを表現するための基本的なデータ構成にはパターンがありそうだと考えています。あまりうまく説明ができませんが、いくつかのパターンを持っていると、いろいろなページを実現したい、という場合にすぐに適用できますから、整理しておきたいと思いました。

Trouble

サーバトラブルが結構重なっていて、ちょっとお疲れ気味。すべてについて、直接対応をしているわけではありませんが、やはりトラブルが発生すると心配になります。

MailForm Plugin for Movable Type

MTOSへMailFormというプラグインをいれたのですが、メール送信で文字化けが発生して大変でした。とりあえず、パッチを作って対応しましたが、いかにも付け焼き刃的な対応のような気がします。とはいえ、ソースコードがこうやって公開されていると、自分で対応できることがあるので、嬉しい限りです。MailFormのライセンスが明確でないのがちょっと気にはなりますが…

Six Apart – Movable Type プラグインディレクトリ: MailForm
http://www.sixapart.jp/movabletype/plugins/mailform.html

ちなみに、文字化けが発生したのはアルファメールというサービスでMTOSを動作させようとしたときでした。具体的な対応策としては、MailForm.pm でMT::Mailを使ってメール送信をする前に下記の処理を追加しただけです。head{Subject}へ値を代入をしている行の直後に下記をいれておけばいいはずです。


eval "require Jcode;";
$mail_body = Jcode->new($mail_body)->jis;
$head{Subject} = Jcode->new($head{Subject})->mime_encode;
$head{'Content-Type'} = 'text/plain; charset="ISO-2022-JP"';

ちょっと記憶をたよりに記事を書いているので、変数名とか間違えているかもしれません。そのあたりはコードをよく読んで確認をしてみてください。Perlは大体こんなもんだろう、というのはわかるのですが、細かい文法までは覚えていなかったので、場当たり的に動作確認をしながら対応しました。そういうことをしていると、やはり時間がかかってしまいます。やれやれです。

Java and Ruby

さっと読んでみました。オブジェクト指向言語ということで、どちらもプログラミングしやすいのですが、PHP5とかも最近はいい感じだと聞いています。これからの主流はどの言語になるのか、予想しにくいですね。Pythonとかもありますし、Scalaとかもあるし。

JavaとRuby:主要機能の比較 (japan.internet.com コラム/developer.com)
http://japan.internet.com/column/developer/20080408/26.html

Software Test

「現場で使えるソフトウェアテスト Java編」という本が売っていたので購入してみた。下記のツールについて説明がされているようですが、それだけではなく体系的に、ソフトウェアテストについて解説がされているようです。まだ詳細は読んでいないのですが、参考にしようと思います。

・Checkstyle → コーディング規約チェック
・FindBugs → バグパターン検出
・JUnit → 単体テストの作成/実行
・TPTP → プロファイリング(非機能テスト)
・djUnit → カバレッジ計測
・StepCounter → ソースコード行数測定

Nikkei Linux 2008 05

日経Linuxを購入して、ざっくり読んでみました。「Linuxサーバを作ろう」では、DHCPサーバ、FTPサーバを用意して、ネットワークインストールをする話です。DVDドライブがついていないけど、ネットワーク機能があるノートパソコンなどにLinuxをインストールする場合などに役に立ちそうです。

EeePC にLinuxをインストールする話は、田舎でEeePCが手に入らない人にとってはあまり役には立ちそうにありません。しかし、物欲が刺激されるので、EeePCを購入したくなってきてしまいました。ネット販売で売られているので、購入してしまいそうですが、MacBook資金準備中なので、断念しているところです。誰か購入して使い勝手とか教えてくれないだろうか… 🙂

付録はFedora 8, SLAX 6.0.2日本語版などが入っています。よく使うコマンド30についての説明が掲載されている小冊子もついています。

Meeting

SSS(G)の勉強会、花見がありました。参加人数も多く盛況に終わりました。今後の課題としては、情報公開の方法について、少し検討が必要かもしれません。

pa0_0003.jpg