ビットシフトの規則性を知りたかったのでC#でちょっと調べてみた。
Keyword = 遅延 Lazy...?
頭の中でどうも気になる「遅延」という言葉。
それが遅延処理とか遅延評価だとか、その辺のニュアンスはどうでもイイ。
頭の中で引っ掛かってしまったこのキーワードを調べずにはいられない衝動が...。
このブログのサブタイトルどおりの行動ということで。(^。^)y-.。o○
なぜ文字列リテラルのメソッドを呼び出すと遅いのか?
Javascript 型判定の方法とその処理速度について:humming birdでの投稿の時点ではまだ分からなかったこと。
端的に言えば『[].constructor』より『"foo".constructor』の方が処理に時間が掛る。
文字列リテラルだけではなく、真偽値リテラル、数値リテラルも同様に他(例えば Array)と比べて処理に時間が掛る。
その理由が以下。
Javascriptの比較結果についてちょっと
既知な話題になりますが、ワタクシ的に確認したかったので。
よく知られている以下の比較結果。
'' == '0' //false 0 == '' // true 0 == '0' //true false == 'false' // false false == '0' //true false == undefind //false false == null // false null == undefind //true " \t\r\n " == 0 //true
どれも確かにおかしな結果なのですが、この中で最もおかしいと感じるのが、この三つの関係。
クロスブラウザに対応したEventに書き換える
JavascriptのEvent Handlerの引数で受け取るEvent、多言語で言うところの"EventArgs"をクロスブラウザに対応させる。
例えば、以下のようなイベントハンドラがあるとする。
function clickEventHandler(event){ alert('clicked.'); event.stopPropagation(); }このままではIEの場合、stopPropagationというメソッドはeventのメンバにないので、イベント伝播を止められない。
これに対応するために通常なら『event.cancelBubble = true;』を書き加えるだろう。
つまり、どう対応するかは予め決まっている。それならば、事前にそのような処理に書き換えれば良いのではないか?と考えた。
Django テンプレートに渡すdictのkeyの文字列に'$'は使えない
GAEでYouTubeのAPIを使用して動画検索を行うコードを書いてたんですが、その時に結果を表示するのにDjango テンプレートを使うことにした。
取得した内容はテンプレート側でどうこうした方がラクだろうと安易に考えたんですが、JSON形式で結果を取得すると、keyの文字列の中に'$'が入ってるんですよ。
どうもこれがテンプレート側では使っちゃいけない文字のよう。