JSDB2007年05月01日 12時10分23秒

それはいったいなんですか?

あるSEのつぶやきさんで JSDB: JavaScript for databasesなんてのを紹介していた。なんじゃこら。

一次ソースのMOONGIFTさん経由でサイトにアクセスしてみると、

JSDB(r) is a JavaScript shell designed with network-centric programming in mind. It can be used as a database interface, XML processor, and internet-oriented scripting language.
とある。なるほど、シェル環境だな。

WSHでよくね?

とも思ったが、linux版もあり、クロスプラットフォームな点がアドバンテージか。E4Xもあるし。ひまみて試して見るかな。ActiveX取り回さなくてもDBMSインターフェイス/メール関連インターフェイス(MAPI/SMTP/POP3)/ストリームオブジェクト(COMポート/ソケット/HTTP/パイプ/メモリ)とか実装してるのでこれ単体でかなりのことができそう。たしかにすごいな。

まとめ

とりあえず、こんなところでしょうか。

  • Mozilla系列のスクリプトエンジン(JavaScript 1.6ベース)を実装したJavaScriptシェル環境。
  • 充実した組み込み(?)クラスライブラリ。
  • Win/Linuxのクロスプラットフォーム。
  • ライセンスはMPL

MOONGIFTさん、更新してたんだ...2007年05月01日 12時40分57秒

RSSリーダーに登録して楽しみに購読していたMOONGIFTさん、アクティブなRSSのアドレスが変更されていたことに気づかず「更新されないねぇ」などと寝ぼけたことを考えていたが、前のエントリのネタ拾いの時にやっと気づいた。orz

まあ、更新されていてなによりでした。

悪趣味...2007年05月01日 12時50分43秒

ネズミーマウス(画像注意)って...悪趣味っつーか...

(via: Engadjet Japanese)

JSDBを触ってみた[1]2007年05月01日 18時46分07秒

またprototype.jsかよ

JSDBをちょっと触ってみた。で、我ながらアレだと思うが、prototype.jsをロードしてみようと。

基本的にはおんなじ

前に書いたprototype.jsを使えるようにと同じ方法でロードできる。

js>load("dummy.js")
true
js>load("prototype.js")
true
js>$R(1, 10).each( function(value, index) { writeln( "[" + index + "] - " + valu
e ); } )
[0] - 1
[1] - 2
[2] - 3
[3] - 4
[4] - 5
[5] - 6
[6] - 7
[7] - 8
[8] - 9
[9] - 10
js>

ただ、load関数はローカルファイルパスのみ有効みたいで、URL渡したら(なぜかtrueを返すが)コードは実行されなかった。仕方ないから、JSDBのインストールパス内にlibsとでもサブフォルダ切ってそこにぶち込んでおくとよいかと。

おまけ

WSHでもだいたい通るみたいだが、パスセパレータに「/」(スラッシュ)も指定できる。JSDBインストールフォルダにサブフォルダ「libs」を切って、そこにprototype.jsを設置したとすると、

load("libs/prototype.js")
でもうまく読み込まれる。