素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

2009-09-01から1ヶ月間の記事一覧

WebKitでサポートされつつあるECMAScript5の新機能たち

最近、WebKitにObject.defineProperty、Object.defineProperties、Object.getOwnPropertyDescriptor等、今まで間接的にしかいじれなかったり、JSからは設定することのできなかった内部プロパティを操作するためのメソッドが入った。現時点のWebKitに入ってい…

1のビットを数える

01011010を4にする関数。 結論から言うと、__builtin_popcountを使えば良い。 int popcount(unsigned int n) { int i = 0; while (n) { i += n & 1; n >>= 1; } return i; } ごく普通にやるとこう。遅い。 int popcount(unsigned int n) { int i = 0; while …

location.protocol

location.protocolに変な文字列を入れた場合の挙動。 location.protocol = "javascript://\nalert(1)//" Safariでalertが表示される。XSSAuditorがコメント部分をチェックしないので最近のWebKitでもrefuseされない。 http://twitter.com/javascripter/statu…

Snow Leopardでghcを使う

現時点ではMacPorts上のghcはsudo port install ghcでは入らない。 Snow Leopardで動くghcは、GHC: Download version 6.10.4だ。 ただし、ghciやrunghcは動くがghcでのコンパイルは失敗するので、MacPortsのghcが動くようになったら、sudo /Library/Framewor…

重み付き配列

重みを考慮しつつランダムに配列から値を取り出す。 javascripter's gist: 180816 — Gist に置いた。 人口密度を元に、都道府県を取り出す場合を例にとって説明する。 |東 京|大 阪|神奈川|埼玉|..|.||上記のように一本の線として捉えて、chioce時にrand(0, …