2011-10-01から1ヶ月間の記事一覧
口上 historyとAjaxといえば、JavaScriptからある程度任意でhistoryのエントリをpushできるhistory.pushStateとか、history.replaceStateは既に大分有名になった感がある。素晴らしい未来では、全てのブラウザにpushStateが乗っていて「location.hashを使っ…
前回までのあらすじ Sinon.jsのspyをぱくったSub::Spyとかいうモジュールを作る ↓ blessせずに特定のcoderefにひもづいたデータを保存したい ↓ @__gfx__「それHash::FieldHashで出来るよ!」(参照: http://d.hatena.ne.jp/__gfx__/20111015/1318640600) ↓ …
結局こんなインタフェースにした。 use Sub::Spy qw/spy inspect/; my $subref = { $_[0] + $_[1]; }; my $spy = spy($subref); $spy->(1, 2); my $i = inspect($spy); $i->called; # 1 (true) $i->called_once; # 1 (true) $i->called_twice; # 0 (false) $…
ゆとりなので、remote環境etcでbashを使うときにzshのhistory-begining-search-backward相当ができなくてすごいイライラしてたんだけどhttp://futuremix.org/2008/08/bash-history-searchちゃんと調べたら.inputrcで出来るっぽい。そしてこれだと影響範囲がr…
TestのmockやらVerificationやらの話を聴いて、そういやサブルーチンリファレンスを一回くるんで引数/返り値/投げられた例外を記録してくれるサブルーチンリファレンスもどきを、Sinon.JS (http://sinonjs.org/) のspyみたいな感じで実装できないかなあ、と…
YAPC::Asia 2011のタイムテーブル (http://yapcasia.org/2011/timetable.html) に、「みる」「絶対みる」「まあ見る」とかそういう個人的なメモ書きを残したかったのでつくった。http://dl.dropbox.com/u/439702/bookmarklet/memomo.htmlダブルクリックでそ…
class MonadPromise<E> { Promise<E> pure(E e) { return new Promise.fromValue(e); } Promise<E> bind(Promise<E> p1, Promise<E> f(E e)) { Promise<E> p2 = f(p1.value); return p2; } } main() { Promise<num> dbl(num n) { return new Promise.fromValue(n * 2); } MonadPromi</num></e></e></e></e></e></e>…
特定の要素をFirebugでinspectしたい時に、いちいちその要素をマウスでクリッコするのがめんどくさいからつくった。 " firebug inspect mode hint js <
DOM Level3で規定されているComposition Eventを使うと、IMEの入力開始 -> compositionstart, IMEで文字追加,変換 -> compositionupdate, IMEで変換確定 -> compositionend, という風にIMEによる英語以外の文字の入力をイベントとして受け取ることが出来るこ…
プロファイラ(関数単位で出るやつ)でパフォーマンス測りたいときに、長い関数があると分かりにくくなっちゃうから function myLongFunction() { ... (function doAPartOfTheWork() { ... })(); ... } ってする、っていうのがHTML5 Rocksの記事に書いてあっ…
Term::ANSIColor::Relaxなんとかの、autoboxやめた版を作ってたのを思い出した。autoboxはオワコンだ、とid:xaicronに言われたので。ついでに元のは消した。https://github.com/zentooo/p5-term-ansicolor-simpleというか、初めからこのインタフェースで良か…