2013-04-20(土) [長年日記]
■ tDiary、12歳
これを書いているのは21日だけど忘れていたわけじゃなくて力尽きて寝てしまったからなのよ……。
これで干支を一回り。目標の25年までおよそ半分の道のりまでやってきました。ってまだ半分未満か!
次のイベントは29日に予定されている3.2.2のリリースで、これはruby 1.8系をサポートする最後のリリースになります。この夏でruby 1.8自体のサポートが切れるので、ruby 2.0に移行するならいまのうちですよ(第一tDiary.Netがまだ1.8なのであんまり人のこと言えないけど)。
2013-04-19(金) [長年日記]
■ GiGiさんオススメの「にゃんこ大戦争」をやってみたら本当に面白かった
おれがいわゆるソーシャルゲームにおかしな偏見を持っていないのは、もともとゲームはあまりやらないタチだったからかえってイーブンな見方ができるというのもあるが、どちらかというと以前からGiGiさんの書いたものを読んでいたせいじゃないかと思う。ソシャゲの話に限らず、GiGiさんの意見は熱いくせに客観的でじつに好みだ。
そんなGiGiさんのインタビュー(これがまたカッコイイのよ)で「にゃんこ大戦争」(Google Play*1)がおもいっきりプッシュされていたのでやってみたら実際すごく面白かった。すでにダウンロード400万件という情報もあるし、存在すら知らなかったのは単におれがそういうクラスタに入ってないってことなんだよなぁ。ちなみに(さすがに)パズドラは知ってるし、すでにプレイした──そしてしばらく時間を吸い取られていた──けど、じきに育成が面倒になって放置しているクチである。だってキャラがかわいくないんだもん。
「にゃんこ」も別にかわいくはないんだけど(「キモかわいい」はかわいいうちに入らないよ派)、最初の1、2県*2進めてみて「あれ、これってけっこうガチなストラテジーゲーム?」と気づいたら、がぜん面白くなってしまった。資金や兵器工場などの軍事的なリソースをどう配分するかという戦略モノだよね、これ。補給線の問題なんかも出てくるし。戦略戦争が題材なんだから当然なんだけど、ゆるキャラに騙されるところだったぜ。
というわけでしばらくは遊んでみるつもり。とはいえ、モゲマスにグリマス、さらに最近はバハムートにまで復帰してしまったので、そろそろ本数を絞らないとまずい*3。
2013-04-17(水) [長年日記]
■ jQueryのDeffered/Promiseを会得した(いまごろ)
なんか最近、やたらと非同期処理の文脈で「promise」というキーワードを見ることが増えて、なんか流行ってんのかなーくらいにしか思ってなかったんだけど、実はjQuery.ajaxを使っているときに恩恵を受けていたことを(いくつか実装してみて)ようやく理解したのであった。Deffered/Promiseが実装されたのは、もう2.0もなろうというjQueryが1.5のころの話である。鈍すぎる……。
というのも、あんまり理解せずにコピペしていたからなんだよな。かつてはこんな感じに書いていたjQuery.ajaxの呼び出しが:
jQuery.ajax({ type: 'POST', url: '/', ..., success: function(){...}, error: function(){...} });
何かのソースを読んでいたらこんな風に書けることを知って:
jQuery.ajax({ type: 'POST', url: '/', ...}) .done(function(){...}) .fail(function(){...});
「へー、最近はメソッドチェインで書くんだ」とか思ってそのまま真似していたんだよ。しかも「なんでsuccessやerrorから名前を変えたんだ」とか見当違いの不満をぶつけつつ。ここでちゃんと意味を理解していれば、コールバックの密林に分け入って無駄に複雑なパズルを解くはめにならずに済んだのに!
で、↓のあたりを読んで、ようやくjQuery.ajaxがPromiseを返しているということを理解したのだった。
そうとわかれば、jQuery.ajax(またはそこからつながったdoneやfail)の返り値を利用して、他の処理を同期的に書くことができる。おかげでいろいろ諦めていた制約がすっきり解決できた(主にmassrで)。
まったくなー。コピペだめ! ぜったい!