タグ

ブックマーク / blog.nekokak.org (5)

  • YAPC::Asia 2011 - blog.nekokak.org

    YAPC::Asia 2011関係者の皆様ほんとうにお疲れ様でした。 自分は編の発表だけのつもりだったのですが、 急遽1日目のLTにも参加させて頂きました。 LTの内容では@kamipoさんをネタにしてしまっていますが、 @kamipoさんにはいつも色々とご意見いただいており当に感謝しております。 @kamipo++ですね! LTについて 資料 LTではORMはheavyだぜへへへ的な話になっています。 実際今の自分の環境ではなかなかORMを使う余地はないなぁとおもっておりますし、 周り近所の人々もORMを使わない用にしている人がおおいんですが、 ORMがイキテくる場所ももちろんあると思ってます。 今回懇親会でTeng使ってますという声を頂いたり、 DBIx::Skinnyを便利に使わせていただいてますという声も多く頂いております。 開発者として、とても嬉しい限りです。 いつでもpat

  • Tengについて

    先ほどTengという新しいORMをリリースしました。 TengはDBIx::Skinnyの後継バージョンと捉えていただいて結構です。 DBIx::Skinnyはおおよそ3年前ほどに一人でつくりはじめたORMで 現在に到るまでに様々な仕様変更を繰り返し、 結構秘伝のタレ的なコードが目立つようになってきました。 元々はDBIx::Skinnyをリファクタリングすることで済まそうと思っていたのですが、 後方互換を残したままのリファクタリングに限界を感じました。 多くの人に使っていただいている現状で後方互換を簡単に捨ててしまうのは 宜しく無いとの判断から別プロジェクトとしてリリースするに至りました。 DBIx::Skinnyは現状、バクレポートも特別なく 問題なく継続してご利用頂けると思いますので、ご安心ください。 また、なにか大きな問題点があれば、サポートしますのでpatches&testsウエ

    kits
    kits 2011/01/18
  • O/R Mapper についてかんがえてみた

    元ネタ)http://d.hatena.ne.jp/tokuhirom/20110104/1294170319 昔良くORMを使うことのメリットは SQLを書かなくてよくなる。 つまりプログラマはSQL脳が低いからプログラマにSQLを書かせない。 プログラム中にSQLという別の概念がはいってくるとコードが読み難くなる。 バックエンドのRDBMSの差異を吸収してくれるからバックエンドを気にする必要がない。 さらに、バックエンドのRDBMSを簡単に取替え可能。 プログラマブルにSQLを組み立てしたい。 などと言われることが多いんじゃないでしょうかね。 個人的には最後の「プログラマブルにSQLを組み立てしたい」と言う要件以外は全部 間違っていると思います。 イカ全て自分の視点なだけなので違う意見もあるであろうことを承知で言い切ります。 SQLを書かなくてよくなる。つまりプログラマはSQL脳が低い

  • Smart::Argsの素晴らしいところ

    Sub::Argsというものを作っていながら、 Smart::Argsを紹介します。 一言でいうとSmart::Argsの良さは型チェックができるとかそんなことではなく、 argumentsをhashと同じキー名の変数でうけとれることでしょう。 サンプルコード use strict; use warnings; package Your::Class; use Smart::Args; sub foo { args my $self, my $fh, my $bucket => {optional => 1}, my $ext => {optional => 1}, ; } package main; foo(fh => $fh, bucket => $bucket, ext => $ext); # or foo({fh => $fh, bucket => $bucket, ext =>

    kits
    kits 2010/12/21
    「型チェックができるとかそんなことではなく、argumentsをhashと同じキー名の変数でうけとれること」
  • blog.nekokak.org

    http://blog.nekokak.org/show?guid=lG8BtIOC3xGor4mTxJxmBg ですが、上記例だと標準入力は引き継がれないのでPOST時に動作しません。 ので use File::Temp qw/tempfile/; my $app = CGI::Emulate::PSGI->handler(sub { my ($fh, $fn) = tempfile(); my $data = join '', <STDIN>; print $fh $data; close($fh); my $ret = `cat $fn | ./NDA.cgi`; unlink($fn); print STDOUT $ret; return; });とかするとよいでしょう。 超適当で、win環境とかじゃうごかないですけど。

    kits
    kits 2010/07/01
    CGI実行バイナリファイルをPlackで動かす。標準入力の引継について。
  • 1