今日のつぶやき

Twilog

[Twitter]今日のつぶやき ff.im/kQgud #

MacのUSキーボードを使ってみて、Ctrl, Command, Option(Alt)の3つの修飾キーの併用がプログラマ的にとても便利ということが分かった。結局、JISキーボードの方も英数/かな→Command、L/R Command→Optionにして使っている。 #

河童の三平、はじめて知った。 #

マスター系など、自動生成できて、それで十分なところも多い。RoRGrailsは、こういったところの生産性を劇的に向上させる。DDLDSLにして実用上も十分なわけだけど、さらに便利になるポイントが有るかどうか。 #

RDBMS DDLDSLにすると、エンティティ間の関連といったものが扱いにくくなる。このあたりをきちんとハンドリングできるなら、より上位抽象のDSLも活用の場が出てくる。 #

RDBMSとnoSQLの混在環境。ここは上位抽象のDSLが必要とされそう。マスター、トランザクション、OLTP、OLAP、といった目的別で異なった入れ物に入れた上でアプリからは統一的にアクセスさせたい。 #

データストアに対するアクセス法も今の所、手続き型の延長にあるけど、ここにデータフローやメッセージングといった新しいアクセス法が登場するとみる。プログラミングの手法の変化に合わせて。 #

Windows 7 64bit機のZumoDriveが調子悪くなった。困ったなー。 #

いわゆる非正規化を手組みでやるのは、やはり現実的でない。KVSのDDLの表現力では十分なモデルを記述できないので、KVS DDLDSLとするアプローチも限界がある。そう考えると、上位抽象のDSLの導入は必然かな。 #

まとめると、(1)データストアDDLの記述力に限界、(2)非正規化の自動化、(3)データストアへの統一アクセス。上位抽象のDSLが必要となる理由。 @myen #

SQLを使えないとなると選択と並べ替えをプログラミングしないといけないけど、Javaは悪くはないけど良くもない。ここらあたりに関数型の出番があるかな。 #

GAEだと、Datastore側の選択はeqが基本。eqのみの問合せを行って、残りはインメモリでやるのがひとつの形だけど、インメモリの選択やソートは関数型言語でやるのがプログラミング効率がよさそう。 #

goo.gl/4DXf にも書いたけど、scalaのfor文が問合せ言語とプログラミング言語をつなぐいい感じのポジションにある。もちろんDSL方面への展開もできる。Scala for文のパワーを活かしたDSLを作りたいなー。 #

メッセージがモナドで直接for文のgeneratorに入る、とかそういう方向でのくっつけ方はあるかな。それが必然性を持つケースを探さないと。 #

飛んでくるメッセージがモナドだとして、良いことは何か。クロージャを適用した時の副作用の出方をモナド側に持つことができる。例えば、外部リソースへのアクセスとか。 #

それが何が良いかというと、突き詰めて考えてみると、コンポーネントの組み立て法に一つ次元が加わって、コンポーネントの再利用性が高まる、ということかな。for文の文法糖衣は、組立て文法の簡素化にもつながる。 #

Automatically shipped by LoudTwitter