This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Fillano's Learning Notes 會員登入 會員註冊

因為目前在做的專案需要用到Flex,但是在開發雛型的階段,還不想買Flex Builder,所以就上網找了一下有什麼解決方案。這時就發現了FlexBean這個簡單的NetBeans外掛。

他的功能很簡單,可以新增Flex專案,增加MXML跟AS檔案,以及編譯預覽等等。只要安裝了Flex SDK,然後選擇他的目錄以後就可以正常運作。

但是這個外掛功能真的「很簡單」,沒有Code Complete,像我這樣不熟的使用者,需要一邊翻線上手冊一邊編輯,有點不方便。作者在sourceforge上是有承諾在2.0版會加入,但是我等不及了。這時想到,如果有xml schema,理論上應該可以做到才對,經過一晚嘗試,終於可以讓mxml編輯時可以用到NetBeans xml編輯的Code Complete功能。

做法如下:

  1. 首先,當然要找到mxml的xml schema,但是據說Adobe不再提供了...好在google code上面有一個專案有提供:xsd4mxml,就先下載吧。(他好像是透過as來產生的,算是一種逆向工程?) 
  2. 然後把這個xsd加到NetBeans裡,選擇:工具->DTD和XML Schema->使用者目錄,然後點選「增加本機DTD或模式」按鈕。接著選擇「系統ID」,然後輸入「http://www.adobe.com/2006/mxml」,然後在URI裡面選擇從xsd4mxml下載的xsd檔案。點選「確定」按鈕來新增一個紀錄。
  3. 接下來需要做mxml檔案的檔案類型關聯,只要到:工具->選項->「檔案」頁籤,然後新增一個副檔名「mxml」,相關連的檔案類型選擇「XML 檔案(text/xml)」,然後點選「確定」按鈕。這樣就會把mxml檔案類型關聯到xml檔案,這樣才能使用NetBeans XML編輯所提供的code complete功能。
由於是NetBeans內建的功能,稍微陽春,但是還是堪用。  

不過ActionScript好像還沒有Code Complete的解法...(他不是標準的JavaScript) 

星期二晚上和老婆大人去聽紀辛的音樂會。紀辛年紀很小就出道,又有卡拉揚的加持,但是不知道為什麼,據說來過台灣三次,都沒有機會...

這場曲目安排地很好,上半場都是普羅高菲夫,下半場則是蕭邦,蕭邦的曲目裡有第七號波蘭舞曲(幻想)是我很想聽的,所以年初就興沖沖地買了票。(但是年代售票系統的介面不熟,找不到好座位,一怒之下不小心買貴了。)

紀辛果然知名度高,全場幾乎坐滿,跟之前聽羅傑還有鄧泰山的場面有些不同,唉...

第一個部份曲目是三首羅密歐與茱莉葉組曲中的選曲,不過我不知道是上班太累,聽得不太專心。第二個部份是普羅高菲夫的第八號鋼琴奏鳴曲,這個曲子是我覺得全場彈得最精彩的曲子。普羅高菲夫的鋼琴曲有如惡魔,動機其實頗簡單,但是不知道他為何如此發展到...匪夷所思。紀辛完全駕馭了這個曲子,不只是技巧,音樂上的有趣之處也讓人深深地感受到了。

下半場一開始就是蕭邦的第七號波蘭舞曲。不知道是不是之前中太多魯賓斯坦跟霍洛維茲的毒(恩,還有波里尼、齊瑪曼等等),這首不是讓我十分滿意。也許我喜歡的是張力跟線條具備的詮釋,總覺得紀辛在線條的表線上有些不連續,另外就是少了些溫柔的觸鍵。

馬祖卡很令人滿意,充滿了律動與巧思,練習曲則令人更滿意。他彈的練習曲橫跨Op.10跟Op.25的選曲,以兩首節奏快速強烈及一首情感豐富的曲子做搭配,2+1+2+1+2總共八首成為一組,安排得很有創意也很均衡。理論上是不應該在曲間鼓掌的,只是大家按耐不住...結果紀辛坐在椅子上似乎有點尷尬。 

安可彈了兩首普羅高菲夫(有一首我認不出來,不過曲風上感覺是他)跟一首蕭邦的夜曲。我還是比較喜歡他彈普羅高菲夫。(三顆橘子之戀很適合拿來做安可阿)

紀辛的音樂充滿了高雅的氣質,觸鍵再強也隨時保持著精緻的音色。(不過有些曲子總是希望他再狂野一點)他沒有參加過音樂比賽,從某些方面來說,比較不會有那種(我太太說的)追求表現的油氣。我對他音樂的一些挑剔只是個人成見,不過聽眾很喜歡他,謝幕大概有十次以上吧?每次再回到台上時大家都歡聲雷動。他那好好先生的脾氣其實在這些地方也看得到,他不厭其繁地出來謝幕,其實安可也彈完很久了,但是他也不會請工作人員「調整燈光」暗示大家該走了。

這次算是值回票價了,下次就期待李雲迪吧。 

看到有人問如何繼承javascript內建的String物件,於是動手試了一下。果然,不是想像中的簡單。

粗淺的想法是:

function NewType() {
}
NewType.prototype = new String;

但是這樣沒辦法使用到繼承的String內建的方法...

 (閱讀全文)

剛剛在yui blog上,看到Crockford發表的文章,討論如何用partial reduce的方法,來避免一些IEEE 754影響計算精確的問題:
When You Can’t Count On Your Numbers

不過直接拿Crockford的程式來跑,發現似乎有一點問題,所以做了一點修改:

 (閱讀全文)

jQuery提供了一個用非常簡單的方式就可以做出可擴充framework的方法,我們可以用很簡單的方式偷過來用。用這樣的方法,可以動態擴充裡面的function,又不會影響global scope,也許在多人使用的環境下開發使用javascript的網頁,可以避免一些衝突的問題。

核心非常簡單:

(function(){
    var window = this;
    if(window.$F)
        window._$F = window.$F;
    var a = {};
    a.fn = a.prototype = {
        init: function(n) {this.node = n;return this;},
    };
    a.fn.extend = function(n,f) {
        if(!a.fn[n]) {
            a.fn[n] = f;
        }
    };
    a.fn.init.prototype = a.fn;
    window.$F = function(c) {
        return new a.fn.init(c);
    };
})();

 (閱讀全文)