タグ

ブックマーク / ameblo.jp/noritaka-okada (2)

  • 『[node.js]Object.seal(obj)とかObject.freeze(obj)とか』

    コンストラクタで宣言されていないプロパティへのセットを防ぎたくていろいろ探してたところ Object.seal 関数 (JavaScript) というのを見つけたので試してみた。 function User() { this.name = undefined; Object.seal(this); } var user = new User(); user.name = 'まどか'; // セットできる user.age = 14; // セットできない console.log(user); // => { name: 'まどか' } いい感じ。 さらにObject.freeze(obj)を使うとwritableがfalseになるので、 書き込み不可なオブジェクトを使いたい場合にはいいかも。 function User(name) { this.name = name; Object.fr

    『[node.js]Object.seal(obj)とかObject.freeze(obj)とか』
    oinume
    oinume 2013/04/03
    JSにもObject.freezeなんて気の利いたものがあるのか。
  • 『[MongoDB]実行計画 $explain』

    MongoDBSQLと同じようにオプティマイザが実行計画を作っていて、 その実行計画を元にクエリを実行しています。 実行計画を確認するには、 >db.hoge.find().explain(); { "cursor" : "BasicCursor", "nscanned" : 4, "nscannedObjects" : 4, "n" : 4, "millis" : 0, "nYields" : 0, "nChunkSkips" : 0, "isMultiKey" : false, "indexOnly" : false, "indexBounds" : { } } みたいな。 上記だと全件取得なのでindexが使われておらず、 "cursor" : "BasicCursor" になっています。 とはいえ4件しかないからめちゃくちゃ速い("millis" : 0)ですが。 >db.hog

    『[MongoDB]実行計画 $explain』
  • 1