コネクションプーリング

某情報機関gで調べてみるとrailsのARは1プロセス1コネクションのようだった。最近仕事のちょこまかツールを作っていてディレクトリ内の更新情報を別のプロセスから取得して、状況をDBに反映していくというものを作ったんだけどこれでハマった。使いまわせそうなので一応railsプラグインって形にしてrakeでscript内に常駐させるスクリプトをコピー。この場合、先に常駐スクリプトを走らせてrails起動しないとエラる。すごく煩雑になる気がするけども、同じプロセス内からディレクトリの監視をさせればいいのかしら公園。レナード・コーエン

それに対してgrailsのORマッパ「GORM」はこういう制限がないらしいので別プロセスからでもDBが叩ける(はず。未確認。たぶんそう。けど「たぶんそう」なんて無責任なことは書けないと思いつつも書くのだ。アナーキスト!!!) これがJava資産なんだな(イッツ・Hibernateパワー)。

別プロセスからDBを何かしらの形で叩くということはこれからも仕事のなかで出てくると思うので、このあたりはもちょっと調べたい。

viewとmodel

ものすごく単純なことなんだけど、railsではselectタグを書くのに中身の選択肢をview上で定義する(よさげなプラギンあるかもだけど)。一方grailsではdomainクラス(モデル)にconstraintsで定義する。個人的にこういうselectの選択肢なんかはmodel内に定義したほうがいいと思った。

ただこの手の話は議論が尽きないし、みずかけRONになるんだろうな。

def

デフジャムは初期が好きです。Rick Rubin最高☆。
なんかgroovyのdefの使い方が慣れない。ソース流し読みしてると「あれ?」と思うことがある。「これメソッドじゃなくてローカル変数だったのか・・」など。