タグ

fbisに関するIMAKADOのブックマーク (5)

  • hasの定義を取得する - Unknown::Programming

    hasで定義したメソッドのオーバーライドについて - Unknown::Programmingの続きというか。 さて、先日の記事でhasで宣言する時にアクセサの先頭に+をつければ特定のものだけを上書きできることを知ったのですが、そんな便利なものがあるとは知らずに(MooseのPODに書いてたねorz。翻訳版しか見てなかった)作ってしまったものがあるのでとりあえず折角なのでコードだけ張っつけときます。 要はどういうhasで定義されたものかを取得できればいいなぁーと思ったので、ズバリどういうhasで定義されたものかを取得するものを試しに作ってみたわけなのです。 package MooseX::HasRestructure; use strict; use warnings; our $VERSION = 0.01; our @EXPORT_LIST = qw/ has_restructure

    hasの定義を取得する - Unknown::Programming
    IMAKADO
    IMAKADO 2009/02/17
    hasで宣言する時にアクセサの先頭に+をつければ特定のものだけを上書きできる/
  • MooseX::Types::Path::Classが地味に便利 - Unknown::Programming

    何かしらのパスをオブジェクトに持たせる事は往々にしてある。 でそのオブジェクトがMooseで実装されているのであればMooseX::Types::Path::Classを使うのが地味にすんげー便利。 package MyObject; use Moose; use MooseX::Types::Path::Class qw{File Dir}; has file_path => ( is => 'rw', isa => File, coerce => 1, ); has dir_path => ( is => 'rw', isa => Dir, coerce => 1, ); my $obj = MyObject->new( file_path => '/foo/bar.yaml', dir_path => '/foo/baz/', ); print ref $obj->file_path

    MooseX::Types::Path::Classが地味に便利 - Unknown::Programming
    IMAKADO
    IMAKADO 2009/02/17
    MooseX::Types::Path::Class/
  • doはブロックだけどevalはブロックじゃないよ - Unknown::Programming

    Perlのブロックってすごいよね. パッと見, 構造っぽいもん. でもevalとかdoとかってブロックが後に続いているだけなんだよね(微妙な認識かも)? ブロック - make for h @ppy_things; タイトルで言ってしまった感がありますが^^; 厳密に言うとdoとevalのブロックは違うんですよ。以下のコード結果を見れば一発。 sub do_func { do { return 'block return'; }; return 'normal return'; } sub eval_func { eval { return 'block return'; }; return 'normal return'; } print do_func(),"\n"; # block return print eval_func(),"\n"; # normal return retu

    doはブロックだけどevalはブロックじゃないよ - Unknown::Programming
    IMAKADO
    IMAKADO 2009/02/17
    evalはブロックではない/Error.pm/プロトタイプ宣言
  • DBIx::Classのちょっとしたメモ - Unknown::Programming

    メモ。 一応MySQLベースです。 デバッグ情報出力 $schema->storage->debug(1); よく忘れますorz。実際に発行されたSQL文が出力されるので便利。 一行だけデータが欲しい my $obj = $resultset->search( { hoge_id => $hoge_id } )->first; # または my $obj = $resultset->single( { hoge_id => $hoge_id } ); ただ上記の方法では実際には検索結果を全て取得してから一行返しているだけなので、キチンとLIMIT設定したければ下記のようになる。 my $obj = $resultset->search( { hoge_id => $hoge_id } )->slice(0,0)->first; テーブルからランダムで一行取得 my $obj = $resu

    DBIx::Classのちょっとしたメモ - Unknown::Programming
    IMAKADO
    IMAKADO 2009/02/17
    テーブルからランダムで一行取得報/デバッグ情報出力
  • 携帯のユーザーIDを取得する - Unknown::Programming

    DoCoMoの場合は端末ID、SoftBankの場合はユーザID、AUの場合はサブスクライバIDを返すというもの。 CPAN漁ってみたところ、一応HTTP::MobileAgent::Plugin::ExtensionやSledge::MobileGate::Mobileとか携帯のIDを取得できるヤツはあった。 だけど、HTTP::MobileAgent::Plugin::ExtensionはSoftBankのときにUAから取得できるシリアルナンバーしか取れない。あとDoCoMoのis_utnの判定がhtml_version取得できない場合に未対応になるのがどうにもいけてない。 一方Sledge::MobileGate::MobileはユーザID取れるには取れるんだけど取得できなかった場合にシリアルナンバー返すんでちょい微妙。というかどっちにしろSledgeしからしか扱えないのでもっと汎用

    携帯のユーザーIDを取得する - Unknown::Programming
    IMAKADO
    IMAKADO 2009/02/14
    的なのが欲しかったので結eGate::MobileはユーザID取れるには取れるんだけど取得できなかった場合にシリアルナンバー返すんでちょい微妙。というかどっちにしろSledgeしからしか扱えないのでもっと汎用的なのが欲しかったので結局自HTTP::MobileUserID::Japanese携帯のユーザーIDを取得Catalyst::Plugin::MobileUserIDかんたんログイン
  • 1