今日のつぶやき


SQLが使えないとentityのnavigationをプログラム側でやらないといけなくなる。LINQ的な解もいずれ出てきそうだけど、まだまだ先。OKMの相対的な価値は高くなる。 #simplemodeler @myen #

懸案事項になっていたDSLのトリックを思いついた。DSLのテクニックは色々ありそうやなー #scala #

cacheにserializedを使うとBlobになってしまうのでI/Oが出てしまい、I/O削減のcacheのために別のI/Oが出てしまうということになるのかな。 #simplemodeler #

stringは500byteなのでXMLエンコーディングするとすぐに一杯になってしまう。JSON使うのがよいかな。 #simplemodeler #appengine #

stringにencodingした結果が500byte以内ならstring, それ以上ならTextにするか、cacheしないか、という流れか。 #simplemodeler #appengine #

TextやBlogに対してdefaultFetchGroupをtrueにすると、(1)entityに埋め込んでくれる、(2)entityの読み込みのとき同時に読んでくれる{(2-1)並行処理などの最適化あり、(2-2)最適化なし}のどれだろう。 #appengine @myen #

物理Update/Deleteと論理Update/Deleteをentityごとに選択できるようにする。 #simplemodeler @myen #

KVSは論理Update/Deleteが向いているような気がするなぁ。デフォルトを論理Update/Deleteにしてみるのも面白い。 #simplemodeler @myen #

プレミアムシュークリーム at Lawson
f.hatena.ne.jp/twitter2/20091101130505 #

困った時のUML Refman ( trunc.it/2zpuf )。aggregationの実装方法についてヒントがあった。 #

aggregationはaggregateとpartのassociation roleが明確に決まっているbinary associationという基本を再確認した上で考えてみると、part側にaggregateへの参照を持たせる実現方法が面白そう。 #simplemodeler #

part側にaggregateへの参照を持たせると、100万件の登録があっても大丈夫。KVS的なListによる解では破綻する。ただし、KVS的にはListでないと性能的に困るので、これをcacheで解決しようというのがアイデア。よいバランスかも。 #simplemodeler #

当面はkvsとrdbmsの混在が現実解。PIMからパッケージ単位の粒度でkvsとrdbmsのPSMを選択するということになりそう。 #simplemodeler @myen #

kvsとrdbmsが混在する以上、開発の途中でkvsからrdbms、あるいはrdbmsからkvsへターゲットPSMの変更が頻繁にあると考えるべき。アジャイルならなおさら。これに対応できる開発技法はモデル駆動開発しかない。 #simplemodeler @myen #

kvsで怖いのはER図が通用しなくなること。kvsとrdbmsの混在という要件から考えてもOOのPIMでモデルを構築して、use caseに従ってentity単位でkvsとrdbmsを選択するアプローチがよいだろう。 #simplemodeler @myen #

entity単位でkvs, rdbmsを選択することになるが、stereotypeなどで個々に指定するのは取り扱いに困るので、kvsに落とし込むパッケージ、rdbmsに落とし込むパッケージに作成・移動するアプローチがよいだろう。 #simplemodeler @myen #

Automatically shipped by LoudTwitter