2011-05-01から1ヶ月間の記事一覧

続・比較モナド

モナドのこと検索してたら次のようなtweet見かけた。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "h…

比較モナド

前回は「ソート順(order by句)の情報から、特定レコードの上界/下界を求めるクエリ(where句)を自動生成する」というのをやった。 その時のwhere句の形 ... AND ((t0.pub_date < t2.pub_date) OR ((t0.pub_date = t2.pub_date) AND (t0.id > t2.id))))を見て…

一覧用の検索条件からいろいろ自動で取得する

一覧で要素を一つ選択して詳細ページでその内容を表示するようなサイトを作ることは良くあると思うけど、その為のDBアクセス処理を毎回一機能ずつ書くのは面倒なのでどうにかする方法を考える。 今回はフレームワークとしてはCayenneを使うけど、実例を挙げ…

関数型のテンプレートエンジンで何が出来るか

まず関数型のテンプレートエンジンの定義なんだけど、とりあえず以下を満たすもので考える。 各テンプレートが独立した静的スコープを持つ テンプレート(の一部)がファーストクラスのオブジェクトとして扱える。 変数に代入したり、引数で渡せる。 折角なん…

関数型のテンプレートエンジンを作ってみる(0.3) - 条件分岐・繰り返しの導入

前回追加したdefineタグ、insertタグに加えて、今回は条件分岐タグ(ifタグ)と繰り返しタグ(foreachタグ)を導入する。 ifタグは以下のように、条件が満たされた時にその内部がレンダリングされる。 // 会員のみメッセージを表示 {if condition="customer.isMe…