無分類雜文 03 Feb 2010
無分類雜文 03 Feb 2010
Rails3 架構與進展 Part.1
還記得去年九月這篇文章嗎?Rails 3 的野望 (Rails 合併 Merb 後目前的進展)
轉眼間三四個月又過去了。Rails3 在進度上又有了相當大的進展了,最近大概是進度已相當接近可開 beta 的程度,所以圈子裡開始不停的湧上超多關於 Rails 3 主體架構介紹或者如何跟 trunk 試玩的文章,看起來是試圖吸引 Developer 跳海嘗鮮,以加速 bugmash 的過程 XD。
因為筆者現在也在跟 trunk 了,所以順便整理一些我在跟 trunk 時會用到 / 閱讀的材料 / 注意事項方便大家使用
* 安裝 Rails 3 pre
http://oscardelben.com/articles/2009/12/06/how-to-test-rails-3.html
(注意,Rails3 必須跑在 Ruby 1.8.7+,請先升級 Ruby )http://omgbloglol.com/post/364624593/rails-upgrade-is-now-an-official-plugin
(升級方式是 rails ORIGNINAL_PROJECT,這樣會自動幫你把架構整個 upgrade 掉,不過程式方面的改寫還是要靠自己,所以有人寫了 plugin 可以 run check 提醒哪些地方需要改…不完美但是可以用 )* Gemfile
config.gem 改成 project 下的 Gem 用法,Gemfile 裡有詳細的使用範例。另外 Yehuda 這兩天也有寫了一篇關於 Bundler 的文章,說明開發的原意(解決 Dependency 問題),還有 Bundler 開發的進展現況。* config/routes.rb
routes 在設計上也有了相當大的改變,example 可看 routes.rb 的註解。Revamped Routes in Rails 3 和 The Rails 3 Router: Rack it Up 兩篇文章有相當清楚的解釋與用法。
* ORM 上 query API 的變更
Rails3 在接 ORM 的架構上做了相當巨大的變更,所以連帶的 ActiveRecord 取用 object 的語法也有了改變。詳情可閱讀 Active Record Query Interface 3.0 。太多地方要改不知道從何下手的話,建議可以用 rails upgrade check plugin 自動掃一遍比較快。* RELEASE NOTE
現在 trunk 版的 rails ,已經有人開始在寫 Rails3 RELEASE NOTE 了,這也是一份相當好的參考材料。* commit log
官方的 repo 在 github 上。如果是跟 trunk 的 developer ,必須相當注意 commit log 的動態。像今天我在跟 trunk 時,就發現 link_to_remote 這個 helper 爛了,平時這不太可能發生,但我回想起來 DHH 他這兩天才在 twitter 上說過他們要開始動 View 和 Unobtrusive JS 這一塊。果然發現了 link_to_remote 在 2010/01/31 時被從 core 拔掉,扔去 prototype_legacy_helper 這個 plugin 去了。
以上這些是我覺得比較需要看的文件。
另外社群也整理了一份 Rails 3 Reading Material,會不斷更新,不知道去哪裡追社群動向的話看這裡的懶人包也不錯。
這一系列的下一個 part 我會介紹和解釋 Rails3 目前做了什麼樣的架構變更,以及架構變更後面的想法。請耐心等待 :p
無分類雜文 28 Dec 2009
中國網路市場也許即將進入黑暗冰河期…
好久沒有上來寫文章了。來整理最近看到大陸一些網路政策造成的現象與感想,個人結論已經寫在標題了。短時間要投入中國網路事業的人可能想還是要再多想想…
主要是整理完這一些東西,也許投資大陸的網路事業可能是完全無法評估風險的一個舉措。
1. 對網站的和諧瞬殺。
飯否、唧歪這些在中國大陸比較知名的 microblogging,在今年相繼被迫進入網站維護狀態,這對大家已經不是新聞了。和諧掉的原因當然是 microblogging 訊息散佈太過迅速,無法以現有管制手法控管言論。當然目前三個網站目前都還是再起不能(等重新審批通過上架),這些網站背後都是一個 Startup,「有關部門」一說和諧就下架….
2. 主管機關的難以捉摸
中國內容目前網站除了需備案外,網站另需備 24 小時值班人員,一接到「有關部門」的通知,就必須在時限內必須將內容下架。當然這還是不夠的…「有關部門」後來更希望網站能自行做到主動攔阻「有害內容」的設計。而「有害內容」的標準千奇百怪,不一定非得是反動內容才會被警告,甚至有時候一些「有關部門」覺得無聊的政治老笑話,某天「有關部門」心情不好,從此這些之前合格的內容瞬間也會變成不合格。
「有關部門」大概是以下這些單位:
值得一提的是,在中國經營網站的朋友抱怨:被下架的網站並非重新申請上架這麼簡單。今天你的網站如果因為違反了 a 規定被 A 部門下架。但要重新申請上架的話,因為涉及「尊重問題」。申請必須要跑過 A、B、C、D 部門審批才可以….orz
3. 辦證無所不在,強人所難…又時而牽扯政爭問題
比較著名的例子大概是最近的 BTChina 倒站事情。名義上說的是「沒有取得廣電總局頒發的“視聽許可證”而被勒令關閉」。實質上可能牽扯了政爭問題….被掃到颱風尾的當然包括一些影視論壇,因為他們提供了「影視資源」,卻提不出相關的合法影視來源作為辦證依據….
更詳細的文章可參考最近 MMdays 這篇 你知道得太多了,有關於工信部以及廣電總局間的戰爭…
還有個更誇張的例子:caoz 這篇「給條活路行不行」文章中的這一段
舉個朋友公司的例子,新農網,專心做農業門戶,農產品價格,農業技術普及,農業政策新聞導航, 這個網站不低俗吧?不盜版吧? 現在您運氣好可能還可以從百度緩存中讀取 http://cache.baidu.com/c?m=9d78d513d9d437ad4f9c94690c66c0171e43f3682ba6a6020bde870fd33a541b0120a1ac26510d199680397001d80307b6ac6b2e621420c0ca95d757&p=986ec10f95d512a05bbd9b7c4e&user=baidu
結果居然被強制下線了,理由是什麼?因為提供了農業技術科普視頻而沒有視聽許可證!!!
4. 連坐法
機房之內出了一個問題網站,整個機房的線都會被拔 …orz 誰會知道自己鄰居幹了什麼事啊
詳細文章可見:阮一峰的 網絡接入商不應承擔連帶責任
5. 白名單…
引述自和菜頭 一個網絡,兩種中文
中國的網絡監管部門已經開始了它們的「白名單」計劃。根據這個計劃,凡是提供中文內容的網站,如果沒有向中國的有關部門做出備案,報告自己的姓名、身份證號、住址、電話、居所,那麼就會在2009年12月底之前被徹底屏蔽,無法直接在中國大陸進行訪問。在最近幾天,很多中小型網站和獨立博客已經遭遇這樣的命運。根據一份官方的評論文章,受到影響的站點超過300萬個。
白名單計畫也包含了中國境外所有含「中文」內容的網站,倒…..orz
======
還有希望嗎?這…
無分類雜文 15 Dec 2009
Microsoft 直接抄襲(盜用?) Plurk 的 Javascript
這是繼兩年前 meeya 直接盜用 facebook 的 javascript 開站之後,我看過最不可思議的事了。
引述 噗浪官方部落格所擷的畫面,除了畫面雷同之外,程式碼也高度雷同….
實在令人瞠目結舌…
無分類雜文 09 Dec 2009
徵 Rails Developer
公司要徵 Rails Developer 數名。兼職可。有興趣的人請提供簡歷(附上 Rails 作品佳),請寄到 xdite at pixnet.tw。
常見的問題:上班的地點在台北市中山區。薪資面議,因為接受兼職,所以可上班的時間也是面議。
無分類雜文 21 Oct 2009
不遵守 OAuth 標準的 Yahoo / Wretch API
這是前幾天開發 I’m Expert 時的心得感想。
I’m Expert 原本的重頭戲,其實是打算透過 OAuth 的方式,將文章同步到無名小站去。但現在看到的同步到 Wordpress / PIXNET (皆使用 XMLRPC)這個功能。完全是因為時限之內作不出來,才想到的變通之道。
(我是比賽結束當晚才試出來的)
如果是個人實力因素,那完全認栽沒話說。但在經過好幾晚的徹夜研究加上到現場找無名 RD 直接討論之後,才發現作不出來根本不是我的問題。
(雖然很感謝現場幫助我的無名 RD,但我還是要幹角一下 -_-)
寫 Yahoo OAuth 以及 Wretch OAuth 幾個的困難點在於
1. Yahoo OAuth 不 follow OAuth standard.
2. Wretch 更不 follow Yahoo spec ( 要正確能動,php 開發者甚至要改掉 yahoo sdk 的 Yahoo.inc 檔裡面的 post function,沒有人知道這個 hack,官網上也沒有)
3. Wretch 某些 API 一直到比賽當天,根本都還是爛的。(10/1 公開發表,10/17 還是爛的)
4. 只要錯誤,一律噴 404,完全無法 debug。
5. 沒人看得懂 WretchAPI 的 document 要表達什麼…
而要解決這些問題:
1. 如果你是使用 Rails,oauth-plugin 已經拿掉了 YahooToken的設計。執意想要開發這個功能的開發者,必須自己 rollback 回來,然後基於 implement SocialAPI 的 形式自己寫出 WretchAPI。拿掉的理由, plugin 開發者寫在這裡,Yahoo OAuth 搞得他相當怒。
值得注意的是,Wretch post 吃 XML,而 YahooToken.rb 是用 json….,所以需要自己重寫 xml(get/post)的部份。我是用 xml-simple 作。
2. Wretch 沒有像 Social 一樣給出 guid 的 api 讓程式可以問,所以拿 guid 請自己想辦法 :/ 弔詭的是,wretch 的 API 都需要給 guid 才能拿/送資料。
3. php 開發者必須自行修改 yosdk.zip 裡的 Yahoo.inc 檔,把 post function 改成這一段
這段程式轉成其他語言版本的意義是
以開新相簿為例:
其實是要對 http://wretch.yahooapis.com/v1/albumService/ZKWHF6P5LXDZSICROTM76OS4CI/albums?class_id=1 丟 以下內容的 post
========
大致上技術上的 issue 都在這裡…。不過如果你真的想 implement 成商業產品,最讓開發者困擾的並不是這些,而是 Y! OAuth token 極容易 expire,大約 30 min 之內就會 expire。只要 token expire 掉就必須請使用者 reconnect ….
這才真正是令人抓狂的地方。比 BBAuth 還要更煩人 -_-
使用前請三思..
無分類雜文 19 Oct 2009
[新網站] 我是專家 「I’m expert」
這是昨天在 2009 Yahoo Hack Day 做出來的新網站:「我是專家」。
開發者是:xdite( Rails Backend ) , ihower ( Rails Backend ), othree (前端工程與 UI ), evenwu(視覺設計與 UI 調校)
原始的想法是:
台灣到處都是專家。而且人民不管自己是不是專家,都愛(寫文章)冒充專家。而且我們是一個高度「專家治國」導向的社會。只要你是專家,就能治國!
問題是,因為專家太忙,有可能忙著喝喜酒….吃大餐 ….應酬演講,忙到忘記(治國)寫文章。
而專家有一種傾向,不管他懂不懂,就是要搶先插頭香發表,證明他自己很厲害!
我自己也是這種人。因此當我加班加到翻掉(我是真的連續加了三個禮拜的班 T_T),就沒有時間裝專家。尤其是上個月真的是無敵爆忙,我一整個月都沒有寫文章!不能搶先插頭香裝專家,我真的很痛苦。為了解決廣大的專家的這些困擾,因此我們決定開發一個網站解決這個問題!
這個網站就是 「我是專家」 imexpert.tw!
這個網站只有一個目標:節省(偽)專家的寶貴時間!目標以自動整合的方式產生有效的內容,快速發文,並同步至許多網站。
===
當專家要寫一篇「治國」相關的文章時,專家只要輸入「治國」這個關鍵字。系統就會整合各大網站的搜尋結果,並自動先幫專家預先生好內容!專家只要動動滑鼠拖拉,很快的就能生好一篇文情並茂的文章!我們甚至支援了「自動產生標題」以及「自動計算關鍵字」的神奇功能!
你一定會想,這編輯器好是好。但是寫完還要自己複製貼上到部落格去,實在太不方便了!
不不不,我們搶先想到這一步了。我們極度貼心的設計了貼完文章可直接同步張貼到自己部落格的功能!
目前總共支援:Wordpress、PIXNET、總統府網站(你沒看錯)。預計之後還會新增同步到 Blogger 以及 無名小站 部落格功能。
是不是很方便呢!心動不如馬上行動吧。
(因應了每個專家不同的需求,我們也提供了不同等級 VIP 的 Plan,如果您有更多的需求,歡迎直接寫信與我們聯絡。)
=====
後記:這個網站最後當然是「沒有得獎」。我們本來是要做一個正常向網站的,但做到最後越來越失控。不僅投影片機車,網站也機車,會得獎才有鬼。不過做這網站時(兩天)真的抄有趣,隊友在開發這網站時,好幾度笑到岔氣寫不下去…我想到網站能寫到這麼爽,也夠了 XD
這個網站的技術使用到了
1. Ruby on Rails
2. jQuery
3. typekit
4. Yahoo! Boss
5. Yahoo! Knowledge
6. Google news search
7. Flickr search
8. Yahoo! 斷詞 ( for tag / title )
9. XML RPC ( wordpress / PIXNET )
10. TinyMCE ( 編輯器)
11. Google Data API ( for blogger)
12. Yahoo OAuth & Wretch API ( for wretch)
無分類雜文 10 Oct 2009
從農家樂 ( Agricola ) 看 Startup / Website 發展現況與策略
最近迷上打一款 BoardGame:農家樂「Agricola」,玩這個遊戲其實非常有助於我對一些想法的印證,因此花點時間整了下來。
這個遊戲其實並不複雜,也算蠻快結束的。不過新手講解規則可能要很久就是…
大概講解一下遊戲場景:
每個玩家經營一對夫妻,起始發給一片農莊,兩間木屋,兩份食物。隨著季節的演變,玩家可以輪流派人出去執行工作。工作大概會有:犁田、種稻、養牲口、生小孩、蓋房 / 翻修、蓋建築物(主要發展卡、次要發展卡)、學習技能(職業卡)、擷取資源(拿木、磚、蘆葦)…這幾類。
執行動作是大家輪流的,如果有人在你之前先搶先犁田了,這一回合其他人就不能犁田。遊戲分為 14 個月 ( 六季 ),每季結束可以繁殖牲畜、收成、但也要支付勞動所得。值得注意的是,通常如果你季節結束,要是每付不出一份糧食(夫妻二人共要支付四份,以此類推),就會得到一張乞討卡( -3 分),通常拿到乞討卡的人幾乎必輸無疑就是了。
計分標準偏向希望你不能偏廢,少一個達成條件扣一分。但是若達成一個條件,就幾乎加一分以上。最後比計分高低。
( 建議各位有興趣的話,買一套回家玩,大致上就能理解我下面說的是什麼。不過這一套不便宜就是了,要 NT 2620 )
而我非常喜歡這個遊戲的原因,並非最近興起的正夯種田樂。而在於這個遊戲非常考驗玩家隨機的應變能力,以及「不貪心」的忍耐功夫。而這些重點,練起來讓我受益良多…
有這麼誇張?
該怎麼說起呢,我在第一次學習打農家樂時,其實牌拿的不差,但分數卻低的相當難看的…直到回家上了桌遊版,參考了 chenglap 大大的 Agricola 心得,我才體悟到在這款遊戲中犯了哪些基本人性錯誤。
而回去找朋友打,更從他們的每個犯錯的 move 中學到了更多道理。印證到一些網站發展策略,跟幾年來見聞的心得所見不遠,甚至看到更深的面向,更覺得本款遊戲惠我良多。
下面是整理的一些重點:
( 以下並沒有意思對陪我打牌的朋友有不敬之意,純粹只是拿來舉例佐證)
1. 別人上一場獲勝的策略,並非就能成為這一場你的致勝主軸,甚至抄襲會成為害死自己的主因。
農家樂其實是非常注重隨機應變的,通常一個玩家的布局方法會隨著他執行動作的優先順位、場上資源以及 職業 / 次要發展卡而有所變化。有可能這一場我拿的局就適合耕田種菜,但貪心硬要蓋牧場養滿羊反倒害死我自己。
曾經打過一場對手,因為上一局見我生了四個人拿了不少分數(四人 12 分),開局就猛蓋屋生人,結果差一點因為每季糧食湊不到,每到收穫季節就抓襟見肘的局,雖然比其他玩家多一個人,但卻沒多少明顯優勢。
2. 手上拿了資源,就要適時利用。集了滿山滿谷資源,等到終於想建設時,卻毫無用武之地,也是一種浪費。
有朋友拿磚拿上癮,手上握了十幾顆磚。進行到遊戲後面,想說集了很多磚,來蓋點烤爐好了。卻發現因為大家覺得缺磚,早早就搶先蓋好烤爐。結果雖然拿了滿手磚,但完全沒有東西可蓋。為了集磚的 move 可以說完全都被浪費。
3. 搶先卡位以及 perfect combo 未必是正確的道路,甚至是失敗的主因。
農家樂的特色之一就是,職業卡與次要發展卡相當誘人(每個玩家各發給七張)。有一些卡片組合起來威力無窮,但另一些卡片雖誘人(效果強大)但其廢無比(比如說需要集滿 3 個職業以上才可以施展,但那時候已經接近遊戲尾聲,作用並不大)。
玩家可能費盡心機打出 perfect combo,卻忽略到其實賺的資源以及花費的資源遠不成比例。(因為粗估 28 個 move,可能玩家就花了 7 個以上的 move 在施展卡片,4 個以上的 move 在集施展卡片需要的資源。幾乎佔了一半以上。)
4. 基本建設的紮實,穩定的 income,才能健康的成長。
遊戲的 keypoint 就在於糧食匱乏與否(就跟公司現金流 / 獲利程度 )。養人就是要 做事 + 燒錢,然後用人有效的去賺錢。沒那麼多事可做卻亂燒錢,多養人亂開產品線以為沒差,其實搞得企業上吐下瀉。
因此開場注重的是想辦法建立自己的食物引擎(金流 / 產品健康的運作帶來營收),不虞匱乏才可以隨心所欲有效的施展自己的 move。而非一昧猛攻多人多 move 或者是建造無敵牧場(但其實發現自己到最後什麼動物都抓不到,甚至是養了超多動物物卻買不到烤爐結果做不了食物)。
5. 別買華而不實的東西,別鑽研很炫卻加分有限的技術。加分有限,應該投資在「有效」(分數夠多)的行動上。
蓋石屋(要先蓋磚屋才能升級成石屋,此中資源花費多多)其實投資報酬率非常低。木屋夠用就好。
6. 不會馬上回饋但肯定有正面效益的事,在別人不重視時,可以悄悄地進行。有時候甚至是致勝的關鍵。
因為在農家樂規則中,每多一塊空地上面沒建設,就會扣一分。因此像犁田這種普通粗活,前期沒人搶,但後期大家搶著犁(但很可惜,一個月只能有一個人犁)。而其實越早犁田 / 種田 其實是蠻不錯的選擇,可以有效衝高 小麥 與 蔬菜 的數量(但並非絕對)。
7. 回合數有限,效益最大化。
續上,第五季時有一張不錯的行動:「犁田並播種」。這種就是壓一次 move,卻可以同時做兩個 move 的典型範例。但這時候手上有 麥子 / 蔬菜的人,才多半能顯示押這個 move 的威力。同時,後期其實收穫期非常緊密,因此也只有糧食足夠的人可以安心押這個 move。其他人可能因為糧食緊張在頭疼。
其實做網站的時候,我們是可能犯下一些基本的迷思,更甚是通往地獄卻樂在其中。遊戲中的一些貪婪失恆的場景也反應在網路界現實中
比如:
1. 覺得發展 XX 是未來卡位之道,結果蓄積了一堆能力,最後卻完全用不上。
2. YY 正夯,成本低廉,便覺得浪費一個 move 也無所謂。
3. 為了比敵手更搶先,大幅 hire RD 開發新功能 / 炫功能,卻忽略了自己體質或者是現金流並不健康,結果就是 A 做不好,B 也做不好,RD 累到炸。
4. 看到敵手 F 領先,便花大錢狂投人力抄襲對方,到最後一刻才發現自己體質完全不適合這樣玩,最後搞得自己噴掉。
5. ZZ 適合大規模環境使用,深信自己用得上,預先砸了一堆 RD 研究。結果完全達不到那個量,浪費成本研發。
6. 開心的用策略打出連環 combo 殺招,上了一連串活動宣傳、廣告、上功能。結果其實在營收上入遠不敷出。
7. 金主的耐心與底線以及 founder 的熱情,通常也只有六個季 ( 18 個月)。隨意在任何一個月亂 move ,看似輕忽,其實是一種嚴重浪費…
特別在熬夜打完兩場農家樂後,用僅存一點的清醒意識記之。
無分類雜文 07 Oct 2009
Ruby Tuesday 10 月場 開始報名
時間
2009/10/20(週二)晚上七點到九點。
議程
* Cardinal Blue Software: Rails on facebook
* ihower: Rails best practices and refactoring
* xdite: SEO tricks for Rails
費用
場地低消為新台幣 $150 元,請向櫃台點餐。
地點
果子咖啡 http://www.gozcafe.com/,台北市中山區民生東路三段140巷11號。捷運可搭木柵線南京東路站下車,沿慶城路直走左手邊巷子裡。
=====
* PS,本場我個人的投影片是不會在會後公開分享的。
無分類雜文 03 Sep 2009
Rails 3 的野望 (Rails 合併 Merb 後目前的進展)
這一篇想寫很久了,一直忘記。
大家應該還記得,Merb 在 2008 年底宣布了一個決定,他們決定併入 Rails。而 Merb 的 Team Leader:Yehuda Katz,也將加入 Rails core team 開發。於是未來 Merb2 將直接等於 Rails3。
當時,這件事是非常令人震撼的。原因是 Rails 雖然是一個非常先進的框架,但是還是有非常多開發者,因為它的包山包海(笨重、效能不彰)而卻步。於是,他們選擇了另外一套框架 Merb。Merb 的想法和架構其實是很棒的,它既可以是一個 full stack 的 Framework,又可以讓開發者用 cherry pick library 的方式建構網站。有很多 Merb 派的開發者,甚至就是因為前述原因才跳槽過來的。
因此它們的合併,無異是向社群投了一個大炸彈。很多 Merb 的擁護者當時紛紛表示不能接受,甚至大家都湧上「Merb core team 的人是集體腦袋燒壞掉了嗎」的強烈疑惑,認為 Merb 選擇被 Rails 整併是大錯特錯的愚蠢決定。
我當初也這麼想,但近半年來,追看 Edge Rails 的發展,我才發現所有人(包括 DHH),都被 Yehuda 騙了。
在 DHH 當初的 Announce 提到了 Rails 3 將會有的是:
* Rails core: Yes, Rails is a full-stack framework and will remain so, but there’s no reason we shouldn’t also make it possible to run with less than the full monty. Rails 3 will make it easy to run just a bare minimum and then allow you to opt in just the stuff you want, if that’s necessary for your particular situation. Think “rails myapp—core” (and “rails myapp—flat”).
* Performance optimizations: Merb has a lot of Rails pieces rewritten to be faster. We’ll be bringing all that good stuff over. We’ll also bend the architecture in the places where that’s necessary for a big yield. In short, Rails 3 will get all the performance attention that the Merb guys are known for.
* Framework agnosticism: Rails will always have a default answer to every question within the stack. If you don’t care about testing frameworks, you’ll get test/unit. If you don’t care about which ORM, you’ll get Active Record. But some people do care and want something else. Some people want RSpec for testing, others want to use Sequel or Data Mapper for ORM, others again prefer Haml for templating, and some might prefer jQuery for Ajax. All these people should feel like Rails is welcoming them with open arms. Yes, we’ll have a default, but we shouldn’t have any form of discrimination against alternatives.
* Rigorous API: Too many plugins break when Rails is updated because it’s not clear where they can safely hook into the internals and when they’re monkeypatching and should expect things to break. The Merb guys committed to a public API with tests to ensure that it wouldn’t break. They’ll bring over that line of thinking and give Rails 3 a tested and documented API for extensions that won’t break willy-nilly with upgrades.
大家看到 Rigorous API 這段 一定以為 Yehuda 當初的提議是的改版是,發明一套神奇的 API,讓 plugin 不再爛掉。再加上前三條以上 blahblah 的好處 …不過大家看的半信半疑,感覺上好像都是虎爛,應該完全做不到吧….。
OK。但到目前為止,結果 Yehuda 目前的成果到了什麼地步呢?
Merb 反過來吃掉了 Rails,順便叫 Sinatra 也不用繼續再玩了!
他現在做的事,並不是發明什麼神奇的 API 。而是把整個 Rails refactor,具體的作法就是把整個 Rails 全部拆散成 API 形式再組起來 ……這不僅是空談,而是已經有非常具體的成果了。
1. 現在 Rails 的效能跟 Merb 一樣好!! ( 2008/08/09 )
2. Fully API ( 這在他最近在世界上的各場 ruby / rails conf 演講 影片/ 投影片 都有 demo )
3. 因為現在通通拆開了,所以 Rails3 達成 framework agnosticism 是完全沒問題的…
4. 因為現在通通拆開了,very flat 版 rails 也是沒有問題的…
5. 他最近甚至無聊到火力展示(炫耀)一個東西,如何用 Rails API 拼出一個 Sinatra 。XDDDDDDD
6. 還順便分享了一篇 refactor 技巧(因為公開翻修了 Rails 這個 opensource project ):6 Steps To Refactoring Rails (for Mere Mortals)
完全令人想不到而且偉大的結局啊,完全做的到而且比當初宣告的更屌….。
真期待年底 Rails3 的正式 Release ….
====
Update : 剛剛重回去看
Merb gets merged into Rails 3!,想仔細找找有沒有什麼我寫漏的。結果看到 DHH 在當初的文章裡強調了這次的 merge「This is not a big bang rewrite」。我噗喫一聲,笑出來了…………










