latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

2012-10-01から1ヶ月間の記事一覧

型情報(宣言)と、実装を分離できる仕組み prof.js を実装してみました

続き書きました: http://uupaa.hatenablog.com/entry/2012/11/02/154337 今朝方ピコーン*1 があったので頑張って1日で実装してみました。ピコーンの内容は ・今あるソースコードを汚さずに、動的な型チェックのための仕組みを後付で追加する事ってできないか…

uuCanvas.js のサブセットとして VMLCanvas.js を切り出しました + 速くしました

uuCanvas.js は、ExplorerCanvas をヒントに作成した、canvas を VML, Silverlight, Flash でレンダリングするライブラリです。uuCanvas.js から VML 限定版として VMLCanvas.js を切り出しました。 # uuCanvas.js は 1万行。VMLCanvas.js は 2000行 です。 …

JavaScript delete 演算子が数字をキーにした場合に期待と異なる結果を返す

ツイッターだと無理なのでこちらに、 var a = new String('a'), b = (function (s) { s[0] = '_'; return s }(a)); console.log(a.toString()); console.log(a === b); // a, true 何故 #js via https://twitter.com/nazomikan/status/258953859731443712 の…

巨大な配列をUIスレッドをブロックせずに処理する Array#async を mofmof.js に実装してみました

(ε・◇・)з o O ( 実装に4時間かかってるけど、1分でよめるよ!ブラウザ上で動作する JavaScript はシングルスレッドで動作するため、 巨大な配列を Array#forEach などに与えてしまうと UI スレッドが固まってしまう可能性があります。 Array#async は配列を…

TypeScript / js / mofmof.js 並べてみて、第三者から見れば動いているコードにコメントがあるのって凄くありがたい事かなーって今更ながらに再確認(長い

# CSS3 の flexbox をサポートしているブラウザで御覧ください // TypeScript interface Size { _width: number; _height: number; getWidth(): number; setWidth(value: number): void; getHeight(): number; setHeight(value: number): void; } class Box …

TypeScript の Interface が mofmof.js にもほしい

TypeScript を知ってる前提で書きますよー(ε・◇・)з TypeScript いいですねー、JavaScriptの上位互換でES6と衝突しない感じでステキですねー。 (ε・◇・)з Interface とかもいいですねー。とりいれたいですねー Interface を mofmof.js に実装してみました //…