2007年9月30日 星期日

這位 this, 你是那來的?

javascript的this是一個十分動態的東西,要小心的使用
例如:

function foo(){
this.varA = "haha";
function bar(){
alert(this.varA);
}
}

var myFoo = new foo();
然後 html 裏讓一個 div onclick之後觸發 foo.bar()....:

如果真的click 下去,alert 出來不會是"haha"會是undefined,神奇吧。原因是當下的this已經不是我們預想的foo,而是div啦…
這種事真的蠻討厭的。一不小心就會忘記,不然就是要變成…

function foo(){
this.varA = "haha";
var me = this;
function bar(){
alert(me.varA);
}
}
結果就會是正確的…
為什麼? 不要問我…="=

2007年9月13日 星期四

偵測memory leak

完全靠人腦偵測memory leak 是一種非人的行為,絕對會起笑
這次要和legacy code 的memory leak 打架,眼看著工作管理員上的記憶體使用量直衝雲霄,實在是給它有點沒力。
找到了 Visual Leak Detector ,同樣的,安裝和食用都很方便,照它的readme 裝好以debug 模式編譯,再用啟動debug;跑完後會出一份很清楚的報表,包括那裏leak, stack trace等等,很方便。

PS 以上是使用Visual C++ 6.0

2007年9月3日 星期一

iWoz 的演講

今天和同事去聽iWoz 的演講,在去之前就很興奮了
畢竟很難得能看到一個天才型的工程師,基本上是抱著哈利波特剛進入霍格華茲的心情去到現場的
Woz 是一個科技魔人,對於技術和創新有著異於常人的熱情。和呆伯特裏對工程師的描述差不多

印象最深刻的是,有一位聽眾問了一個很浪漫的問題:

「如果讓你的人生重來一次,你會改變那一些重大的決定 ?」

答案則工程師到不行…

「我設計apple 2 的時候 我會把浮點運算加進去…blabla....」

不過,沒有這種狂熱,也沒有現在的iWoz 吧!