2011-01-01から1年間の記事一覧
ここ3日間ほど、家で山にこもって一人ソースコード読み大会みたいなことをしていた。Perlのコードについては、だいたい以下のような手順が最も読みやすいことがわかった。 1. Foo.pmのPODの上の方をよむ 2. Fooについてのblog記事などを検索して、そのモジュ…
この記事はJavaScript Advent Calendar(オレ標準コース)の13日めのエントリイになります。 ちなみに家に帰った瞬間、マシンの時計がずれて12/14になってて、大分一人で焦りました。てへぺろ。ぺろぺろ。この記事の題材はJavaScriptにおけるメッセージング(…
なんか foo { bar { baz { # barはfooのなかでしか、bazはbarのなかでしかよべない } } } みたいなDSLちっくなものを簡単にかけるモジュールがあってもいいかもしれない、と思って、Plack::Builderをみると、おおむねこのような感じだったのでhttps://gist.g…
http://d.hatena.ne.jp/antipop/20111101/1320164459これを見て、「JSでHTML5 form validationのruleをDOMから引っこ抜いて、JSON schema ( http://tools.ietf.org/html/draft-zyp-json-schema-03 ) に変換して、それをsubmitの直前にtype="text"なinputとか…
(※このエントリーは、「Androidのブラウザは本当のクソAdvent Calendar」の一日目の記事として書いています)12/2に発売予定のGalaxy Nexusにも搭載される予定のAndroid4.0ですが、なんと標準ブラウザにHTML5 history APIが「実装されていません」。2.2系、…
仕事でJava使ってるわけでもないし、っていうかJava触ってたのって研究室でのごく一時期だけでJavaのジャの字も分かっていないのだけど、「体調が悪いときはひたすらダラダラインプットする」といういつも通りの行動を取っていたら「Java並行処理プログラミ…
Webサイトをつくっていると、だいたい最低でも * 本番環境 * 開発環境の2つくらいは環境があって、当然ながらどちらも別のホスト名で参照しているとおもうのだけど、開発とかテストの際に「このURLを開発環境のhostで開きたい!」とか「このURLを手元のVMの…
仕事柄、「ああいうデカいサイズのファイルアップロードとか、preforkでやるべきじゃないよね。イベントモデルじゃないと厳しい」とかそんな話をすることがあって、「確かにpreforkだとあの場合すぐプロセスが埋まっちゃいますよね」とか自分も分かったよう…
なんか自分で「hashとpushStateの両対応はこういう風にめんどくさいんです」とか煽っておいてアレだけど、ここ最近は「(スマートフォンに関しては)別に両対応いらなくね?」という気分になっている。というのは、元々両対応のコードはスマートフォンのブラ…
口上 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というか、初めからこのインタフェースで良か…
※ネタです ※UDFです Mysql 5.1 Plugin Development作者: Andrew Hutchings,Sergei Golubchik出版社/メーカー: Packt Publishing発売日: 2010/08/30メディア: ペーパーバック購入: 1人 クリック: 45回この商品を含むブログ (2件) を見る しばらく積ん読してい…
weinreっていう、iPhoneやらAndroidやらの実機(別に実機じゃなくてもいいんだけど)で見ているWeb画面のJavaScriptをリモートdebugできるツールがあって、これは割と有名。http://alpha.mixi.co.jp/blog/?p=3248有名なんだけど、試してみると普通にブレーク…
ちょっとmemcached & Redisについて調べたのでめも。ちなみに、生存戦略って言葉は最近Twitterでよく見るから使ってみただけで、実際に何かは知りません。歌か何かかな。ちなみに見ているソースについては、memcachedは1.4.6、Redisは現時点でのgitの最新(多…
適当な、本当にすごい適当なWebアプリケーションが必要なんだけど、既存のうぇぶあぷりけーしょんフレームワークの書き方を思い出すのがだるい、generator的なscriptを叩くのすらだるい、さらには「ここにルーティング設定書いて、ここにテンプレート置いて…
(前略)Log::HandyからData::UtilとClass::Loadへの依存を消した。Data::Utilは自動dumpしたいもの(scalar値)と自動dumpしたくないものの区別にのみ使っていたんだけど、会社で審議した結果「全てdumperに食わせればよくね?」ってことに。また、Class::L…
waits(500)とかあんまりだし、でも調べてもなんかみつかんないので誰か教えて下さい...
http://www.slideshare.net/nzakas/high-performance-javascript-2011わかりやすいスライドだなー、と思いつつ。1つのJavaScript job(わかりにくい表現だけど、event handlerとかtimerからキックされるJS code)の実行は目安として100ms以下に抑えましょう…
stats.js (https://github.com/mrdoob/stats.js) という、JavaScriptでfpsもどきの値を出すライブラリをiPhone/Androidで試していた時に気づいたんだけど、iPhone/AndroidのWebKitではデフォルトのスクロール中はsetIntervalの監視が無効になっているっぽい…
会社でid:gfxさんがWebSocketを使って夢が広がるエクストリームなプレゼンをしてくれたので、海外の空気を読まずに作ってみました。https://github.com/zentooo/SkyWalk端的に言うと、Socket.IOを通じてリモコンとなるiPhone/Android(?) のブラウザでキャッ…
Mandyではありません。Handyです。 http://github.com/zentooo/p5-log-handy 個人的にLoggerにあってほしいのは 色々な場所への出し分け/同時出力が出来る(STDOUT, file, syslogくらいがとりあえずあればいいけど) インタフェースが煩雑でない(例えば$sel…