2006-01-01から1年間の記事一覧

SpeedyCGI のプロセスの癖

以前作ったモジュール(SpeedyCGI と module reload - daily dayflower)でたまにモジュールファイルの変更を検知できないことがあったんですが,理由がわかりました。SpeedyCGI の挙動をおさらいすると, frontend が backend を探す。いればよし backend …

テンポラリファイル

id:shag さんの日記(Perl での secure な一時ファイルの取り扱い - shag の日記, IO::File::new_tmpfile() - shag の日記)と perlfaq5 をベースに私家版まとめ。 テンポラリファイルの作り方 3 選 IO::File の new_tmpfile(割と昔からあるらしい?) open…

Awesome Template Engine / Framework ぽいの

今日の日記はネタなのでマジレス禁止 (;-PAwesome Template Engine とか Awesome Framework*1 とか読むと PHP ってのはテンプレートエンジンを内包してるのが強みだなぁと思うわけです。Code Igniter のドキュメントにもそんな感じのことが書いてあったよう…

SpeedyCGI と module reload

SpeedyCGI で遊んでました。mod_perl ほど設定に煩わされることもないし,ライブラリパスの局所化も容易なんで実験用としてはなかなか楽しいです。ですけど, How can I make sure speedy restarts when I edit a perl library used by the CGI?Do a touch o…

O/R マッパ流 DBIC でのアップデート

まあ、普通。こんな感じかと。my $member = $self->model('Member')->search({ email => 'nekokak@hogehoge.hoge' })->first; $member->update({name => 'nekokak'});の「普通」にひっかっかったんで。 $member->name('nekokak'); $member->update();のほう…

SQL::Abstract かしこす

以前「DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower」にて, DBIC で WHERE field1 IS NOT NULL な検索をしようと思って, …… $resultset->search({ field1 => \'IS NOT NULL' }); とか書いていたんですが, $resultset->search({ field1…

mod_speedycgi2 on Apache 2.2

SpeedyCGI を使ってみようと思って cpan install CGI::SpeedyCGI したら,怒られました。のであれこれ調べてなんとか動くパッチを作ってみました。原因は Apache 2.2 (APR-1.2) になって, APR_BRIGADE_FOREACH() というマクロが deprecated になった(参考…

DBIC 0.7 で has-many な nested multi-step prefetch がうまくイカネ

'author' has-many 'books' 'book' has-many 'chapters' みたいなありがちな DB で 2 authors each author has 2 books each book has 3 chapters みたいなテーブルを作ってMulti-step-prefetch をためしてみたんですけど, my @authors = $db->resultset('a…

loop back mount しまくって枯渇

以前書いた(私的 Fedora core のインストール - daily dayflower)ように,Linux インストーラのイメージは iso でとっておいて,それを loop-back mount して LAN 内 HTTP 配信しているのです。今日あらたなイメージをマウントしようとしたら, mount: cou…

素直なグラフィックカードが欲しいのに

HP の Core 2 Duo 搭載のマシンを会社で買いました。すんげえ静かで素晴らしいです。メモリをできるだけ多くとりたいのでオンボード VGA は利用したくない,で,せっかく静かなんで PCI-Express ファンレス Low Profile TurboCache や HyperMemory がない パ…

TT の Multi Provider

CLON - 2006/11/27 - 複数のアプリで共通のテンプレートファイルを使う これ、 [% INCLUDE 'common:foo.tt' %] とかしたとき、さらに foo.tt の中で [% INCLUDE 'bar.tt' %] とすると common:bar.tt がインクルードされてほしいのだけどそうはならないのがび…

ドラマ版のだめ

Sオケのコンマスは真中瞳 2番手の指揮科は森山未來 千秋のモトカノは小沢真珠 だと思っていました。今日ドラマのオフィシャルサイト見て違うことに気づいた。歳だなぁ…

Email::Valid 0.177- fails

sub _is_domain_label { my ($self, $string) = @_; return unless $string =~ /\A [A-Z0-9] # must start with an alnum (?: [-A-Z0-9]* # then maybe a dash or alnum [A-Z0-9] # finally ending with an alnum )? # lather, rinse \z/ix; return 1; } 追…

Plagger でまずなにをやりたいか

id:miyagawa [plagger] そういう場合はまずなにをやりたいかをBlogなりIRCなりでつぶやいてみるのがいいかも すいません。自分一人で抱え込むつもりもなかったんですが日記に書くネタ確保しときたかったんで(笑)。時間ないので来週やりたいことを書きます。

Plagger 0.7.15 の中身

食わず嫌いで Plagger を敬遠していたんですが,ついにインストールしました。しかし自分がやりたいことをやるには既存のプラグインだけでは無理そう。で,とりあえず既存のプラグインのコードを読んでいたらどんどんわからなくなってしまいました。資料をあ…

Test::Base の t/diff_is.t がこける

みんなうまくいってるし(;>_<;)。どうも Test::Simple が 0.65 (厳密には 0.64_1)でテスト失敗時のメッセージが変わったからみたいです。 * Made the failure diagnostic message file and line reporting portion match Perl's for easier integration wi…

JavaScript の圧縮

js

2007/11/14 追記:より包括的な「JavaScript ファイルの圧縮・再訪 - daily dayflower」も書きました。亜細亜ノ蛾さんの報告にもある通り,gzip 圧縮した JavaScript ファイルをおいとけばブラウザがきちんと読み込んでくれる。odz さんのところの議論による…

PoCo::HTTP で Comet チャットサーバを作る

せっかくのイベントドリブンフレームワークな POE ですから Comet でチャットをやってみようかと。ありきたりですが。POE::Component::* でウェブサーバを立ち上げられるのは現在のところ, POE::Component::Server::HTTPServer POE::Component::Server::Sim…

POE おぼえがき

TIMTOWTDI なことがいっぱいで POE のことがよくわからなかったのですが,Cookbook とリファレンスを読んでなんとなくわかってきました。 POE::Kernel が POE システムのコアで唯一神 POE::Kernel->run()run() とも書けます">*1 を実行するとイベントループ…

HVIF (Haiku Vector Icon Format)

/.J の記事「Haikuがアイコンセットを公開、新アイコンフォーマットを適用 | スラド」より。アイコンフォーマットとして SVG をステて独自フォーマットを採用したおかげで The average Haiku vector icon uses about 500-700 bytes, with some icons slightl…

MySQL と PHP の文字エンコーディング

「skip-character-set-client-handshake」で検索すれば情報多数*1 ↑のオプションがうまく働くのは,下記のエンコーディングが一致する時 MySQL のエンコーディング MySQL データベースのエンコーディング*2 PHP で扱う文字列のエンコーディング 統一されてい…

複数ファイルの文字列置換

あるディレクトリ内にあるファイルすべての文字列を置換したいことはよくあります。Windows だったら適したフリーウェアがいくつかみつかりますが*1,Unix だとパイプ文化だからかこれといった定番がありません。find と sed とシェルスクリプトを組み合わせ…

XML::Parser(expat)使ってみたけれど

XML パースのベンチマークとして有名なローサベンチ。ベンチの内容は RSS の permalink を取り出すだけのものですが, XML::LibXML や XML::Simple は一度 XML 木を生成しているのでちょっと無駄っぽい。XML::Parser のストリームタイプ(コールバックスタイ…

DBIx::Simple と SQL::Abstract::Limit

なんちゃってマッパ DBIx::Simple DBIC などの O/R マッパを使うほどじゃないけど DB 操作で楽したい,という場合には tomi さんも御推薦の DBIx::Simple があります。tomi さんもお書きのように結構致命的なバグ(その1,その2)が放置されているのが悲しい…

activeCollab で日時出力のローカライズ

php

activeCollab はもともと英語版のロケールしかありませんが,N.S.WORKs さんの日本語化ファイルを使うことで日本語で扱うことができます。メッセージまわりは日本語になるのですが,日付の出力形式が Thursday, 2 November みたくなって切ない。なのでソース…

$YAML::Syck::ImplicitUnicode と use warnings

YAML::Syck の ImplicitUnicode については id:miyagawa さんの記事 - YAML parser が詳しいのですが, perl -w -MYAML::Syck -e '$YAML::Syck::ImplicitUnicode = 1;' とすると, Name "YAML::Syck::ImplicitUnicode" used only once: possible typo at -e …

FC5 (2.6.18) を VMWare のゲスト OS とした場合

Linux を VMWare でゲスト OS とした場合,VMWare tools という添付物をインストールするとホスト OS とゲスト OS の間のインタフェースを便利にしてくれる,らしいです(実感したことはありません)。最近 FC5 の kernel が 2.6.18 (2200) になりました。こ…

私的 Fedora core のインストール

新規インストールやインストールし直しがたびたび発生するので,DVD イメージを落としてきてローカルサーバに上げて,ネットワークインストールをしています。光学ドライブのシーク音を聞くより精神的に楽な感じ。Fedora core に限った話じゃなくて CentOS …

Fedora core 6 リリース

本当は Ring server で身近なとこから落としてくるのが速いんですが,なんとなく慈善事業も兼ねて DVD image を torrent から落としました。最初スピードでねーと思ってたら WinXP の同時接続試行数のトラップにかかってたみたいで eEye さんの Biot で回避…

mixi の Cookie

リバースプロキシいれてドメイン統一すればいいのにとかいろいろいわれてますが,あそこまで分散環境にしたものに釣り合うフロントエンドを設置するのは大変かと。代わりにhttp://kaede.to/~canada/doc/mixi-and-cookie を読んで思ったのは,mixi.jp はあく…