10/26/2008

Rails 2.2 :多個願望一次達成...

購物專家:來來,我們現在請到 Rails 副總來本購物台,想請問副總對於這次 Ruby on Rails 2.2 來本台銷售,帶來了什麼好康。

副總:這次的 Rails 2.2 可以說是本 Rails 產品史上最大的升級,可以說是把所有想的到聽的到看的到的問題都一次解決,保證這次不買你就是笨蛋,還去寫 PHP 或是 Java 只能祝福你。

購物專家:啥,那麼可怕,那我想問問,有關之前被人詬病的 Rails 國際化的部份有何加強。

副總:記得上次我們來的時候怎麼講的?Rails 要國際化必須要 Gettext 或是 Plugin 來解決對不對。今天帶來的第一個優惠, Rails 2.2 直接內建 i18n 給你。如果有問題的話,請到Rails i18n來看看怎麼實作。基本上是寫一個 yaml 就可以解決了。

(罐頭歡呼聲)

購物專家:什麼,直接內建 i18n ,那其他 Framework 不是少了一個古老的暴點可以笑 Rails 了嗎?你們上面業績衝的很兇歐,優惠送那麼大。那以前最讓人詬病的效能問題呢?

副總:抱歉,其他家公司,你們災洗了。我們這次直接升級到 Ruby 1.9,讓你們享受 19 倍的效率提昇。(註:購物台都是隨便唬爛的,有提昇是沒錯,有沒有 19 倍就不知道XD)

(罐頭歡呼聲)

購物專家:什麼什麼,你們直接支援效率打敗 Python 2.5 的 Ruby 1.9 呀,那不就是筆記型電腦加 Ram 再加 ssd 這樣誇張歐。這樣你們不會獲利下降嗎?

副總:沒關係,只要可以服務購物台,我們可以流血犧牲

購物專家:導播,各位觀眾,我已經快受不了,那麼好的優惠,那麼好的內容只在今天的 XX 購物台。現在電話所有線路忙線中,請改撥語音專線可以優先訂購。副總,已經端出那麼多了,還有啥好康的?

副總:還有還有,我們改寫 ActiveRecord 了,支援 connection pool 摟,並且是 ThreadSafe 了。只要在 config/database.yml 裡面加上

development:
___adapter: mysql
___username: root
___database: sample_development
___pool: 100
___wait_timeout: 10

就等於以 100 connection 讓 model 讀讓你取,效能提昇直接上看 100倍 (註:購物台都是隨便唬爛的,有提昇是沒錯,有沒有 100 倍就不知道XD)

(罐頭歡呼聲)

購物專家:現在耳機傳來導播的聲音,現在我們備貨數量已經真的真的很少了,大家太踴躍了,記得撥打語音專線可以省一百塊歐。副總你們還有啥優惠嗎?

副總:我們加入了 HTTP 的 last modified since 的 support,讓上次沒有修改過的內容就直接回傳一個 empty response 回去。原本是要回傳幾百K的東西,現在至需要回傳 0 K ,效能提昇直接上看無限大(註:購物台都是.....算了,懶得講了XD )

(罐頭歡呼聲)
(罐頭歡呼聲)
(罐頭歡呼聲)

副總:ㄟㄟㄟ,導播,我的購物專家勒?

導播:他太激動了,回去學習 Ruby on Rails 了。

副總:ㄟㄟㄟ,那麼猴急,我還沒講完勒,http://guides.rubyonrails.org 上線了,可以直接上去看一些 online guilde。



言歸正題,此次的 Rails 2.2 真的是超乎想像的加碼再加碼,修正了很多以前的問題,也加入相當多新的功能。

1. i18n
2. Ruby 1.9
3. connection pool
4. thread safe
5. etag and last modified since

真的可以說是史上最大的升級 XD