2006年03月30日
PERL5WEBDB
YAPC::Asia 2006 Tokyo での Lightning Talk にあわせて、 PERL5WEBDB を公開します。
投稿者 kazuho : 2006年03月30日 10:48 | トラックバック (1)
2005年10月06日
mod_webdev
ラボに入社する前に未踏プロジェクトで開発した「ウェブアプリケーション (Apache/Perl) 統合開発環境」(リンク先:PDF)をどうしたものか、というのが個人的な悩みでした。なにしろ、入社してから PHP のコードばかり書いているわけで、Perl の開発環境なんか不要なわけです注1。
一方で、運用中の環境で開発が行えるという点には今でも魅力を感じるので、その部分だけ切り出して、整理することにしました。
mod_webdev (リンク先: SourceForge.net)です。
管理画面 |
開発版にアクセスした画面 |
運用版にアクセスした画面 |
mod_webdev は、一言で言うと、条件つき mod_rewrite です。特殊なクッキーを伴ったリクエストについてのみ、ファイル名を書き換えることで、開発者が開発中のファイルをテストすることができます。
URI | http://example.com/cgi-bin/foo.cgi |
---|---|
実行ファイル (一般ユーザー) | /home/www/cgi-bin/foo.cgi |
実行ファイル (開発者) | /home/www/cgi-bin/.htwebdev-test-foo.cgi |
こんなものの何が便利なのかというと、下表のとおりです。小規模なサービスの機能追加/バージョンアップのサイクルを短くするという目標がご理解いただけると思います。
手法 | メリット/デメリット |
---|---|
別環境での開発 | +テストが容易 -開発環境が別途必要 -開発環境と運用環境の同一性を維持する必要がある |
運用環境での開発 (別ファイル名) | +開発環境が不要 -URL が異なるため結合テストができない |
mod_webdev での開発 | +開発環境が不要 +結合テスト可能 +ファイルリネームでデプロイ |
今後のバージョンでは、 PHP や Perl スクリプト内で、バージョンに応じた require や DB テーブル名の生成ロジック等を書けるようにしていきたいと考えています。
注1: 別に Perl を書いたらダメ、と言われているわけではありません。
投稿者 kazuho : 2005年10月06日 12:22 | コメント (2) | トラックバック (3)