perl

DBIx::MoCo::Fixtureのdelete_all関数って

sub delete_all { my $model = shift; my $table = $model->table; my $db = $model->db_object; if ( $db->vendor eq 'SQLite' ) { $db->execute("DELETE FROM ${table}"); } else { $db->execute("TRUNCATE ${table}"); } } これじゃあダメなのかなぁ…。

CatalystでもDBIx::MoCoで認証できるようになりました(但し一部未対応)

→承前:CatalystとDBICの蜜月 - taiyoh独言 →結果:GitHub - taiyoh/catalyst-authentication-store-moco: based on Catalyst: :Class at your own risk!>< 誰も使わないよ、というツッコミはさておき。 MoCo好きが高じてこんなことをやってみました。 ド…

CatalystとDBICの蜜月

ようは、一番問題なのは認証周りだよなぁ…。 依存具合とBK具合が凄まじすぎる。 そこさえなんとかなれば、Catalystでも簡単にMoCo使えるのに(MoCo厨なので)。 (追記) めっちゃ嘘ついてた。Catalyst::Authentication::Store::*があるじゃん。

Test::Fixture::DBIC::Schema

DB周りのロジックテストをしたくて導入してみたのですが、リレーションがらみでcreate_relatedメソッドなんかを使ってると、create時にコケてしまうので、 --- Schema.pm 2008-05-10 14:39:59.000000000 +0900 +++ Schema.pm.new 2009-02-27 16:28:24.000000…

Data::Localize

→http://mt.endeworks.jp/d-6/2009/02/culmination-of-i18n.html ちょうど今作成中のアプリケーションでC::P::I18Nを使ってたので、試してみました。嘘つきました。テストしかしてないです>< (id:lestrratさん、ありがとうございます!) [taiyoh@taiyoh-…

IO::Lambda::Socket::TCPServerとPOE::Component::Server::TCPとのベンチ

承前→POE::Component::Server::TCPとIO::Lambda::Socket::TCPServerのちょっとしたベンチ - taiyoh独言 これは自分でも流石にアレだと思ってたので、いい機会と思ってBenchmarkも少し覚えました。 ベンチマーク自体のイテレーションは1回しかしてないけど、…

POE::Component::Server::TCPとIO::Lambda::Socket::TCPServerのちょっとしたベンチ

ベンチというにはちょっとアレな内容及びやり方ですが、 http://search.cpan.org/src/KARASIK/IO-Lambda-1.02/eg/bench/ ここのベンチスクリプトを基に、自分で多少改良を加えてテストしてみました。 POEのテストの時にPOCo::Client::TCP使って、IO::Lambda…

IO::Lambda::Socket::TCPServerなるモジュールを作ってみた

これは要は、POCO::Server::TCPをIO::Lambdaベースで書き直してみた、というものです。 まだフィルタとか、全然できてませんが… あ、今回初めてgithubも使ってみました。ソースコードはこちらにおいてあります。 GitHub - taiyoh/io-lambda-socket-tcpserver…

非同期IOを実現するIO::Lambda

先日、CPAN Recent Changesをみていたら、IO::Lambdaなるモジュールを発見。ジャケ買い感覚でヲチしつつ、年始はこれを覚えてみようと思ったので、その記録。 とりあえず、やっとこさechoサーバとして動くようになった。 #!/usr/bin/env perl use strict; us…

Plaggerのプラグイン「Subscription::Gmail」

諸事情が重なったので、勉強も兼ねて、早速野良プラグインを作ってみることにしました。名前が空いてたのでいれさせてもらっただけなので、もっといいのが出てきたらすぐどきます。 これは何かっつーと、Gmailの特定のラベル(inbox含む)のリストをフィード…

昨日からPlagger始めました

やっとつまづかずにインストールできるようになったので(ぉぃ) 個人的にメール関連の用途で使いたいのだが、Plagger以前に、そもそもメールの仕組で分かってないことが多くて、ちょっと愕然。なので、Mail::(POP3|SMTP)ClientやIO::Socket::SSLなんかを読…

備忘録

無名関数をちょっとだけ試してみる。 #! /var/local/bin/perl -w use strict; my $add5 = sub { return $_[0] + 5; }; my $rs = $add5->(4); print $rs . "\n";# 9 __END__

備忘録

DBIC::Schemaにて"ON CASCADE DELETE"をしたいときは、該当カラムのbelongs_toの属性の中に"{cascade_delete => 1}"を加える。というか、ヘルパースクリプトでそれが出力されなかったんだけど、それは俺の引数の付け方が悪かったのだろうか。

備忘録

Rubyの「n.times」(n.class #=> Fixnum)をPerlで実現するのは「foreach 0..(n-1)」

「Perlプログラミング救命病棟」読了

Perlプログラミング救命病棟posted with amazlet on 06.09.21ピーター・J・スコット トップスタジオ 伊藤 直也 翔泳社 (2005/09/06)売り上げランキング: 7,023おすすめ度の平均: 目的のある本だが、楽しめる要素も多いAmazon.co.jp で詳細を見る えーっと、…

オブジェクトはなるべくメソッド間で使いまわさない方がいいっぽい

XMLパーサとエンコードのオブジェクトをクラス中で使いまわそうと思って外で宣言していたら、そこに携帯で一度でもアクセスしたらエンコードのスイッチが入りっぱなしになっちゃって、PCで見ると文字化けが直らない。 仕方ないので、中のメソッド一つ一つで…

あー、仕様か〜〜

配列のコピーって、新たにメモリを確保してるんじゃなくて、ポインタ参照みたいな方法なのかorz 例えばコピーした配列の中身を変えた時、それがオリジナルにも影響してるとは思わなかった。

のイテレータ

を、必要にかられて、DBICのnextメソッドを参考にしながら自作してみた。こういうのって、どこかにテンプレートとは言わないまでも、プロトタイプ的なソースがあるのかな。

久々にOOP

ここんとこ、Catalystを弄るか書き捨てスクリプトを作るかしかしてなかったので、Perl流のOOPの仕組みをすっかり忘れてた。でも、しばらくやってたら、以前よりも理解してる自分がいたりしてびっくり。 Perlのオブジェクト指向の実装って、基本的には無名ハ…

って

ゼロの扱いが大変だ。普通にやってると、0とundef(他言語でいうNULL)は等価だから。だから、シリアルIDが0とかって一番やりづらい。

コマンドでヒアドキュメント

root@colinux [1]# perl -MCPAN -e shell <

DBIx::Class試用中

→はてなブックマーク - Perl/DBIC - Nekokak's core dump ここの説明がホントに分かりやすくて、自分とこの環境に合わせてスクリプトを書き換えたら、ものの10分で表示できちゃったよ…。今まで、違うモジュールなんかで散々苦労してたのに。つーことで、これ…

なんてこったい

今更気づいたことなんだけど、WWW::Mixiの実行結果がWindowsとLinuxで違うんだ…。さっき、ActivePerl+Eclipseで遊んでて判明したことなんだけど。チュートリアルに書いてあるのと違うのはActivePerl側なんで、おそらくWindows側のWWW::Mixiがおかしいんでは…

new関数に嵌る

開発が完全にストップ…。うーん、これが分かれらないとオブジェクト指向にならないのだが…。 そういや、Perlの習熟レベルとかいうのが10段階設定されていて、昔「へ〜」とチラ見してたのだが、最近遂にPerlを触り出したので、もうちょっとちゃんと読んでみた…