タグ

ブックマーク / hokaccha.hatenablog.com (3)

  • ビット反転演算子(~)でindexOfの判定 - hokaccha memo

    nodeのqsモジュールのコード読んでたらよくわからん書き方があった。 if (~key.indexOf(']')) { ... } って感じだったんだけど、チルダってなんだっけと思って。 チルダはビット反転演算子で、整数をビット反転させると符号を反転させて1引いた数になる。こんな感じ。 console.log(~-4); // 3 console.log(~-3); // 2 console.log(~-2); // 1 console.log(~-1); // 0 console.log(~0); // -1 console.log(~1); // -2 console.log(~2); // -3 console.log(~3); // -4 console.log(~4); // -5 つまり-1のときだけ0になるので、indexOfと組み合わせるとあんな感じに書けるというわけみた

    ビット反転演算子(~)でindexOfの判定 - hokaccha memo
    kanno_kanno
    kanno_kanno 2014/02/15
    なるほど。可読性悪い気がするけど速度的に良いのかなあ
  • テストフレームワーク mocha - hokaccha memo

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)3日目のhokacchaです。Node.jsのテストフレームワーク、mochaについて書きます。 mochaはTJが新しく作り始めているテストフレームワークです。ドキュメントを見ればできることは大体書いてありますので、ドキュメントを元にどういうことができるのかを解説していきます。現時点でのバージョンは0.2.0です。 http://visionmedia.github.com/mocha/ shouldについて まずmochaでどういうことができるかの前にshouldについて解説しておきます。mochaのドキュメントには特に説明もなくshouldが使われていて、shouldでどういうことができるかわかってないと、ドキュメントを読んだときにmochaの機能なのかshouldの機能なの

    テストフレームワーク mocha - hokaccha memo
  • git pullの詳細な挙動を追ってみる - hokaccha memo

    git push/pullは何気なく使ってるけど実はよくわかってなかった。ことのきっかけはこういう質問。 hogeというリモートブランチをローカルのhogeブランチにもってきたい hogeをローカルのmasterにはマージしたくない pullでなんかこんな感じでいけそう? $ git pull origin hoge:hogeでもこれは間違えで、なぜか今いるブランチ(master)にhogeがmergeされるし、期待してる動作じゃない。正解はこう。 $ git branch hoge origin/hogeもしくはチェックアウトも同時にするなら $ git checkout -b hoge origin/hogeこう。自分は普段後者のやり方でやってたけど、なんで上のはダメで下のが正解なのか説明できなかったのでちゃんと調べてみた。 入門Gitと実用Git、あとhelpを参考にした。 ブランチ

    git pullの詳細な挙動を追ってみる - hokaccha memo
  • 1