JS 形式の設定ファイルを読み込むときは eval の代わりに new Function を使う

なぜか? それはスコープチェーンが継承されるのを防ぐため。具体的な例を見てみましょう。 以下のような、設定ファイルがあったとします。[ conf1.js ] { val1: 'abc', val2: 2 } これを読み込みます。 eval 版 var work = 1; var data = fs.readFileSync('…

nvm の新機能

今年も Node.js のユーザーカンファレンス「東京Node学園祭」が11月18日 (あと16日後)に開催されます。楽しみですねー。 以下、アドベントカレンダーの参加記事(19日目)になります。 nvm の新機能 nvm は Node.js をバージョン毎にインストールできる便利な…

Node.js を Ninja でビルド

こちらの記事に Node.js を Ninja でビルドする方法がわかりやすく書いてあったので試してみました。 http://d.hatena.ne.jp/jovi0608/20120905/1346831489実行環境 (Mac OS X 10.7.4 Node.js v0.9.2-pre)結果 $ ./configure --ninja $ time make real 3m14.…

Node.js フロー制御モジュール速度比較(その2)

Node.js のバージョンを 0.9.1 、node-block のバージョンを 0.1.5 に上げてベンチマークを取り直しました。 (ベンチマーク用のコードは前回と同じです。)実行環境 (Mac OS X 10.7.4 Node.js v0.9.1) ・async (v0.1.22) ・step (v0.0.5) ・node-block (v0.…

Node.js フロー制御モジュール速度比較

Node.js のフロー制御モジュールといえば async と step が有名ですね。 私は node-block という自作モジュールを使っているのですが、速度的なパフォーマンスが気になったのでベンチマークをとってみました。実行環境 (Mac OS X 10.7.4 Node.js v0.9.0) ・a…

Eclipse (Juno) で javascript を書けるようにする

IDE

先月リリースされた最新版 Eclipse 4.2 (Juno) を試そうとしたのですが、今回から javascript 用パッケージが廃止されたらしく、Node.js 向けの環境を作るのに一手間かかりました。以下、環境構築メモ。Classic 版をダウンロードする http://www.eclipse.org…

Node.js uncaughtException から Domain へ移行

今後 uncaughtException での実装は非奨励になり domain に置き換わるらしいです。 https://github.com/joyent/node/commit/e8af3405574dfee2cb8c11bf27195b774332db96というわけで、移行のメモ。 process.on('uncaughtException', function(err) { console.…