2005-01-01から1年間の記事一覧
TermExtractを入れて遊ぼうと思ったら、use encoding関係でハマり。 encodingプラグマはローカルスコープにできない chompはencodingプラグマの影響を受ける 1. に関しては、 use encoding 'euc-jp'; my $raw_str; { no encoding; $raw_str = "じゃぱにーず"…
.htaccessが有効なら、 SetHandler cgi-scriptこういうひどい解決法もありかもしれぬ。行き詰まってる原因がキャッシュに起因するバグのせいだったら後からひどい目にあいますけどね。
自分メモ。has_manyには第3引数があって、Music::Artist->has_many(cds => 'Music::CD', 'artist_code');って指定ができるみたい。第3引数の意味はこの場合だと、Music::CDクラスからは自分(Music::Artist)をartist_codeと言う名のメソッドで参照できると言…
Date::Calcで空オブジェクトを作ってprintするとセグフォで落ちるなーと思っていたら、package hoge; use overload '""' => sub {undef}; sub new{bless [], shift}; "" . hoge->new();これでも落ちた。perl5.6.1の問題? または環境依存? 自宅の5.8系のper…
そうだったのかorz。それにしても、紹介されているapacheを二つ建てる手法は非常に合理的でいいですね〜。
よく忘れてしまうので、引用。 The order of merging is: 1. (except regular expressions) and .htaccess done simultaneously (with .htaccess overriding ) 2. , and with regular expressions 3. and done simultaneously 4. and done simultaneously
030526 : mod_perl クイック・リファレンス (1) より。 $r->send_cgi_header( $str ); $r->cgi_header_out() と $r->send_http_header を適切に呼び出す。 PerlSendHeader on ディレクティブを実装するのに使われている。 解析作業が伴なうので、パフォーマ…
import関数については今まであまり気にしてなかったんだけど、perlmodによると、 As a special caseuse Module ();is exactly equivalent toBEGIN { require Module; } だって。後ろに空っぽの()を付けると、importを呼ばないようにできるそうな。だからmod_…
CGI::ApplicationのようにWEBアプリをクラスとして扱う場合、1つのリクエストに対してアクティブになるクラスは一つだけなので、シングルトンクラスである方が幸せになれる。例えば、TTのプラグインを作るときなんかは、シングルトンであれば現在アクティブ…
例えばHTTPのリクエストを表すクラスを作る際、mod_perlではApache::Request、CGIではCGI.pmに処理を委譲したいと思ったとき、コンストラクタさえ変えれば他のメソッドはほぼ同じなので、わざわざファクトリメソッドを作ったりしたくない。そこでこんな方法…
Appleが頑張っている今日この頃でも、サーバはUNIX系、クライアントはWindows系であることは未だに多い。そのためにTTで日本語を扱うときに、大抵はDB〜スクリプト内部ではEUC、TTから吐き出すのはsjisであることが多くなる。そんなときに頑張ってくれるのが…
ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか作者: ジュニア,ヘンリー・S.ウォーレン,Jr.,Henry S. Warren,滝沢徹,玉井浩,鈴木貢,赤池英夫,葛毅,藤波順久出版社/メーカー: エスアイビーアクセス発売日: 2004/09メディア: 単行本購入: 35人 …
Hatena::Diaryが楽しそうなので、自宅サーバのMTからこっちに移しました。シンプルであり、かつ、かゆいところに手が届くような設定項目やヘルパがいいですね〜。はてな記法による記事の投稿には癖があるけど、なれたら逆に使いやすそう。
TTをClass::DBIと一緒に使うと、ついついレンダリング時間が長くなってしまいがちなので、レンダリング時間の測定方法を。 use Template; use Time::HiRes ();my $tpl = Template->new(); my $starttime;$tpl->process('hogehoge.html', { START_TIMER => su…
テーブル定義からClass::DBIに対応したクラスをファイルとして生成するスクリプトってあるんだろうか? 探したけど見つからなかった。。。 Class::DBI::Loader で定義を読ませて、その後生成された各テーブルクラスのクラス属性(__hasa_relsやら__hasa_list…
OS Xに対してftpやらsshやらで接続するとタイムアウトをして困っている人々へ。 /etc/xinetd.d/ftp で server_args = -l -t 7200 とか。 /etc/sshd_config で ClientAliveInterval 60 と ClientAliveCountMax 999999 とか もしかしたら幸せになれるかもしれ…
mod_perl(Apache::Registry)環境下ではさらに複雑となる。まず、モジュールが他のスクリプトにおいて読み込み済みの場合、メインルーチンに書いてある処理は実行してくれない。この部分に初期化処理を書く場合は注意が必要だ。 さらに、Apache::StatINCを利…
perlのクラスの初期化が複雑だと思う今日この頃。例えば、以下のコードの出力はどうなる? # Class1.pm package Class1;print "main Class1\n"; print "#####################\n";sub import{ print "import Class1\n"; print join(',', @_) . "\n"; print j…
package Class1; sub new{bless {}, shift} sub hello{print "Hello Class1.\n"}package Class2; @ISA = 'Class1'; sub hello{print "Hello Class2.\n"} sub say_hello{ my $self = shift; $self->hello(); $self->SUPER::hello(); }package Class3; @ISA = …
svnにはクライアントを簡単に作るためにライブラリがあるとのことで、ちょっとやってみたんだけど大苦戦。とりあえずチェックアウトだけ動いたので、メモ書き。完全にヤッツケだから参考にはならないだろうけどね(-_-)。 1. finkで必要なライブラリをぶっ込…
いつぞやのエントリでCPANがぶっ壊れてると書いたが、今日やっと対処。CPAN/Config.pm~をCPAN/Config.pmに上書きして設定を初期化し、CPANを再設定したら動いた。オレ予測では、makeコマンドのPATHが間違ってたんじゃないかと。
Software Design 2005年12月号にRoRの特集が載ってたので購入。割とまとまってます。 オンラインより書籍のほうが読みやすいなあと思う今日この頃です。
共有ライブラリってどうやって作るんだろうって調べてて見つけたProgram Library HOWTO。まとまってて読みやすい。 でも、OS Xでは事情が違うようだ。Fink関係のページの共有ライブラリの項を流し読みした感じでは、上述の解説ページの内容じゃ駄目みたい。 …
Tigerのリリース時に個人的に注目していたXgridが全然流行らないなあと思っていたら、OS X Serverにしかコントローラがついていない、つまり買わないとクラスタリングできないというオチがあったんだね。 一応、こちらのエントリで書かれているのを参考に動…
変化に強いXMLデータベース設計とチューニング XMLデータベースには興味はないんですが、 理想の主張、説得は、十分な問題解決能力を持たざる技術者がその現実を忘却する手段として機能するということである。 この主張には納得。美しさを保つために変化を受…
Catalyst翻訳 こりゃあとってもうれしいお知らせ! 訳者さんに感謝です。
Ajax関連の記事いろいろ。 Ajax、それはWeb 2.0へと続く道 Webアプリのユーザビリティを改善しまくるAjax 古くて新しいAjaxの真実を見極める 書籍が出たりAraxが出てきたりと、まだまだ発展しそうな分野ですね。
さっきのエントリでは、Objective-CをXSから直接呼べないと思ってこんなことをしたんだけど、直接*.mファイルをXSから呼べるみたい。*.mから*.oが作れたのね。 注意点は二つで、まずは*.mファイルはExtUtils::MakeMakerが拾ってくれないので、perl Makefile.…
perlからCocoaのAPIを呼ぶには、CamelBonesってものがあるのだけど、これを使わずに自分で試してみた。 参考資料は、ひげぽんさんのXSの利用法の記事と、MYCOMさんのクラス情報に直接アクセスするの二つ。XSからobjc/objc-class.hを呼ぶコードを書けば完了(…
バイナリを扱う界隈が非常に熱いですねー。勉強中のオレとしても、とても楽しみな流れです。 なぜかShibuya.pmが絡んでるのも微妙に気になったり(笑)。perl使いも流れてるんですかね?