libstdc++.so.5

Fedora 6 で、Firefox2 を動作させようと思ったら、次のようなエラーが発生しました。


$ /usr/local/firefox/firefox-bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

こういうときは、yumで探すといいようです。compat-libstdc++-33.i386 が必要なことがわかりました。

# yum provides libstdc++.so.5
# yum install compat-libstdc++-33

Satisfy Any

ApacheでSatisfyディレクティブを指定すると、グローバルIPアドレスからのアクセスに認証を要求し、プライベートIPアドレスからのアクセスでは無条件でアクセスを許すということができます。認証つきサイトに対して監視したいといった場合に使えます。。


# network access control
Order Deny, Allow
Deny from all
Allow from 192.168.0.

# auth
AuthType Basic
…
Satisfy Any

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 → ソースコード行数測定