星期四, 12月 29, 2005

Junction Link Magic

在 unix like 的 OS 中, 有個非常好用的指令, ln -s, 可以做出一個 soft link。 但是在 windows 中, 卻沒有這樣的指令,替代方案是使用 "捷徑",這種方式只是對 user UI 使用上方便。實際上並沒多大的用處。

不過,windows NTFS 5 就有支援了(應該 win2k, winXP都是 NTFS5以上了),稱作 Junction,不過是要寫程式來達成,OS 本身不提供命令。有人已經寫出這樣的公用程式,就是 Junction Link Magic 。這套工具
就可以幫忙建立 soft link。至於 hard link,可以使用 Hardlink Shell Extension

windows 不提供命令的理由應該是,沒有任何方式可以看出此目錄是否為 soft link。
必須要寫程式去找,管理上不方便。

聽說下一版的 windows Vista 就有正式支援 link 的工具了。

星期四, 12月 22, 2005

AOP (aspect-oriented program)

昨天聽了小熊的報告,主要是報告 Spring 及 Spring AOP。

看起來,使用 Spring AOP 會讓程式好寫許多,不像之前使用 AspectJ,是擴充 Java 的關鍵字及語法的方式來做。而是直接用寫 Java 的程式碼來達成此功能。

這看起來很棒,因為不用再多學一套新語法(雖然 AspectJ 用起來並不難),而是寫習慣的 Java 程式來達成 AOP。這有一個優勢,目前的 IDE 可以支援的很好,若使用 AspectJ 必須要外掛 Eclipse AJDT (AspectJ Development Tools) 才能獲得 AspectJ 語法與編譯的支援。

每件事總是一體兩面,當 AspectJ 有了 IDE 的支援之後,其開發方便性與功能上,會大大的提升。

剛剛找了一些資料,目前有 AspectJ,AspectWerkz,JBoss AOP 與 Spring AOP 這四套目前比較流行的。

AspectWerkz 及 JBoss AOP 採用 JDK 1.5 中引入的 annontation的方式來宣告 PointCut。

看來 AOP 的概念發展之後,每家的作法都不一樣。

星期二, 12月 13, 2005

Ajax 元件庫: Ajaxtags

上面的文章說到實做 Ajax 的三種方法,這三種方法可以讓你自行開發想要達到的效果,但是有一些基本的 Ajax 應用,例如(select , auto complete...),我們不必重新造輪子,這就是這篇文章要介紹的 Ajaxtags

Ajaxtags 是採用自訂標籤的方式實作,在 view 端,只要使用這些 Tag,在 server 端,則需要回傳這些 Tag 規定的 xml 格式(亦即可用 Servlet,或用 struts 之 Action 等等的不限,只要求所收到的xml 格式),就可以很方便的達到這些效果。

今天動手寫了兩個範例:
select --> 在一個 select 元件中選任一個,第二個 select 會自動變成相對應的子選項.. 例如以地址為例:第一個 select 選擇了台北市之後,第二個 select 會出現大同區, 中正區..

auto complete --> 在 input 元件中輸入第一個字母後,會出現下拉選單選這個字母開頭的所有資料。

使用起來的感想,真是太方便了。第一個範例不透過 Ajaxtags,自己動手達到此功能還不會太麻煩(利用前一篇說到的三種方式中的一種)。至於第二個範例,真的是太方便了,如果要我自己動手做,可能要花上非常多的時間(Javascript, DHTML, css 等要很熟才行)。

Ajaxtags 還有提供非常多的元件可供使用,建議大家可以把這套學起來,功能強大且方便好用。

當然了,若沒有元件可用,還是要自己動手做。

Ajax 架構並不是新技術,但似乎帶來了一些革命性的影響。