【続】やはり Perl はメモリ喰いな言語。データ型の内部構造 以前、「やはり Perl はメモリ喰いな言語。データ型の内部構造」という記事を書いたことがあるのですが、自分で書いておきながらしばらく立つと完全忘却してました。時代は変わって、今仕事で運用し... 続きを読む
お仕事でレンタルサーバー上でCGIを書く羽目になったのですが、root権限はおろかシェルも使えない環境なのでCatalystにどっぷりつかっていたボクとしては面倒くさくて気が狂いそうです。 特にDB周り。 DBI直たたきなんて非人間的な作業をやっているとバグつぶし... 続きを読む
クラスを分けてみた。 package Class::DBI::Plugin::Slave; use strict; use warnings; use base qw(Class::DBI::Plugin); use Scalar::Util qw(blessed); use List::Util qw(shuffle); sub init { my $class = shift; $class->mk_classdata('__slaves'); $clas... 続きを読む
Class::DBI::Sweetで外部結合(など)を使う - Class::DBI::Sweet::More Perl, CDBI | 01:08 | というわけでClass::DBI::Sweetで外部結合(など)を使えるようにしたClass::DBI::Sweet::Moreを作ってみました(CPAN)。 NAME Class::DBI::Sweet::More - More ... 続きを読む
■[cdbi][perl]Class::DBI::Plugin::TwoWaySQL Seesar の S2DAO インスパイヤです。 __PACKAGE__->set_sql( by_id => q{ SELECT * FROM customers WHERE id=/* id */1 } ); こんな風に定義しすることができます。これにより、この SQL は直接 SQL Client で実行... 続きを読む
47957 Uploads, 16108 Distributions 61840 Modules, 6926 Uploaders 続きを読む
Class::DBIのsearchなどで発行されるSQLを確認するTips Perl, CDBI | 18:18 | Class::DBIを使ってるときに「どんなSQLを発行してるんじゃろ?」と思うことはありませんか? 僕はあります*1。 なんかいい方法がないかなー、と思ってたんですが、Class::DBI::P... 続きを読む
Class::DBI::Sweet::Pie - Class::DBI::Sweetに集約関数を追加する Perl, CDBI | 23:54 | これでClass::DBIで集約関数が使いたくなっても困らないぞ、と。 あとはドキュメントを整備したりテストコードを書けばいいかな……。 YAPCが終わる頃までにはCPANに登... 続きを読む
Class::DBI::Sweet::Pie Perl, CDBI | 12:37 | 気が向いたので集約関数を追加するClass::DBI::Sweet用のプラグインを作ってみました。 Class::DBI::Plugin::AggregateFunctionとか作ってもいいのかもしれません。 package MyData::CD; use base qw/Class::DBI... 続きを読む
YappoLogs Yappo運営者のメモとか色々 blogって単語は好きぢゃ無いけどスクラッチ代わりに使います。 大晦日だからXangoをhackる ライブドアネ連発で年が終わるのもいやな感じなんですよ。 ってか、ライブドアじゃなくて企業ネタで終わるのがね。 というわけでX... 続きを読む
Class::DBI::SweetでのJOIN Class::DBI::Sweetのjoinをつかった検索を試してみた。 ソースコードは作っているアプリケーションからの抜きだしなので足りないところがあるかも。 EntryとそのTagを想定して、 package Entries; __PACKAGE__->table('entries'); __... 続きを読む
■[cdbi][cpan]CDBIの delete が遅い件 http://d.hatena.ne.jp/nekokak/20060127/1138352052 CDBI の delete が遅い、というのは CDBI 使いの間では有名な話です。 実は、id:nekokak さんの書かれた sub cdbi { CDBI->search(name => 'nekokak1')->delete_all; ... 続きを読む