雖然防毒評比總是第一,不過竟然要使用者手動修正程式錯誤問題,實在不是很友善:
首先是不定期中斷執行 : 卡巴斯基斷開問題
再來是從11/22之後無法更新病毒碼 : 11月22日之後卡巴斯基產生程式錯誤自動中斷的錯誤修正步驟
另外當初花錢買的時候(難得花錢買軟體哩~),竟然沒有辦法馬上安裝正式版,只能跑試用版。必須手動上他們網站登記啟動碼,然後過個三四天等他們email寄給你key(我是等不耐煩又寄email過去催),就算要防盜版也可以像微軟一樣直接網路啟動啊~ 一買到沒辦法馬上用還蠻不高興的。
😆 👨🏻💻 ✨ 🚀 💰
雖然防毒評比總是第一,不過竟然要使用者手動修正程式錯誤問題,實在不是很友善:
首先是不定期中斷執行 : 卡巴斯基斷開問題
再來是從11/22之後無法更新病毒碼 : 11月22日之後卡巴斯基產生程式錯誤自動中斷的錯誤修正步驟
另外當初花錢買的時候(難得花錢買軟體哩~),竟然沒有辦法馬上安裝正式版,只能跑試用版。必須手動上他們網站登記啟動碼,然後過個三四天等他們email寄給你key(我是等不耐煩又寄email過去催),就算要防盜版也可以像微軟一樣直接網路啟動啊~ 一買到沒辦法馬上用還蠻不高興的。
中文翻譯: Ruby Performance Revisited,大意是這樣的:
每個改用Ruby或Rails愛好者都了解這個原理: 開發時間比CPU時間更重要,我們都希望開發者比CPU更閒。不過 Ruby 的效能不如別人是不爭的事實(The Computer Language Shootout Benchmarks 註),當你碰上需要密集運算的時候(如Bayesian 過濾spam 或是 大量圖表資料運算),可能會因為Ruby太慢而沒辦法加上該功能,不然就是得呼叫另一種程式語言。
因此,當碰上Ruby的效能問題而只是說「開發時間比CPU時間更重要」是沒有意義的。就算你不做需要密集運算的東西,如果發現自己得買100台伺服器而非10台時,你可能就會突然重新思考整個開發者時間與CPU時間的方程式。
註: 大概比較一下幾個主流語言 Java(快Ruby 10x以上) >> Perl (約快5x) > Python > PHP > Ruby == Javascript
軟體設計層次的Ajax書,很認真的思考 Single Page Application。前三章引入Design Patterns、重構的概念到Javascript,將 Web Page提升到應用程式的層次。四五章很精采地分析架構,包括不同層次的MVC觀點,以及各種框架的大局觀跟分類,其中關於Ajax如何交換資料提供了很好的思考,以下是我的筆記(Rails是我加的,書上沒有):
內容中心的互動 (content)
腳本中心的互動 (scripting)
資料中心的互動 (data)
第六章 使用者體驗 實作了一個通知框架,第七章講安全性,第八章講效能及記憶體洩漏(memory leak)問題。剩下後半本則是一章一案例。
另一篇書評 : Relevance Review #5: Ajax in Action
註: 之前寫的 ajax 傳送格式比較 : XML, HTML, or JSON?
nap的這篇 YUI Dialog on Rails: First Pass 給了一個範例介紹在 Rails 中使用 Yahoo! UI Library 的 Dialog 並搭配 RJS 使用:
首先把yui下載回來,把要用的 .js 檔集中放到 /public/javascripts/yui/ 下,css (/yui/build/container/assets/container.css) 放到 /public/stylesheets/yui/ 下。
程式碼我就不轉貼了,我依樣畫葫蘆的範例在這裡 yui1,重點是按下Save時它用 Prototype 的 Ajax.Request() 呼叫 RJS Response,而不是用 YUI 的 Connection Manager,作者還加寫了一篇 Prototype vs YUI Connection Manager: Dialog continued…,給了 YUI Connection Manager的處理版本(好多行哩),作者是認為 Rails 的開發者比較熟Prototype,所以這裡就用Prototype版本來做囉。
我個人是不太喜歡混雜用(怕有衝突?),所以如果要完全拔掉 Prototype,RJS應該可以改用 RJS minus R! 直接寫 YUI Javascript code。
UPDATE (11/24): 順應大夥要求,Dan Webb重新發一個 MinusMOR 版本,使用 .ejs 來表示 JavaScript with embedded Ruby templates。這樣就可以跟本來的 .rjs 共存了。希望這個 pure Javascript template 以後可以加入 Rails core 囉~
RJS是很棒的玩意,這殺手級的功能讓你寫AJAX response超簡單,只用Ruby即可。但是很明顯的它是個會漏的抽象層(leaky abstraction,事實上根據抽象滲漏法則,所有重大的抽象機制在某種程式上都是有漏洞的),一但開始漏而要寫raw Javascript時,在RJS中就要用page.call 之類的,但這就看起來比較醜陋,尤其是有Javascript條件式或raw Javascript很多的時候。另外就是RJS完全依賴Prototype跟Scriptaculous,如果你要改用別的Javascript framework時,Ruby版的RJS就不太有用了。

因此如果你已經很熟 Javascript 跟 Prototype,或是你想改用別的 Javascript framework,可能就比較想直接用 Javascript 來寫 AJAX response,因此Dan Webb提出一個新選擇(新實驗?) RJS Minus R (沒有Ruby的RJS!),MinusR 把 .rjs 改成寫 Javascript (用Erb內嵌Ruby code),主要就是給你一個 js helper 自動呼叫 to_json 來轉換 Ruby 資料。
討論串在爭論說應該要用另外 extension 副檔名表示這種 pure Javascript,因為這個 plugin 目前更改了 .rjs 的定義,造成本來用ruby寫的 .rjs template 不能用了。這部份該怎麼實作解決似乎還沒有定論。
DHH的回應說的很好,這是一個很好的實驗讓我們好好省思RJS,RJS不是萬靈丹,就像Rails的Active Record本身也是個會洩漏SQL抽象層,重點是如何讓80%的工作可以超簡單達成,and 另外的20%有彈性手動來變花樣。
另一篇介紹文: RJS templates without the R!
註: 目前的stable Rails版本不行跑這個 plugin,必須裝EdgeRails(開發中的Rails版本),請執行 rake rails:freeze:edge 安裝 (要有subversion)。另外 EdgeRails 只用於該 rails application,而不是整個升級系統 library 的Rails版本。
最近新上線的 Rails 相關 RSS Feed 自動收集網站 www.planetrubyonrails.com/,相較於另一個 www.planetrubyonrails.org/ 多一些管理,介面比較好看,其中用黑底色表示必讀的文章,要看特定關鍵字文章的話,修改 subdomain 即可,如 rjs.planetrubyonrails.com/