すばらしい映画だった。今年見た映画の中では最高傑作。オリジナル脚本の映画としては「バタフライ・エフェクト」を見たとき以来の衝撃だった。
Author Archives
Google 2段階認証プロセスを日本国内で使う
2 段階認証プロセスを使うと Google アカウントの全てのログインについて、パスワードと別の認証コードを使うことでセキュリティレベルを高めることができる。
“別の認証コード”には、例えば iPhone アプリから生成されるものを使うことができて、これは 10 秒に一回ランダムに生成されるものなので非常に安全性が高い。パスワードが盗まれたところで不正にログインされる心配はまずなくなるのだ。(iPhone を盗まれたら一巻の終わりだけど)
で、こんな便利な仕組みなのだが、日本国内では使えない。なんとなれば、登録に必要なコードが SMS で配信されるのだが、これを日本の電話番号では受け取れないのだ。
Prototype.js で継承&オーバーライド
今更ながら、Prototype.js でクラスの継承とオーバーライドをやってみた記録。
しばらく使ってなかったら、$super()
という便利なものができていた。
コード例
// 基底クラス var Parent = Class.create({ // コンストラクタ initialize: function() { // <p> 要素を生成して <body> に挿入 this.ele = new Element('p'); $$('body')[0].insert(this.ele); } // “word”を画面に表示 ,say: function(word) { this.ele.update(word); } }); // Parent を継承したクラス var Child = Class.create(Parent, { // コンストラクタ initialize: function($super) { // Parent のコンストラクタを実行 $super(); } // Parent の say() をオーバーライドする ,say: function($super, word, word2) { $super(word); // “word, word2”という文字列を画面に表示 this.ele.update(this.ele.innerHTML + ', ' + word2); } }); var c = new Child; c.say('One', 'Two'); // -> 画面上に 'One, Two' と表示される。
メソッドを定義するとき第一引数に $super
を与えると、親クラスの同名のメソッドへの参照が与えられる。これを使ってメソッドのオーバーライドが簡単にできるのだ。
第二引数以降は親クラスから順に与えられる。これを使って引数の数すら変えることができる。上の例で言えば、Parent
クラスの say()
メソッドは引数を一つ採るが、Child
クラスの say()
メソッドは二つ採る。
jQuery.getJSON() の罠
とある Web アプリケーションを作っていたときのこと、Firefox ではまともに動くのに、IE ではバージョンを問わず機能しないことがあった。調べてみると、(珍しいことに)IE の方が仕様に則った正しい動作をしていたためであった。
最初に結論を言うと、毎回違う結果が欲しいのなら、$.getJSON()
よりも $.post()
を使えって話。
GET メソッドによるサーバーアクセスはブラウザにキャッシュされる。同じパラメータでのアクセスを繰り返そうとしても、ブラウザによっては、ローカルキャッシュを返すことでサーバーへのアクセスを行わない。これは GET メソッドの冪等性を考えれば自明のことだ。
冪等性は、大雑把に言って、ある操作を1回行っても複数回行っても結果が同じであることをいう概念である。
(中略)
HTTP の GET 要求は冪等とみなされる。Webの機構は基本的にその前提で要求結果をキャッシュに保持する。HTTP の POST 要求(フォーム送信に使われる)は冪等とはみなされないため、POST 要求はキャッシュされない。
「カウボーイ & エイリアン」感想
なーんかいまいち消化不良。前半は良かったんだけどなあ。なんでこれだけオイしい要素を詰め込んでおきながら失敗するかね。ホント訳わかんない。何しろ、
- 007 のダニエル・クレイグと、
- インディー・ジョーンズのハリソン・フォードを連れてきて、
- 19 世紀の西部を舞台に、
- カウボーイがエイリアンと戦うという、
もうあらすじだけでもご飯三杯行けそうな豪華っぷり。実際予告編はその期待を十分に煽ってくれた。
iPhone4S 購入 & iCloud から復元してみました
7 日に予約開始、昨日(14 日)から販売開始になった iPhone4S だが、どうやら SoftBank のシステムトラブルでかなりの混乱が生じたようだ。僕の場合、7 日夜に予約、14 日は仕事だったので今日の朝一番から受け取りに行ってきた。
予約したソフトバンクショップ自由が丘南口店は閑散としていて、到着してすぐに受け取り作業開始。あっけないもんだった。アップルストアなどでは昨日から引き続き購入客が列を作っているという。何が何だか分からない。