header image

Categories

FEED

  • goo RSSリーダーへ追加
  • Livedoorリーダーへ追加
  • はてなRSSへ追加
  • Googleへ追加
  • myyahooへ追加
  • feedpathへ追加
  • NewsGator Onlineへ追加
  • Bloglinesへ追加

携帯対応

QRコード

RING

人気ブログランキング



2005/12/23 23:15:19 Perl none Comments
add Hatena Bookmark Tags:

相も変わらずCatalyst。

Search.cpan.orgのRSSフィードを定期的に見ていて、Catalyst関連のモジュールが出てくると一通り試してみている。
今日はとりあえずCatalyst::Log::Log4perlってのを試した。これはCatalystの中から簡単にLog4Perlを呼ぶためのモジュールである。

Webアプリの場合特に障害切り分けや開発におけるログの重要性が高いから予めモジュール内にログ出力ロジックを組み込むのは当然。しかもある程度レベル分けをしておく必要がある。なので全部print STDERR とか、自前でファイルを開いて書き込むだとかはナンセンス。

インストールはいつものように

perl -MCPAN -e shell
cpan> install Catalyst-Log-Log4perl

後は、Catalystアプリの最上位クラス(Hoge)で

Hoge->log(Catalyst::Log::Log4perl->new(
 "/foo/bar/log4perl.conf"));

とすると、Catalyst->logのインスタンスはLog4Perlのインスタンスに置き換わる。その後は
$c->log->debug
$c->log->info
$c->log->warn
$c->log->fatal
等を使うことが出来る。またLog4Perlのインスタンス生成の際の設定ファイルで実際にどのレベルまでログを取るのか、ログの出力先を何にするのか設定が出来るから便利だ。
以下はDEBUG以下のレベルを全てファイルに吐き出す場合のLog4Perlの設定である。

log4perl.rootLogger=DEBUG, LOGFILE

log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
log4perl.appender.LOGFILE.filename=/tmp/myerrs.log
log4perl.appender.LOGFILE.mode=append
log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=
[%r] %F %L %c - %m%n

そんなかんぢ。

2005/12/17 20:30:36 Perl none Comments
add Hatena Bookmark Tags:

今日はとりあえずmod_perlの実験。
Fedoraではデフォルトでmod_perl1.99が含まれているが、せっかくなので一旦削除してmod_perl2で試す。

yum remove mod_perl.i386

とやっただけで簡単にアンインストール。次に

perl -MCPAN -e shell
cpan> install mod_perl2

で完了。導入できたらhttpd.confを編集して、ある拡張子だったらmod_perl2を利用するように設定する。拡張子.cgiや.plだったら全部mod_perlでも構わない気もするのだが、お行儀が悪いプログラムが動かなくなったりしそうなので、とりあえず別拡張子を設定。

LoadModule perl_module modules/mod_perl.so
<IfModule mod_perl.c>
  PerlSwitches -w
  <FilesMatch ".mpl$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options +ExecCGI
    PerlOptions +ParseHeaders
  </FilesMatch>
</IfModule>

実際動かしたら恐ろしく早い。こりゃCGIはどんどんmod_perlだ~、とか言いたいのだが、mod_perl2は仕様変更が多そうなのとドキュメントがえらく少なそうなのが難点。

2005/12/11 23:13:39 Perl none Comments
add Hatena Bookmark Tags:

今日は奥さんが午前中外出で留守番。とりあえずClass::DBIとCatalystで遊ぶ。Ruby on Railsのビデオも見たが、俺の好きなCatalystと考え方としては差が無い気がする。もっとも細かい箇所での親切さはRailsの方が上なんだろうが、CatalystもすごいペースでHelperスクリプトやPluginが開発されており、言語のメジャー度考えてもCatalystで良いと俺は思う。

ちなみに実験した
Catalyst::Model::CDBI
Catalyst::Model::DBIC
はともにインストールに失敗。
Use of uninitialized value in split at /usr/lib/perl5/site_perl/5.8.5/Class/DBI/Pg.pm line 81.
public.testtable has no primary key at /usr/lib/perl5/site_perl/5.8.5/Class/DBI/Loader/Generic.pm line 196
とか出てヘルパースクリプトが落ちる。PostgreSQLだからなのか?
微妙にドキュメントが少ないのがイタい。

2005/12/04 17:59:32 Linux none Comments
add Hatena Bookmark Tags:

このサイトは自宅サーバで運営しているので、定期的にパッチ当てをしている。
ルータやファイヤーウォールで不要なポートは全部遮断しているので基本的には問題ないはずなのだが、それでも安全のため+趣味でパッチを当てている。
OSはFedoraCore3で、yumを使ってyum updateするだけなので簡単である。

しかし、あるタイミングから依存性が解決できなくなり、yum updateに失敗するようになってしまった。どうもlibtoolとgccの関係がおかしいみたいで、一旦yum remove libtool とした上で、yum updateを行ったら問題なく進んでいる。
該当モジュール数は704で、開始して4時間たつが、まだ200までしか進んでいない。結構かかるなぁ。早く終わらせてSQLite入れたいんだけど・・・。

ちなみに、本番業務システムでFedoraを使うのは止めたほうがいいぞ。知り合いでそれをやった奴がいるがupdateに嵌っている。Fedoraはどんどん新しくなる実験的ディストリなので。俺なら本番業務システムでフリーのOSを使うならWhiteBoxLinuxで決定。これはRedhatESと同等だから安定性も高い。

2005/12/02 22:12:55 apache, 日記 none Comments
add Hatena Bookmark

apacheの2.2が12月2日にリリースされた。
小数点1桁目のバージョンアップはそこそこ大きいバージョンアップである。今回は
・認証関連モジュールが再構成された
・キャッシュ関連のモジュールが大きく変更された
・設定ファイルのレイアウトが簡便化された
・ロードバランス用のProxyモジュールが導入された
・正規表現関連のライブラリが更新された
・フィルターの機能向上
・2Gを超えるファイルのサポート
・mod_dbdによるデータベースのサポート

などなど多数変更があった様子。
とりあえず引き続きwatchが必要だな。

追記。とりあえずインストールしてみた。
その記録はこっち。

2005/12/02 01:44:51 日記 none Comments
add Hatena Bookmark

最近フリーメールはもっぱらgmailを使ってたりしますが、これ素晴らしいよ。なんせ1人あたり使えるディスク容量が2G。絶対使い切れんくらいある。しかもWebメールのほかに普通にPOPも出来るので、外にいるときにブラウザで見て、家ではメールソフトを使うってなことも可能。

ところで、gmailは招待性なのだが、最初は招待できる人が3人までだったのに、昨日見たら100人になっている。
こんなに紹介しきれないので、アカウント欲しい人いたら連絡ください。速攻招待します。

googleってホント素敵だ。

 


ads

Ryuzeeのお気に入り