2011年 01月 31日


梅が咲きはじまって春の予感があるということが、思ったよりわくわくすることに気付く。

日本語だと文字単位 (拍単位) で音を認識するせいか、拍の間にある響きをあんまり意識しないけれど、思っているよりもこの部分の響きというか拍間の繋りというのはおもしろい。

指輪という唄、完成度が高くて何度きいてもすごいなあと思ってしまう……

綺麗さ、みたいな感覚というのはいつでもついてまわっているけど、いつもその感覚ではずっとやっていけないし、そのことばかり考えているとうまくいかないことが殆どなので、何らかの妥協点が必要になってくる。一方では、そのように妥協し続けると全くろくでもないことになる。これだけは守ろうとかといった何らかの指標が必要。

コードを書くときも、綺麗に書くことを考えすぎて現実的なコードをなかなか書きはじめられないということがあって、今もちょっとずつ治しているので (綺麗に書くのが悪いというわけではなくて、動くコードを最優先にしようと)、他の部分にもちゃんと応用していきたい。

全く、普段あまり話さないタイプの人と話したりすると、コミュ力の低さが浮き彫りになって、それを意識しだすとひたすら申し分けない気分だけが残る……

gerry++

JSDeferred の setTimeout 版の効率あげた版

setTimeout() を毎回やると、ブラウザ内部でタイマーオブジェクトが大量にできるんだろうなー とは思いつつ、そんなのの効率化ってブラウザ側でやるべきことでしょ? という感じなのでナイーブな実装にしていたのだけど、一応タイマーをできるだけ作らないバージョンもつくってみた。けどやっぱあんまり意味なかった (Opera では意味あるかもしれない)

Deferred.next_default = function me (fun) {
	if (!me.nextTicks) me.nextTicks = [];
	if (!me.timer) {
		me.timer = setInterval(function () {
			if (me.nextTicks.length) {
				for (var i = 0, len = me.nextTicks.length; i < len; i++) {
					me.nextTicks[i].call();
				}
				me.nextTicks = me.nextTicks.slice(len);
			} else {
				clearInterval(me.timer);
				me.timer = null;
			}
		}, 1);
	}

	var d = new Deferred();
	me.nextTicks.push(d);
	if (fun) d.callback.ok = fun;
	return d;
};