こないだ書いた Catalyst の DBIC モデルを外部スクリプトから利用するっていうやつ、DBIx::Class::Schema::Loader つかえばいいね。
use FindBin;
use lib "$FindBin::Bin/../lib";
{
package MyApp::Model::DBIC;
use base qw/DBIx::Class::Schema::Loader/;
__PACKAGE__->load_from_connection(
dsn => 'dbi:...',
);
__PACKAGE__->load_classes;
}
こんな感じにすれば、MyApp::Model::DBIC::*
をロードしてくれる。
全部ロードしてもいいなら use MyApp;
で終わりなんだけど多分ほとんどの場合外部スクリプトから必要なのはモデル部分だけだと思われる。
放置してたSC430
に手をつけようかと思ったのだけど、なんかCD-RW読んでくれないんですが!!
changelogmemo.g.hatena.ne.jp
あれ?消えてる?
追記@ 2006-02-06 17:54
ring だよ! なにいってるの。誰も突っ込んでくれないし><
気づくのおせぇ。。
akiyan.com : IE7 beta2 previewをアンインストール後に、IE6でページが開けなくなってしまったときの対処法
さっそく試してみたところ見事解決!とても助かったので、はてなポイントを進呈させていただきたい思いです。
しまった! Account Auto-Discovery とかすっかりわすれてた!!
Data::Clmemo
CLON の作成にあたり Data::Clmemo などというものができちゃったわけですが、激しくオレフォーマットな Changelog memo しかパースできないため、CLON の公開にはこれの拡張が必至。
フォーマットの定義を Data::Clmemo::* でやればいいのかね。DBIC::Loader とかのイメージで。
daap_proxy.pl
はてなブックマーク - updated daap_proxy.pl
クロスフェードを長めにして回避してます。
それだ!
何で再現する環境とそうじゃない環境があるんだろうとおもったらクロスフェードを有効にしてるかどうかという違いでした。
iTunes 設定でクロスフェードを有効にしてあると、たとえクロスフェードの長さが 0 であっても次の曲を読みに行くときに TCP コネクションを貼りなおすみたいで、うまく動きます。
根本的な解決ではないですが、一応はこれで大丈夫みたいです。
コメント実装
した。
これで思う存分NDOメソッドれるぜ!
find_or_new
sub find_or_new { my $class = shift; my $attr = @_ > 1 ? {@} : $[0]; my $exists = $class->find($attr); return defined $exists ? $exists : $class->new($attr); }
find_or_create
はあるのにこれはないとか謎い。NOT NULL なカラムもってるテーブルだとあんまりつかえねーよ>find_or_create