2006-04-01から1ヶ月間の記事一覧

Template Toolkit 探訪 (1)

Perl でドキュメントテンプレートシステムを利用したい場合, 変数の展開を使う(ex. print "Hello, ${world_name}\n";) 正規表現の置換を使う HTML::Template を使う Template (Toolkit) を使う あたりが選択肢となるかと思います。 3番目の HTML::Templat…

Catalyst 5.682 をインストール

昨日 Catalyst-5.68 のインストールがテストで fail してたんですが,5.682 なるバージョンがでていたので,それをインストールしたら無事通りました。 普通にインストールすると,cpanp のバージョンデータベース的にはまだ 5.68 だったみたいなので CPAN T…

DBD::File 0.34 をきちんとインストールした

うまくアップデート(インストール)できないと言っていた DBD::File ですが,原因がわかりました。2005/7/20 リリースと結構古いのになぜうまくいかないんだと思ったわけですが,理由は, .../site_perl/5.8.8/i386-linux-thread-multi/DBD/File.pmに,DBD:…

今日の cpanp

YAML::Syck が 0.42 になりました。 * Support for loading recursive structures.とのことだったので,ひょっとして CGI::Session との相性(というより自己参照のデータ構造の dump & restore)がよくなってるかな,と思い,テストしたところ…やっぱりまだ…

Visual Studio 2005 Express Edition

とある雑誌を買ったところ,Visual Web Developer 2005 Express Edition なる付属 CD がついていました。 当初無償ダウンロードは一年間だ,といわれていた頃にすべてダウンロードしていたので,ステかなぁと思ったんですが,この CD のレーベルが Microsoft…

吉野家 SPAM

(おそらく出会い系サイトの)SPAM で,吉野家エラーページのものがきました。もともと IE のエラーページを模倣した(つまりグラフィカルな)吉野家コピペ自体は昔に見たことがあったのですが,それを AA におとしこんで,リンク先を出会い系サイトに誘導し…

DB 設計でいまさら悩む

daily と銘打っている以上,平日は一日一つは記事を書きたいと心がけているのですが,今日は忙しくてしかもネタがありませんでした。 なにをやってたかというと,DB の構造設計です。DBDesigner というとてもよくできたフリーウェアを使って設計をしていまし…

Fedora core 5 をクライアント OS としてインストールしてみた

最近は Fedora core 5 はずっとサーバとしてしか利用していなかった(極力インストールベースを小さくしていた)んですが,久しぶりにクライアントマシン(ノート PC)にインストールしてみました。 このノート PC は CD がついていないんですが core 4 をイ…

Catalyst について雑感

mod_perl での Catalyst の設計・挙動を調べたときのメモです。 Catalyst::Manual::Internals におおまかな処理の流れが書いてある。「still developing rapidly」と書かれているとおり,必ずしもこの通りでもない。 駆動部の具象は Catalyst::Engine::* に…

VMWare Server のホスト OS としての Fedora core 5

Fedora core 5 に VMWare Server をインストールした場合,管理コンソール用ポートとして,902 は埋まっていて使えないよ,と言われます。ですが,これまで 902 で使っていたんで 902 にしたい場合のお話です。 まず,なぜ埋まっていると報告されるかについ…

ウェブアプリのデバッグ出力は position: absolute; or fixed;

テクニックと呼ぶにはくだらないというか,すでに広くやられていることとは思うのですが,デバッグ出力をコンソールではなくブラウザに出力するようにすると,社内テストの際などに役に立ちます。 もちろん,普通に頭やケツに流し込んだだけでは,デザインが…

CGI::Carp qw(fatalsToBrowser) と mod_perl

CGI::Carp 1.29 の perldoc の fatalsToBrowser の項より Note that fatalsToBrowser does B work with mod_perl version 2.0 and higher. だそうです。困った。もちろん,実行時エラー等なら最近のフレームワークはトラッピングして綺麗なスタックトレース…

Perl の無名サブルーチンについて勘違いしていた

sub makefunc { my ($data) = @_; return sub { return $data; } }のようなコードがあった場合,&makefunc($foo) と呼び出されたときに $data は $foo として一度だけ評価されるんだと思っていたんですが,$data という仮変数の実体は sub の中で persistent…

mod_perl でも import は呼ばれる

mod_perl では,一度コンパイルされたモジュールはキャッシュされてそのまま使われます。 package ModuleA; print STDERR "ModuleA::RUN\n";なる ModulaA があり,スクリプト側で, use ModuleA;としても,コンパイルされるとき一度だけ「RUN」とログに吐き…

Class::Data::Accessor と遊んでみる

fbis さんの アクセサにはClass::Data::Accessor - Unknown::Programming という記事を読んで,ちょっと興味がでたので触ってみました。

