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

Catalyst::Plugin::Authentication::Store::DBIC::User - A user object representing an entry in a database. - metacpan.org のrolesメソッドにおいて、 _search_rolesの実装、 $search->{ "me.$role_field" } = { -in => \@wanted_roles } if @wanted_ro…

便利 Acme!

http://search.cpan.org/~kane/Acme-Intraweb-1.01/lib/Acme/Intraweb.pm サービス[技術・UI・形態]とコンテンツ[実体] それぞれにおける質と量

Template::Parser

Template::Parserでは、'[%'('%]')をデフォルトデリミタ(※)としてtt2ファイルをparseします。parseの方針は、 ファイル先頭もしくは'%]'から、次の'[%'までのテキストを $preとして保存。(プレシーディング部) '[%'から'%]'の内部のテキストを $dirとして保…

デバッグ時に良く使う、Data::Dumper データ構造をうまく出力してくれて重宝ですが、 コードリファレンスはうまく表示してくれません。 $var1 = sub {"DUMMY"} とか、出力されてしまいます...コードリファレンスを表示したい時には、これ! B::Deparse !! ht…

先日、作成中のCatalystアプリにおいてメモリリークが観測されました。 原因は、 use Template::Plugin; use base qw(Template::Plugin); sub new { my ($class, $context, $args) = @_; my $self = { _CONTEXT => $context, _STASH => $context->stash, }; …

(途中) ブランチとは trunk ----A | --B branches ----A----my_A | --B----my_B いきなりですが、 Subversionは、ブランチを、ブランチとは認識していません。 svn copyコマンドによって作成された、 同じレポジトリ内に共通の履歴を持ったディレクトリのコ…

uri エスケープのお話

くえり%,$くえり,"くえり",く&えり,くえる@ ....これらの文字はすべてuriエスケープ対象となるのでしょうか?http://www.ietf.org/rfc/rfc2396.txt?number=2396各モジュールで試してみましょう。http://example.com/index.cgi?param=くえりー%'%'がquery str…

フォールト-トレンランス

fault-tolerance : 過失許容性 (goo辞書)ユーザが過失を犯したとしても、システムをダウンさせないように対策をしておく設計思想。 作るだけじゃなくてね。って思想なんだけど、 大丈夫なのか、って思う程、全く考慮出来てない。 どこまでやるかも決まってな…

my $tt = Template->new();Template use base (Template::Base); Template::Base sub new(){ $class(='Template')->_init(); ... Template sub _init(){ Template::Constants 登録 $self->{SERVICE} = Template::Config->service( $config ); } Template::Co…

CatalystでC::P::Session::Store::DBICを使うと、リクエスト毎にsessionのupdateが走るのだが、 これでは、パフォーマンスがよろしくない。 (InnoDBでトランザクションガンガンなので、特に危険なのです。。)しかも、ymlで設定したDBICを見にいってくれてな…

ファイルの内容を読み出す、LOAD_FILE()関数を使うと、 mysql> select load_file('/home/homepage/text.txt'); ERROR 13 (HY000): Can't get stat of '/home/homepage/text.txt' (Errcode: 13) というエラーがでて思うように動かない。。/home/homepage/test…

最近、仮想化技術の一つ、xen(-3.0.3)に触っていることもあってか、 linuxを支えている基本技術をきちんと学ぼうと思っている。 (つまりはトラブってるってこと...orz )今回は、その基本技術の1つの『ファイルシステム(FS)』について。 様々なFSとlinuxの…

Data::Visitor

なんじゃこのモジュールは。。

sub components()

Catalystのセットアップレンジの中で、 取得すべきcomponentsを読み込んで設定する部分。$config->{search_extra}に配列refでcomponentの置いてあるpathを入れておくと、 探索するターゲットを追加することが可能。Module::Pluggable::Objectで、 Module::Pl…

$c->model()

$c->model('MyApp::Model::DBIC::User'); --- A $c->model('DBIC::User'); --- BAはOkでBは行かないときがある。 正しい使い方としては、Aがうまくうごいてしまうときがある。 sub modelの挙動をもっと調査しないと。

memo

メモリを12GB搭載したSPARC SolarisのサーバでApacheのプロセスを6000個ぐらい上げた猛者がいるという実績も耳にしたことがありますが、一般的なLinuxサーバでは700あたりで挙動が不安定になり、実用に耐えません。これは、非常におおざっぱに言えば、ひとつ…

基本的な作業サイクル 次の順序を守っていれば基本問題はありません。 作業コピー(ローカル)の更新 svn up(update) 作業コピー(ローカル)の変更 svn add svn delete svn copy svn move 自分の変更点の確認 svn st(status) svn diff svn revert svn diff:…

ajaxの$('name');nameが数字のみで1文字の場合、うまくオブジェクトを取得することができない。 2文字の場合は・・・試してないTT

[DOM] nodeValue = datasetAttribute() : node.setAttribute('align',val);なぜsetTimeoutをclearしなければならないのか var SlideManager = Class.create(); SlideManager.prototype = { initialize : function() { this.spans = ['span7-1']; this.startS…

Class::Accessor

Can't use string ("A") as a HASH ref while "strict refs" in use at /usr/lib/perl5/site_perl/5.8/Class/Accessor.pm line 335.

Class::Data::Accessor

[Class A] A->Data = A [Class B inherit A] B->Data = A [create new A object : a] A->Data = A $a->Data = A B->Data = A [input object a->Data = a] A->Data = A $a->Data = a B->Data = A [create new B object : b] A->Data = A $a->Data = a B->Data…

Class::Data::Inheritable

[Class A] A->Data = A [Class B inherit A] B->Data = A [create new A object : a] A->Data = A $a->Data = A B->Data = A [input object a->Data = a] A->Data = a $a->Data = a B->Data = a [create new B object : b] A->Data = a $a->Data = a B->Data…

Class::Accessor::Class

[Class A] A->Data = A [Class B inherit A] B->Data = A [create new A object : a] A->Data = A $a->Data = A B->Data = A [input object a->Data = a] A->Data = a $a->Data = a B->Data = a [create new B object : b] A->Data = a $a->Data = a B->Data…

最近携わっている案件の中で...

[要件] タグ一覧を表示するエリアがあり、そのエリアをborder : 1pxで囲いたい。 横width:25%(IE対策として23%くらい)×4つ、縦20px×4つのセルにタグが1つ1つ入る感じ。 といっても、tableは使わずに、ul,liで表現したい。(html - example) <div id="tag_show"> <ul class="tag_list"> <li>Tag</li> <li>Tag</li> <li>Tag</li> ..</ul></div>…

配列

my @c = (1,2,3,4,5); $[ = 1; print $c[1]; $[ = 0; print $c[1]; 実行結果 12

perl tips

sub first { print 'First' } sub second {print 'Second'} print (2, 3, first, second); 実行結果 FirstSecond2311 サブルーチンの戻り値が指定されていない場合は、最後に評価された値。 print 'First'の評価値voidであるため、関数の戻り値(1)が返る。 s…

行ディレクトリ

今日初めて出会った言葉・・・目から鱗でした。 (って、知ってて当然?!) #!/usr/bin/perl #line 400 "ここはどう?" die "Fatal"; 実行結果 Fatal at Parsing engine line 200 Fatal at ./tmp2.pl line 6. じゃなくて、line 200とか付加的な情報まで吐いて…

範囲演算子のスカラーコンテキスト

my ($a,$b,$i,$c) = (0,0,1,0); my @c;for (1 .. 10) { if($a .. $b){print "真->"} else{print "偽->"}; $c = ($a .. $b); @c = ($a .. $b); print "c = $c [ $a , $b ] (" , @c , ")"; if($i == 2){ $a = 1; } if($i == 4){ $a = 0; } if($i == 6){ $b = 1…

apacheのコアモジュールprefork スレッドを使わず、先行して fork を行なうウェブサーバを実装http://www.typemiss.net/blog/kounoike/20060212-64 に関連して、調査すべきだなぁ。

prototype.js

http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html