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

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

2012-01-01から1年間の記事一覧

YAPC::Asia に行ってきたり、発表してきたりしました

そういえば RSSで見てる人はこっちの方が多いんだった。YAPC::Asia に行ってきたり、喋ったりしてきました。記事は github のほうに書いたので、リンクをはっておきます。 明日から YAPC::Asia ですよ! YAPC::Asia 2012 初日でした YAPC::Asia 2012 発表資…

YAPC::Asia 2012 発表資料「Perl と SQL のいろいろ」

こちらをみている方も結構いるみたいなので、リンクをはっておきます。 YAPC::Asia 2012 発表資料「Perl と SQL のいろいろ」

YAPC::Asia にトークを応募しました

今年の YAPC::Asia のトークに応募してみました。Perl と SQL のいろいろ初心者も上級者も Perl 書いてる人は大抵 SQL も書いてると思いますが、初心者から中級者向けくらいの tips とかベストプラクティス的な話ができたらなー、と思ってます。昨年もお話さ…

別館に記事書いた

http://tsucchi.github.com/linux/2012/07/21/proxycmdなんか別館の方あんまり見てもらえてないみたいで悲しいです。

記事書いた

http://tsucchi.github.com/sql/2012/07/20/sql-select-or-updateやっぱ emacs 使える方が楽だなー。と言うわけで別館に記事書きました。SQL の話です。

github pages で blog を立ち上げました

ちょっと前に、github pages をつかって blog を立ち上げました。 アドレスは http://localhost:4000/おっと、間違えた http://tsucchi.github.com/ です。jekyll 使ってます。そのへんの顛末もそっちに書いてあります。ここと、新しい方と、どちらを本館と…

ShipIt::Step::Copy というものを書いてみた

表記のとおりです。「既に誰かが作ってそうだなー」とか、「むしろコアの機能でできちゃったりしそうだな」とか思ったのですが、ざっと調べた限りはどちらもなさそうなので、試しに書いてみたら意外と簡単にできた。.shipit に Copy というステップが書ける…

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 $…

Class::Load を使う(try_load_class と load_optional_class)

Class::Load、動的にモジュールを読み込んでくれて、しかも require より柔軟で、便利です。で、Class::Load::try_load_class を使っていたのですが、ロード先がコンパイルエラーとかになっている場合に、0 が返ってきてしまうんですね。die してほしいなー…

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

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

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

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

no strict 'refs'じゃないとできないと思ってた

今日、ちょっとだけビックリしたことメモ。 #!/usr/bin/perl use strict; use warnings; sub aa { print "aa\n"; } 'aa'->(); こんなの書いて、実行すると、ふつうに tsucchi@vogue[512]$ perl a.pl aaこんな感じで実行できる。表題のとおり、no strict 'ref…

主キーが決まらないとき

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

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

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

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

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

C# で mv する

C#

積ん読ならぬ、積んブログ。*1FileInfo クラスの MoveTo は、ディレクトリへの移動*2ができないのと、強制上書き*3ができないので、こんな感じの外部メソッドを使っている。 private void MoveToDir(DirectoryInfo dir, FileInfo file) { FileInfo target = …

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

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

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

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

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

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

Teng の不具合をみつけて直してもらったのと、機能追加してもらった話

togetter にまとめました。 Teng の不具合を直してもらった話 + 機能追加してもらった話 set_column() をつかって update した場合に、deflate がかからない不具合があって、それを直してもらった テーブルのカラム名で CamelCase を使っている場合に Row オ…

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

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