query: tag:JavaScript

Gears を使うには

  1. gears_init.js の読み込み
  2. 低レベルAPIを駆使

という面倒な作業が必要になる。

具体的には

html>>

<<--

javascript>>
var db = google.gears.factory.create('beta.database');
db.open("database-demo");
var rs = db.execute("select name from users");
while(rs.isValidRow()) {
name = rs.fieldByName('name');
rs.next();
}
rs.close();
db.close();
<<--

のようなコードが必要になり、今日日こういうのは書きたくない。
そこで、

active_record.js を使う

Aptana が提供してる activejs プロジェクトの ActiveRecord ライブラリを利用すると、以下のようにすっきりする。

html>>

<<--

javascript>>
ActiveRecord.connect(ActiveRecord.Adapters.Gears,'database-demo');
var User = ActiveRecord.create('users', {name:''});
User.create({name:'maiha'});
<<--

RailsのARを忠実にJavaScriptへ移植してあるため、
ARに慣れていればほぼドキュメントなしで使えるのが嬉しい。

javascript>>
maiha = User.findByName('maiha'); // Dynamic Finder
name = maiha.name; // Accessor methods
maiha.name = 'foo';
maiha.save();

User.count();
User.find({all: true, order: 'name'});
<<--

他にも

  • Validation
  • Callback
  • Relation (hasOne, hasMany, belongsTo)
  • Migration

といった機能が実装されており、
ARの移植物としてみても完成度が非常に高い。
ちなみに、js のサイズは compaction なしで200KB程度。

参考

posted by maiha maiha on Mon 19 Oct 2009 at 05:12 with 0 comments

自分用メモ。
Ubiquityコマンドを作る時や、ビルトインコマンドを見るときに便利なのでまとめてリンクをはっておきます。

about:ubiquity
chrome://ubiquity/content/editor.html
chrome://ubiquity/content/builtincmds.js
chrome://ubiquity/content/cmdutils.js
http://ubiquity.s21g.com/

posted by satoko satoko on Fri 12 Sep 2008 at 05:51 with 0 comments

最近全然JavaScriptを書いていなかったので、少し書いてみる。

お題は、どう書く.org - LL Golf Hole 6 - 10進数を2進数に基数変換する
です。

ブックマークレットにしてみた。

javascript>>
javascript: n=window.prompt("10進数を入力すると、2進数にしてくれるよ!", ""); alert(parseInt(n, 10).toString(2));
<<javascript

上のコードをアドレスバーに貼り付ければ実行できます。

コードの内容は、

  1. window.promptで数字を得る。(これは文字列)
  2. parseInt(n, 10)で、さっき得た文字列を数値(10進数)に変換
  3. 得た数値を2進数(文字列)に変換
  4. 表示

文字列を1度、数値に変換しないといけないのが少し気にいらないなぁ。

何かいい方法があるだろうか。

posted by y_tsuda y_tsuda on Fri 22 Aug 2008 at 12:14 with 0 comments