セッションのシリアライザにチェックサムをもたせたい

昨日の CGI:Session と YAML::Syck の不具合ですが,セッションシリアライザとして YAML::Syck を使わないことにして(もともと使う気もなかったんですが)強制的にインストールすることにしました。それとは関係のない話ですが,ディスククラッシュ等の原因…

Flash コンテンツはスクリプトを使ってダイナミックに挿入するべし

「Flash、Shockwave、PDFを使ってアクティブコンテンツを含むWebを作成されているお客様へ重要なお知らせ」なるメールがアドビからきました。くわしくは http://www.macromedia.com/jp/devnet/activecontent/ 参照とのことですが, IE の ActiveX プラグイン…

CGI::Session と YAML::Syck

CGI::Session の 4.13 が出ていたのでインストールしようとしたところ,テストでエラーが発生してうまくインストールできませんでした。なんでだろう〜とあれこれ試していたところ,どうも serializer を YAML::Syck 0.41 にしたあたりでエラーが出ています…

mod_perl のステータス

Apache2::Status で mod_perl の内部ステータスを確認できます。Fedora パッケージのデフォルトの設定ファイルにも書いてあったりしますが, PerlSetVar StatusOptionsAll Onをさらに書いておくと,より詳しい情報をみることができます。これをそれなりに使…

サブルーチンのアトリビュートで苦労する

サブルーチンのアトリビュート - daily dayflower で書きましたように,オリジナルなアトリビュートを使ううえで,本当は Attribute::Handlers を使うべきですが,mod_perl ではうまく動きません*1。理由は…うーん,いまいちわかりません。CHECK とか INIT …

mod_perl 環境下の require されたモジュールのライフサイクル

sunlight さんの実験 を読んで,use(コンパイルフェーズで評価される)ではなく,require & import(実行フェーズで評価される)の場合はどのようになるのだろうと思って追試をしてみました。同じようなモジュール構成で, mod_perl2 PerlInitHandler Apach…

CPAN モジュールの POD への href

たとえば, http://search.cpan.org/perldoc?Catalystに飛ぶと,自動的に最新版の POD にリダイレクトしてくれるんですね。知らなかったです。 一応,「::」があるときは「%3A%3A」とエスケープするほうがベターです。 追記 タイトルを読んだだけでは意味不…

CGI::Session のセッション名

CGI::Session ではかつてセッション(クッキー)名がパッケージグローバルな変数,$CGI::Session::NAME によって規定されていました。CLASS->name() メソッドで設定はできたんですが,不便でした。たとえば,複数セッションを使いたい場合,セッション取得時…

CPANPLUS と Term::ReadLine::Perl

o コマンドで Term::ReadLine::Perl が古いよ,といわれたので,cpanp でアップデートしようとしたところ Running [/usr/bin/make test]... PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl Unable to get Terminal Size. The TIOCGWIN…

Perl の例外処理

Catalyst で action を遷移する場合は,コンテキストオブジェクトの forward() メソッドを使うのが一般的だと思いますが,同じような役割のメソッドとして detach() というのもあります。違いは,forward() は遷移先から return 等で戻ってくるのに対し,det…

制限付きシェル rssh

時間がないのでメモ書き程度… バックアップ用アカウントなどのために rssh のサイト,和訳 Fedora 等用には,DAG のレポジトリ がある。FC5 用がなかったので spec からビルドした。 使い方等詳細は,rsshによるセキュアなファイル転送

Apache prefork MPM のプロセス数

mod_perl 環境での最適な設定を探るべく,prefork MPM(すなわち古典的 Apache)について調べてみました。実地テストをしたわけではなく,あくまでドキュメントに基づくシミュレーションです。まず,prefork MPM では ServerLimit ディレクティブはあまり意…

mod_perl2 のインストール

例によって Fedora の場合,yum install mod_perl でインストールされます。で,その後どのような設定をすればいいのか,という点に関しては,sunlight さんのページや「てくにかるむ」が参考になります(両者とも ActivePerl 環境ですが)。とくに前者は mo…

Encode モジュール

Pooh さんのベンチマーク を読んで,PHP ってそんなに文字変換速かったっけ?と思ったので軽くベンチマークをとってみました。 …えーっと,別に PHP と Perl のどちらかを貶める意図はないです(むろん,Pooh さんも hippo2000 さんもそういう意図はないはず…

ファイルシステム reiserfs

あれこれ悩んで結局 reiserfs を使っています。 さまざまなファイルシステムの仕組みについては @IT の連載記事 「Linuxファイルシステム技術解説」が詳しいです(やや古い記事ですが)。2ch のファイルシステムスレをまとめた詳解ファイルシステム Wikiも参…