內容簡介
準備好進入Rails的高級套用了嗎?Ruby讓Rails框架成為可能。從審查Ruby到部署大規模Rails套用,《Rails高級編程》所探討的話題幫助Rails程式設計師脫穎而出。通過《Rails高級編程》你將自底向上深入地了解處理資料庫、安全、性能、Web服務以及其他方面的技術。
《Rails高級編程》風格清新而結構緊密,不僅幫你理解使用Rails本身的技巧,還教你如何靈活運用從其他編程範式借鑑來的想法。《Rails高級編程》特別注重構建具有伸縮性的套用——具有“伸縮性”意味著能夠處理更多的用戶或者與更大更複雜的資料庫互動。
《Rails高級編程》使用大量的範例和代碼示例來解釋如下內容:
元編程。
何時為通用、可重用的功能使用ActiveSupport庫。
如何安裝、編寫和測試Rails外掛程式。
各種資料庫管理系統。
高級資料庫特性,包括觸發器、規則和存儲過程。
如何連線多個資料庫和LDAP。
web套用設計的安全規範和Web特有的安全問題。
性能最佳化。
restful架構。
為何版本控制和錯誤跟蹤系統是大型或長存的Rails項目的關鍵。
《Rails高級編程》也探索了如何擴展Rails、在其他Ruby代碼中使用單獨的Rails組件、套用國際化等話題。而且,每個章節都包括擴展閱讀的資源。如果你準備提高自己的高級Rails技能,《Rails高級編程》就是你想要的。
作者簡介
BradEdiger是TasmanLabs(一家不動產技術公司)的CTO。他和他的妻子Kristen創建了MadriskaMediaGroup(一家專注於客戶套用型開發的公司)。在不編程的時候,Brad喜歡玩各種樂器和看朦朧電影。
目錄
前言
第1章基礎技術
什麼是元編程
Ruby基礎
元編程技術
函式式編程
示例
擴展閱讀
第2章ActiVeSupport和RailTies
你可能漏掉的Ruby內容
教你讀代碼
ActiveSupport
CoreExtensions
RailTies
擴展閱讀
第3章Rails外掛程式
關於外掛程式
寫外掛程式
外掛程式實例
測試外掛程式
擴展閱讀
第4章資料庫.
資料庫管理系統
大型/二進制對象
資料庫高級特性
連線多個資料庫
快取
負載均衡和高可用性
LDAP
擴展閱讀
第5章安全
應用程式問題
Web問題
SQL注入
Ruby環境
擴展閱讀
第6章性能
度量工具
Rails最佳化示例
ActiveRecord性能
構架可伸縮性
其他系統
擴展閱讀
第7章REST、資源和Web服務
REST是什麼
RESTful架構的優勢
RESTfulRails
案例研究:AmazonS3
擴展閱讀
第8章i18n與L10n
區域
字元編碼
Unicode
Rails和Unicode
Rails的本地化
擴展閱讀
第9章合併和擴展Rails
替換Rails組件
合併Rails組件
向Rails貢獻代碼
擴展閱讀
第10章大型項目
版本控制
事務追蹤(IssueTracking)
項目結構
Rails部署
擴展閱讀
……
序言
翻閱本書的讀者,相信您對Ruby on Rails並不陌生。Ruby on Rails的創造者DHH曾被2005年“全球開源大會”(OSCON)評為“年度最佳黑客”,《連線》雜誌封面人物更將其標榜為“地球上最炙手可熱的黑客”。而他與Dave Thomas合著的另一部著作——《Agile Web Development with Rails》曾在2006年獲得享有軟體開發界奧斯卡之譽的jolt Awards(震撼大獎)。一時間,Ruby on Rails大紅大紫、風光無限,大大小小的Rails門戶、Rails部落格、Rails播客如雨後春筍般紛紛湧現,Web開發貌似迎來了革命性的救世主,國內外IT界又增添了一個可供炒作的噱頭。各大搜尋引擎中搜尋“Rails tutorial”、《15分鐘內創建一個部落格》、《套用Rails構建to-do list程式》等吸引眼球的教程讓人心馳神往。可是,當熱潮退、塵埃落定之際,我們冷靜回眸,發現真正用Rails技術開發商業套用和工業級套用的案例屈指可數。大多數新興的Rails套用不是部落格、娛樂就是SNS,勇於在商業套用領域嘗試Rails技術的公司、企業少之又少。驀然回首,無論是已經問世的Ruby on Rails書籍,還是網上大大小小的部落格、教程,都很少觸及這方面的深入介紹。《Agile Web Development with Rails》、《Rails Recipes》、《Rails cookbook》都不能深孚眾望,而國內中文版的相關書籍就更是少得可憐。
令人欣慰的是,Brad Ediger攜O’Reilly為我們帶來了《Advanced Rails》。對,就是您手上的這本書! “快速構建工業級強度的Web程式”是本書的宣言。當我第一次看到這本書時,欣喜之情溢於言表。本書雖然只有短短的十章,但是從Ruby元編程、Rails源碼解析、Rails外掛程式到資料庫套用、安全與性能、國際化和本地化的多個方面對Rails進行了深入講解。作者對Ruby和Rails的理解之深、技術造詣之高,都令人嘆為觀止。很榮幸我們團隊有幸將這本好書翻譯為中文,有幸給大家奉上一份Rails大餐。我們的翻譯團隊是源於工作中的真實團隊——freewheelUITeam。FreeWheel是一家專注於線上視頻廣告管理服務的公司,所開發的套用商業邏輯十分複雜,含有很多“mission critical”的商業計算。開發過程中稍有不慎,就有可能給客戶帶來極大的經濟損失。為了處理這些複雜的商業邏輯和運算,FreeWheel UI Team勇於嘗試Ruby on Rails技術和敏捷開發思想。實踐證明,採用這些技術和思想能夠快速開發、發布套用,提高工作效率。而整體團隊的高效、快速與團隊成員深度掌握、靈活使用Rails技術是密不可分的。翻譯過程中,我們團隊成員對《Advanced Rails》紛紛讚不絕口,因為該書的很多內容對我們的日常工作都大有裨益,每一章節都可謂是Rails技術的精華。我們深深感謝原作者為我們帶來這樣一本好書,我們也希望通過我們的努力讓更多國內的軟體同仁們看到更好的更有價值的技術書籍。
本書的第1章由呼必斯哈拉圖(tony)翻譯,第2章以及第5章由劉松(liusong1111)翻譯,第3章以及第9章由黃羽中(hideto)翻譯,第4章由陸文靜(Richel)翻譯,第6章由黃成翻譯,第7章由劉映男翻譯,第8章以及第10章由衛偉翻譯。感謝團隊中各位譯者幾個月以來的辛苦付出,給讀者們獻上一桌Ruby on Rails盛宴。