Ruby on Rails : 建置與執行

台灣第一本 Ruby on Rails 中文書熱騰騰上市。令人出奇的小本,以這樣的篇幅跟內容編排,我懷疑作者的預設讀者是要給誰念的? 如果是初學Rails且不懂Ruby的人,裡面講的太快,應該會不知所云吧。如果是看過 Agile Web Development with Rails 的人,這本又太簡略了,像是摘要整理。

anyway… 對我來說,沒多久就看完了(當然沒實際練習啦),就當是複習吧。比較有新意的只有Ajax那章,因為Agile Web Development with Rails那本寫Ajax比較少,而這本甚至給了更難的Drap-and-Drop的ajax範例。

站在推廣的角度,我建議(譯者)可以在附錄補個Ruby簡介會不會好一點啊,不然Ruby在台灣應該還蠻不紅的,也還沒有中文書啊。

Ajax 技術手冊

因為有中譯(正確的說,應該是從英文->簡體中文->繁體中文翻過來的)而且比較薄,所以挑了這本先入門隨便翻翻,另一本還有中譯的是 Ajax實戰手冊(厚多了),預計會接著看就是了。

看過了 DOM Scripting,所以大部分的 DOM 操作就不細看了,只關注在XMLHttpRequest 的部份,Server side的範例這本是用 Java Servlet,不熟悉加上不是重點我也只好略著看。

整本書前半大概就介紹完了Ajax本身,給了幾個常見的Ajax使用範例 code(不甚漂亮,有點dirty),後半雜七雜八的介紹一些開發上的事情跟工具,包括文件產生 JSDoc 、Firefox extension(HTML Validator,Checky,DOM Inspector,Web Developer,Greasemonkey XMLHttpRequest)、語法檢查 JSLint、壓縮 HTML/Javascript Cruncher-Compressor 、介紹Javascript的OOP繼承機制、測試框架 JsUnit、除錯工具 Microfost Script Debugger(for IE),Venkan(for Firefox)等。

純手工打造Ajax是不需要的,利用 framework 是必然,本書最後介紹用作者開發的Taconite框架(主要是配合Java Server side)來做 Mac OSX的 Dashboard,我自己因為用 rails 的關係,會比較想了解 prototype 就是了… XD (又跳過好幾頁了) 。

附錄則整理幾招處理跨瀏覽器(尤其是IE)的JavaScript 技巧,跟其他框架介紹。

其他作者推薦的站台:

搞定! GTD

 Update(2007/3/15): 新增一些參考網址。

Getting Things Done (GTD) 是一套由 David Allen 所提出來的個人行動管理流程,他分成五個部份來討論 1.蒐集 2.處理 3.組織 4.檢討 5.行動 ,核心觀念是將所有雜事組織在手邊,而不是腦海裏。別浪費時間重複思考同樣的事。因為心思會持續擔心掛念懸而未決的事情,造成擾亂跟心理壓力,而無法專心。

最高境界”心如止水”,心靈澄淨做事自然有建設性

專案企劃

  • 非正式構思更具生產力,最少的時間跟精力,創造最大績效。
  • 使用自然計畫模式:界定目標和原則,想像期望成果,腦力激盪,組織,找出下一步行動 

1.蒐集

  • 不再事事記掛於心,所有資訊集中等待處理。扔到收件夾,將事情趕出腦海
  • 絕妙的好點子很少在上班時間來訪,手邊的搜集工具是否留的住創意,才是提高生產力的關鍵。
  • 如果真的決意甩開壓力,每一處都得完成蒐集的過程。以量取勝。 閱讀全文〈搞定! GTD〉

DOM Scripting

Update(2008/5/27): 手上多了本全新的 DOM Scripting 書,欲售 $1000,請參考Y! 拍賣 or 直接聯絡我。

想好好學 Javascript 想好久了,記得很早前是唸過 Javascript 設計風格,回想起來好像是完全不同年代,現代的 Javascript 要 unobtrusive ,跟 css 一樣能夠跟 markup 分離出來。前些日子有念一下 DHTML Utopia,可是那本code好亂,雜雜的並不是很好念,所以念了幾章就停住了。

在消化眾多 Ajax 書籍之前,我另選了這本重新進入 Javascript 的世界,書的前言是說寫給 web designer 而不限於 programming 出身,所以整本書多花了些篇幅在講很基本的 programming 的地方,像是 if 啦 while 啦、提醒你 = 跟 == 的不同等,還有重複前文的code很多(怕你忘記找不到?)。除了這個有點囉唆的缺點,這本書的章節編排非常好,非常循序漸進,不會一下子塞太多東西給你,讓你記不住不知道怎麼用。另外不只是單純 coding,也含有大量網頁標準的概念。 閱讀全文〈DOM Scripting〉

賽局高手 – 全方位策略與應用

書有兩個作者,就如同博客來上面留言的書評,介紹賽局的部份還不錯看,蠻好懂的。可是一換到政治章節,就好像突然岔題了,感覺格格不入(而且容易過時,書上是寫2001左右的政局)。

首先介紹了靜態賽局,即參賽者同時出招,只互動一次。這時候一定會有納許均衡解(但不唯一),若有無論對手如何反應都有最好的策略,又叫優勢策略。採用不可預測性的策略,又叫混合策略(即用機率來決定用哪個策略)。

動態賽局則是出招有先後,這裡介紹了子賽局完美納許均衡,利用從最後的子賽局往前推的逆向歸納法。在動態賽局中,誰先出招對均衡影響很大。

在賽局中,不合作常是均衡解,常形成囚犯困境(合作是好,但不合作是人性啊~!)。但是如果是無窮重複的賽局,就有可能有合作的均衡解,任何只要超過最大的極小策略報酬,就可能形成長期支持的合作策略,即隱藏性勾結。

前述又還有分完全訊息跟不完全訊息,因為不完全訊息比較難,所以作者只用了拍賣跟談判來舉例,介紹了次高價拍賣(出最高價者得,但是用次高價的價錢)是不完全訊息下的貝氏納許均衡。

邊緣主義是一種刻意把對手帶到最大危險的臨界點,並以此迫使對手退縮的策略,重點是一道斜坡可進可退,千萬不可以弄成懸崖。要能控制好賽局的結果,建立自己可信的承諾跟信譽是非常重要的。而最適的動態策略是”會被觸怒”策略,永遠有反應,你善意合作,我善意回,你沒好意,我就懲罰逼使你釋出善意,同時也保有寬恕跟彈性,避免以牙還牙的報復困境。

當閱讀遇到數位

今天去政大聽了這場研討會(第一次去政大說),當然是衝著台灣Google研究所所長簡立峰去的,所以只聽了早上的場次,中午就落跑了…:p

簡所長先介紹一下Google現狀,提到Google不只是search engine,而是擁有一個龐大的 infrastructure (上萬台的server散佈各大洲),使用者一個簡單的 search 動作就會同時動作各洲的server來做 search,合併結果回傳給user。

要說為什麼Google可以有這麼多創意產品,倒不如說因為有這個架構,只要data進去,各種創意應用就會源源不絕的實現。 閱讀全文〈當閱讀遇到數位〉