タグ

perlとdbiに関するBigFatCatのブックマーク (7)

  • Perl RDBMS Programming(DBI/DBIx::Sunnyのはなし)

    Teng is an O/R mapper that provides methods like bulk_insert and fast_insert for efficiently inserting multiple rows into a database table. It also has features like lookup to retrieve a row by primary key, suppress_row_objects for improved performance by not creating row objects, and sql_comment to add comments to generated SQL for debugging. Teng aims to improve performance of database operation

    Perl RDBMS Programming(DBI/DBIx::Sunnyのはなし)
  • DBIとforkの関係 - heboi blog

    実際ググれば正解はいっぱい出てくるしここに自分もコメントで書いてたりしていまさら書く必要もないかなと思ってたけど一応自分のブログでもまとめておくということで。 一般的な解 DBIx::ConnectorとかDBIx::Handler経由でかならず$dbhを取得してからDBIを使う。 もしくはfork-safeなORM(DBIx::Class, DBIx::Skinny, Teng)を使う。 DBIを直接使っている場合 一般的なコネクションを保持するクライアントと同様にDBIもforkした子供が親のコネクションをそのまま使うことはバグの原因になります。特にトランザクションの処理等で重大な問題が起こる可能性がある。 解決策は、 DBIのコネクションを親で作らないで、子供で独自に作る 親で作ってしまったコネクションを子供が安全にDESTROYし、再接続する のどちらかになります。ここで問題は2で

    DBIとforkの関係 - heboi blog
  • 萌えキャラとは一体何だったのか : Mojolicious::Lite + Teng + SNBinder + Xslate (+ SQLite/OnMemory) でCRUDアプリを作ってみた

    Mojolicious::Liteは一つのファイルの中に全部突っ込んでWebアプリが作れるということなので、今自分が気になってるものを習作の意味を込めて全部詰め込んでCRUDアプリを作ってみました。jQueryも入れたかったけど書いていてカオスになったのでSNBinderの補助とページャ以外は無しにしました。 色々突っ込んでみたものは以下 Teng ページャ(プラグイン) inflate/deflate triggerの代替 Class::Method::Modifiers Devel::KYTProf Xslate Mojolicious::Liteで継承 SNBinder コンセプト 雑感 Teng nekokakさん作の軽量ORMであるTeng。 Skinnyの後継 DBIの薄いラッパー ということで、シンプルさを残しつつさらっと書きたいことはさらっと書けるように配慮されてて良い感じ

  • 生DBI + SQL::Maker がちょうどいい | ブログが続かないわけ

    PerlDB 今年に入ってからまたPerl を使うことが多くなってきていました。画面を伴うものはだいたいPHP で書いて、そうでないもの、例えばバッチ処理のようなものはPerl で書くことが多いので、バッチを書くことが多くなってきているということです。 PerlDB を扱うときは、少し前まではDBIx::Class を好んで使っていたので、既存の案件のカスタマイズなどではいまも使うことになっています。しかし、新規に何か作ろうと思うと、スキーマを作るのが面倒に思えてなりません。ワンライナーで作れるのですが、それすらも面倒に思えてきてしまいました。 そもそも、簡単な処理しかしないのであれば、DBIlC は大袈裟な気がしてしまいます。DBIx::Skinny なども検討したのですが、そもそもO/Rマッパーが不要なんじゃないかというくらいの小さな規模では、そういうものもあまり使う気になれま

    生DBI + SQL::Maker がちょうどいい | ブログが続かないわけ
  • O/R Mapper についてかんがえてみた

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

    BigFatCat
    BigFatCat 2011/01/05
    メモ: SQL::Library
  • 生 DBI ユーザーのための DBI Cookbook (6) - 日向夏特殊応援部隊

    さて、今日は selectcol_arrayref です。昨日、会社のグルメな同僚に教えて貰いました。 ちょうど 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic にて selectall_arrayref + Slice, selectall_hashref などの使い方を書きましたが、こちらもかなり便利。 CREATE TABLE `application` ( `id` int(10) unsigned NOT NULL, `title` varchar(32) CHARACTER SET sjis NOT NULL, `created_on` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_on` timestamp NOT NULL DEFAULT

    生 DBI ユーザーのための DBI Cookbook (6) - 日向夏特殊応援部隊
  • dbicdump があるから使い捨てスクリプト書く必要はなかった - 理系学生日記

    PerlDBIC を使用して DB 系のプログラムを書くときは、スキーマクラスの作成のために、よく DBIC::Schema::Loader の make_schema_at を使った使い捨てスクリプトを書いていました。しかし、そもそもその必要はなかった。 DBIC::Schema::Loader には dbicdump というスクリプトが付属されていて、これを使えば DB からのスキーマの読み込み、およびスキーマクラスの作成を全て行ってくれる。 $ dbicdump -o dump_directory=./lib/ My::Schema 'dbi:SQLite:dbname=db/rank.db' $ find lib/My/Schema lib/My/Schema lib/My/Schema/Result lib/My/Schema/Result/Ranking.pm dbicd

    dbicdump があるから使い捨てスクリプト書く必要はなかった - 理系学生日記
  • 1