tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

db

SQL::Executor 0.11 をリリースしました

昨日放流したので、もうCPAN の各ミラーにアップされているでしょう。たいした変更はしてないのですが、(2つの変更のうちの1つは)互換性の無い変更なので書いときます。 1. 名前付きプレースホルダで、プログラム側が渡してなくて、SQL 側がパラメータ定義し…

SQL::Executor を cpan にアップしました

前にだいたい書きましたが、SQL::Executor というモジュールを書いてます。簡単な SQL は SQL::Maker を使って SQL を生成して投げて、面倒くさいやつは生のSQLと名前付きプレースホルダを使って SQL を投げれる物体です。 use DBI; use SQL::Executor; my $…

Kappa という ORM を書いてみた話

このへんの続きみたいな話。Kappaという ORM を書いています。欲しい機能は大体できて、まあドキュメントがアレなのですが、とりあえず自分で使う分には困らないし、頑張れば使いたい人も使えるかなー、くらいまではきたのでここに書いた次第です。 インスト…

ORM とかテーブルデータゲートウェイとか、その周辺の話

このへんとかこのへんの続きみたいな話。。。だと思う。 ORM がほしい 簡単な SQL を簡単に Perl から投げれるといいな 難しい SQL(とくに JOIN いっぱいするような SELECT)は、クエリビルダーで頑張るのではなく、SQL を書いて実行したい その際に名前付き…

主キーが決まらないとき

マーチン・ファウラーの著書、アナリシスパターンの最初の方に、こんな記述があります。 概念モデリングではドメインエキスパートの参加が「不可欠」である。筆者は、効果的なモデルを組み立てられるのは問題領域を本当に理解している人、つまりその問題領域…

最近のお仕事の話とか、ORM のはなしとか

たまに書いてますが、最近は、Teng使ったりしてます。ほかの ORM はあんま知らないです。つーか、ちゃんとした Web アプリとかあんまり書いたことないし、つまり、Web系の前線とかには全然居ない人です。地味に MES(製造実行システム)のバックエンドを作って…

SQL::Executor ってモジュールを書いてみた

僕は基本的には、SQL生派で、最近少しずつ Teng を試したりしています。なので、DBI でも機能的には問題ない、と思っているのですが、テストコードやちょっとしたスクリプトだと、prepare して、execute して fetchrow はちょっとダルいなぁ、と思うわけです…

書評: 達人に学ぶDB設計徹底指南書

DB 設計の入門書です。初心者はもちろん、ある程度経験を積んだ人も自分の知識を整理するのに役にたつんじゃないかなー。*1DB の本の場合、「理論」と「実践」のどちらかしか書いてないものが多かったりするのですが、この本は両方にふれて、かつトレードオ…

Webエンジニアのための データベース技術[実践]入門

ブクログに書いたのと同じ内容です。MySQL をベースにしている部分が多いですが、概念自体は他のDBを使っている場合でもそんなに違いはないはずなので、他のDBを使っている人にもおすすめです。「Webエンジニアのための」とのタイトルだし、一応対象はWebエ…

DBのスキーマ変更をテストする

ずいぶん前から実施しているのだけど、書いてなかったので書きます。皆様は DB のスキーマ変更(ALTER TABLE)ってどうやって管理していますか?SQL 手打ちは論外として、事前に変更の SQL を作るとしても、テストしたいですよね?と、いうわけで、こんな感じ…

Teng の Row オブジェクトをテストする

最近、わりと普通な感じの web アプリを書いてたりします。で、Teng 使ってたりします。Teng は Row オブジェクトにあれこれ機能を追加したりできて便利なのですが、ちょっと難しいロジックが入ったりするとテストを書きたくなってきます。そこで、こんなも…

DB のスキーマ設計とかの話

はじめに ここ1年くらい、わりとまじめに DB 設計やってみて、うまくいったもの、失敗したものなど、いろいろ出てきました。その知見(というほどものじゃないけど)を書いてみようかなー、と思います。僕は基本的にアプリ屋さん(+運用)なので、データモデルの…