一個在哥倫比亞大學數學系念博班的學姊在系上BBS寫給學弟妹,引述其中一段:
清華數學系是個很奇妙的地方,待久了,信心跟勇氣都漸漸消弭殆盡,因為我們常常太容易就放棄努力、太容易就相信自己不夠好、做不到,這是不應該的。數學很難,但你總能學會點什麼;很多東西不會,也沒關係,好幾位我相當敬重的老師都曾經說過「不會就不會,不會有什麼關係,弄會就好了」這樣的話語。是啊!難道不是這樣嗎?所以要加油、要堅持下去,不要放棄,要勇於面對困難、挑戰自己,用「心」過生活,認真地去做每一件事情,四年後帶著滿滿的回憶與自信,往下一個人生旅途邁進。在我大學的時候,王老師總是告訴我「不管做任何事都要認真」,也在我遇到困難、猶豫不決的時候告訴我「不管做任何決定都要對自己好。」這些話到現在對我來說都還是很受用,我把它交給你們,也希望不論現在或未來,你們都能做出對自己好的決定,認真地對待每一天的生活。
最近開始期中考了,不知不覺已經在數學系念到第六年。回顧大一上還算認真地修了阿亮的微積分,下學期玩梅竹工作會太瘋被當了微二跟普物二,好險暑修補回了微二。大二的時候對數學失去信心(哈~真快~),很想換跑道,就幾乎沒修數學系的課了,只修了一堂顏東勇老師的代數跟普物二,其它都去修CS。轉系失敗後,又降轉回到應數重新開始,這個第三年很充實,我過了高微一高微二線代一離散,還修了CS的OS,Argorithm,第四年睿綸公司成立,成績開始一落千丈,第四年只過了數論數值兩門,第五年一整年只過了一門線代二。在空白了兩年的分析課程之後,今年再度收拾心情回到數學系。
正是我夢幻想要的啊!! 看完 DOM Scripting之後,對 Unobtrusive Javascript (可以參考 Jeremy Keith’s Behavioural Separation 的介紹) 念之不忘,想說 Rails 要怎麼支援 unobtrusive 跟degrades gracefully 的特性呢? 因為我們看到 Rails 內建的 helper 都是寫在HTML裡成 onclick = ‘xxx’ ,如支援 Ajax 的 link_to_remote 就是用 href=’#’ onclick=’new Ajax.Request(…)’ 云云。
所以我想是不是要改寫 link_to_remote之類的,另外寫套 helper 來讓 Javascrit 不要與HTML混在一起。不過… 今天在 Ajaxian Unobtrusive Ajax for Rails by Dan Webb 上看到介紹,有個 UJS Rails Plugins,可以讓你用它的 helper 掛 javascript 到 event (用CSS-selector) 上,而不用跟 (X)HTML 混在一起,達到網頁 Behavioural 的分離。
話不多說,請看作者的 Presentation Slides,真是太令人興奮了,作者的野心不小,非常令人期待。對網頁標準愛好者來說,這 plugin 真是太棒了。就算你不是基本教義派信徒,看到投影片的例子,焉不心動?… :p
寫了一個簡單的 UJS demo,搭配 RJS 超讚~ 不過我覺得 UJS 有點多管閒事的地方是它預設修改 Rails 的 link_to , link_to_remote, form_remote_tag 等成 Unobtrusive 版本,把 onclick 通通移除了,當場讓我之前的RJS demo爛掉,好險code不用再改,只需補上 javascript_include_tag :unobtrusive 即可。
至於degrades gracefully,因為連結都還保留著 href,所以就算使用者 Javascript 關閉,還是可以連到東西,只是server端要檢查是不是 ajax request 來決定回應什麼格式。

Erlang 最早是由電信廠商 Ericsson 所發展出來的 funcaiotnal programming language,在1998年轉成open-source,最大的特色就是 concurrent 的能力。藉由語言層次對平行運算的支援,達到高度 reliability, scalability, availability的能力。Yaws 則是基於 Erlang 所開發的 Web server,根據這篇文章 利用 16 台 cluster server 所做的實驗,Yaws可以承受超過八萬個parallel session,Apache則在四千個就掛了。
這趟旅程是從這篇文章開始的,隨即逛了 Yariv’s Blog,裡面對 Erlang 大加讚揚,認為Erlang在Web領域淺力無窮,尤其隨著 Comet 對 server scalable 能力的要求,更可以展現它高度的性能。Yariv 甚至拿 Ruby on Rails來比較一番,說他雖然也愛 Ruby on Rails,但是更愛 Erlang…:p
基於好奇心我就在 FreeBSD 上裝了起來,試玩了一下,不過我對 functional language 實在是不熟(惟一的經驗是寫過一個scheme作業),而且我也沒有這麼多Server可以試驗Scalable的能力…:p 這趟旅程只好先點到為止了 。
其它參考文章
介面設計與 Usability 的好書,介紹94種設計模式,包括資訊架構、導覽、頁面配置、圖表、輸入表單、編輯器操作、外觀,每一章都會先來個概觀性解法,然後每個模式依序講解 這是什麼? 何時使用? 為何使用? 原理作法! 範例說明!,編排的非常有系統,內文也不會太艱澀難懂,像認知心理學那樣深奧(?),或是太雜太多的 Tips。舉的範例也很棒,涵蓋桌面軟體及Web。非常適合與UI相關的工作者閱讀,可以學到很多 Usability 的知識跟技巧,激發你的創意。
不過此書中文版編譯錯誤頗多,有耐心的話請勘誤吧(很累人就是了,害我花了2hr塗改)。
如果看了上一篇,以為有了RJS就不用學不用寫 Javascript 跟 Prototype.js,那就錯了… :p
RJS 你可能會以為是 Ruby JavaScript,Ruby 要統一 JavaScript 了。不過其實是 Remote JavaScript 的意思,顧名思義它主要用於 Ajax Request 的遠端回應。不需要用 Ajax 的地方還是應該乖乖用 Javascript 來寫(你要透過RJS繞一圈來做也沒什麼辦不到啦~) 在rhtml中就寫好Javascript,除了直接寫 Javascript code 之外,也可以用 update_page 和 update_page_tag 來生成Javascript code(感謝contagious補充修正)。一來是效率時效考量,二來也讓RJS保持乾淨。所以還是要會 Javascript跟Prototype才能正確運用RJS的方便性。嗯,還在努力學習中… 真是太神妙了… Orz
承上一篇的範例,最簡單的例子就是載入畫面,這玩意當然不需要再發 Ajax Request了。 Read more…