node.js を使ってみる
CommonJSをCouchDB上で動かしてみる試み、ということで、node.js(http://nodejs.org/) を試します。
Mac OS X 10.6, CouchDB 0.10.1, node.js 0.1.26 です。
$ ./configure $ make $ sudo make install
でインストール完了。/opt/local/bin/node ができあがっています。
次にCouchDB。
$ curl -X PUT -d '"/usr/local/bin/node /usr/local/share/couchdb/server/main.js"' http://localhost:5984/_config/query_servers/javascript
と設定をしてあげます。local.iniいじってもいいですが、私の開発環境のように、たくさんのlocal.iniがあるとどれ使われているかわからなくなるので、HTTPでしか操作しません。
で適当なビューを作って試してみるとエラーになる。couch.log を見ると
ReferenceError: readline is not defined
ふむ。っと、、、、ここでnode.jsのAPIはすべてasyncで、こうなるとmain.jsの結構な量をかきかえなければならないことに今更気がついたので又後で。
っていうか、CouchDBのQueryServerインターフェースが同期IOを前提に設計されているのに、node.jsというNon-Blocking I/O で基本非同期のSSJSもってきたらだめじゃん。。。
flusspferd にする。