タグ

ブックマーク / kiririmode.hatenablog.jp (3)

  • Data::Dumper に代わる Data::Printer - 理系学生日記

    LL でデバッグと言えばデバッガではなく print デバッグ、という人は多いと思います。ぼくはもっぱら print デバッグです。 いまこのタイミングでこのオブジェクトはどんな値を持っているんだろう、というときは、Perl だったらもっぱら Data::Dumper を使って、 sub p { print Dumper @_ } p $object; なんてのを良く書いてたんですけど、$object がクソみたいにデカいモジュールのオブジェクトだったりすると、ターミナルが溢れて(ぼくが)死んだりしてました。DateTime とか HTTP::Request あたりとか大変ですね。 で、ちょっと Data::Printer 良いよって声を聞いたので試してみたのでした。Class::MOP 依存だがな!!! 基的な使い方 Data::Printer を use すると、p っていう関数がデ

    Data::Dumper に代わる Data::Printer - 理系学生日記
    fbis
    fbis 2014/07/19
  • ぼくが DBI から DBIx::Class に移行した理由 - 理系学生日記

    2009-06-18 この話で、とりあえず MySQL 使ってみっかってことになって、最初は DBI を使ってアクセスしてたんですけど、その部分全部消して、DBIx::Class 使ったアクセスに書き換えました。 別に DBI でも良いだろって思ってたんですけど、それでも乗り換えたのは、生で SQL を書くのがカッコわるいとかいう理由でもなく、メンテナンス性・柔軟性が乏しいよねって理由でもなく、IN 句で変数 bind しにくいよねって思ったからです。 IN 句に何個指定するか実行時にならないと分からないのに、bind する変数の数をあらかじめ決めるのってつらいよなーって思いました*1。 "SELECT name, age FROM people WHERE name IN (?,?)" # two names もしかして、なんか良い方法あるのかな。ないのかな。 *1:もちろん実行時に、'

    ぼくが DBI から DBIx::Class に移行した理由 - 理系学生日記
  • PerlでSingleton - 理系学生日記

    Perlってばお茶目なので、privateだのpublicだの基ない感じです。 privateなメソッドは最初に_をつけるとかいう慣習もあるっぽいんですけど、もちろん外からは呼び出せる。 Singletonはそのクラスのオブジェクトを1つしか生成しないというデザインパターンで、コンストラクタをprivateにするのが定石みたいですが、Perlだとprivateとかないし、当然外からそのコンストラクタは呼び出せることになってしまう。 どうしたもんかなぁと思って悩んだ後、コンストラクタ消せばいいじゃん!!!!!!!!ってことに気づきました。 まず普通にコンストラクタを定義して1つしかないオブジェクト作った後、そのコンストラクタの中身を、さっき作ったオブジェクトを返すように変える。 BEGINの中身がそんな感じです。 いちおう、bokuで一意(?)な値を出力させるようにして確認することにします

    PerlでSingleton - 理系学生日記
  • 1