2009/12/14

Weblocks

以前にもブログに書いたけど、また書く。

Weblocks は Common Lisp で書かれた Web フレームワーク。継続と AJAX を使うのが特徴。

たいして根拠はないのだけど Common Lisp 界では Weblocks が一番いい Web フレームワークのような気がする。

インストールは Weblocks: Installation に書かれているとおり clbuild を使うのが一番いいみたい。ただ moptilities と closer-mop とのバージョン関係に少々問題があるようなので次のとおり moptilities.asd をちょこっと修正する。

diff -rN old-moptilities/moptilities.asd new-moptilities/moptilities.asd
35c35,36
< :depends-on ((:version :closer-mop "0.55")))
---
> ;;:depends-on ((:version :closer-mop "0.55")))
> :depends-on (:closer-mop))

それはともかく asdf で依存ライブラリのバージョン指定なんてできたんですね。

(require :weblocks-demo)
(weblocks-demo:start-weblocks-demo :port 3455)

何故か次のようなメッセージが表示されが無視して http://localhost:3455/weblocks-demo にアクセスすればデモが動いているのを確認できる。

WARNING:
An instance of WEBLOCKS-DEMO with name weblocks-demo is already running, ignoring start request

このデモのデータストレージには CL-PREVALENCE を使っている。 CLSQL を使うのと Elephant を使うデモもある。

以下、記憶にない覚え書き。

flash は次のアクションで消える。

nil をセットする項目は :type (or null (varchar 30))

必須項目は :db-constraints :not-null

id 以外をキーにする場合 (defmethod class-id-slot-name ((W_来店者 (eql (class-name (find-class 'W_来店者)))))

'来店者番号)

今度なんか作ってみよう。

0 件のコメント: