Rails之道

出版時間:2010-4  出版社:人民郵電出版社  作者:(美)Obie Fernandez  頁數(shù):504  字?jǐn)?shù):818000  譯者:Ruby on Rails中文社區(qū)  
Tag標(biāo)簽:無  

前言

在2004年末,我正在為一家大型美國汽車制造公司做咨詢服務(wù)。當(dāng)時和我一起工作的還有我的好朋友Aslak Hellesoy。我們所接手的那個項(xiàng)目很具挑戰(zhàn)性,不僅面臨困難的公司政治矛盾、技術(shù)障礙,而且工期很緊。這個項(xiàng)目的工期還不是一般意義上的緊張,在當(dāng)時的項(xiàng)目情況下,如果我們每拖延一天完工,我們的客戶就得被罰100萬美元。因此壓力可想而知! 在那個項(xiàng)目中我們曾面臨一個具有爭議的抉擇,不過最后我們的團(tuán)隊(duì)決定將我們的連續(xù)整合系統(tǒng)構(gòu)建在Aslak的一個業(yè)余項(xiàng)目Damage Control的基礎(chǔ)上。Damage Control是老舊的Cruise Control服務(wù)器的Ruby版本,是由我們的雇主公司Thought Works開發(fā)的。 問題是Damage Control當(dāng)時還是一個半成品,而且和其他許多Ruby事物一樣,它在Windows系統(tǒng)中兼容性不是很好。我已經(jīng)記不得是什么原因,不過當(dāng)時我們必須將它部署到一個陳舊的Windows 2000服務(wù)器上,而且那個服務(wù)器上還跑著一個StarTeam代碼版本庫(折騰!)。 Aslak需要幫助——在這之后的幾個星期,我們沒日沒夜地進(jìn)行結(jié)對編程的工作。對DamageControl的程序代碼和Ruby的Win32程序代碼庫的C代碼進(jìn)行了大量改造。當(dāng)時的我具有八年正規(guī)行業(yè)的Java開發(fā)經(jīng)驗(yàn),而且當(dāng)時我特別喜歡使用IntelliJ IDE;但在那段時間,我對Ruby的痛恨不禁溢于言表。 當(dāng)這個倍具壓力的項(xiàng)目上線之后,我接手了另一個相對輕松的任務(wù)并轉(zhuǎn)去ThoughtWorks的倫敦辦公室工作。過了大概一個月的時間,Ruby再一次吸引了我的注意。當(dāng)時我在很多朋友的博客上看到他們激動地討論一個即將發(fā)布的網(wǎng)絡(luò)程序框架,叫做Ruby on Rails。于是我決定再來試試Ruby,或許它并非那么糟糕吧。我很快就創(chuàng)新地為ThoughtWorks建立起一個供內(nèi)部使用的社區(qū)網(wǎng)絡(luò)系統(tǒng)。 在2005年初的那幾周中,我的Rails第一次親密接觸讓我完全轉(zhuǎn)變了看法。經(jīng)年累月以來我所學(xué)到的那些用于構(gòu)建網(wǎng)絡(luò)應(yīng)用程序的經(jīng)驗(yàn)和技巧已經(jīng)全部被濃縮到了這么一個程序框架中,更何況這個框架是用我所見過的最優(yōu)雅而簡練的編程語言編寫的。我對Java的興趣戛然而止(雖然之后我還差不多用了一年的IntelliJ)。我開始熱心地在我的博客上撰寫有關(guān)Ruby和Rails的文章,并且不遺余力地在ThoughtWorks的里里外外宣傳它們。結(jié)果,正如他們所說的,Ruby on Rails是件影響網(wǎng)絡(luò)應(yīng)用程序開發(fā)的大事記。 當(dāng)我在2007年撰寫這本書的時候,ThoughtWorks全球收入中的近一半來自于我所推薦的Rails的項(xiàng)目生意。他們特別成立了一個很大的部門專門從事基于Ruby的商業(yè)軟件開發(fā)工作。他們的產(chǎn)品中包括CruiseControl.rb,它很榮幸地成為Ruby on Rails核心團(tuán)隊(duì)所選擇的連續(xù)式整合服務(wù)系統(tǒng)。我猜CruiseControl.rb就是Aslak一直以來都想編寫的系統(tǒng)。

內(nèi)容概要

  本書按照Rails的各個子系統(tǒng)進(jìn)行組織編排,分別介紹了Rails的環(huán)境、初始過程、配置和日志記錄,Rails的分配器、控制器、頁面生成和路由,REST、資源和Rails,ActiveRecord的基礎(chǔ)、關(guān)聯(lián)、驗(yàn)證和高級技巧,ActionView的模板、緩存和幫助器,Ajax、Prototype和Scriptaculous等JavaScript代碼庫和RJS,Session管理、用戶登錄和認(rèn)證系統(tǒng),XML和ActiveResource,后臺處理和ActionMaile,測試和specs(包括RSpec on Rails和Selenium),安裝、管理、編寫插件,Rails的生產(chǎn)部署、配置和Capistrano等內(nèi)容?! ”緯敿?xì)討論了Rails的程序代碼并通過分析Rails中的代碼片段來深入解釋它的功能,同時,本書部分章節(jié)也摘錄了一些API文檔中的內(nèi)容,使讀者能夠快速地找到對應(yīng)的API文檔、相關(guān)的示例代碼以及深入的解析說明。  本書是Rails的權(quán)威參考書,適合對Rails已經(jīng)有一定了解的開發(fā)人員學(xué)習(xí)和使用。

作者簡介

Obie Fernandez是一位廣為人知的技術(shù)行業(yè)領(lǐng)袖和獨(dú)立咨詢師。從20世紀(jì)80年代獲得第一臺Commodore VIC-20開始,他就一直在從事各種黑客工作。20世紀(jì)90年代中期,他終于找到了自己的位置,成為第一代Java企業(yè)項(xiàng)目的編程師。他于1998年移居到美國喬治亞州亞特蘭大市,并作為當(dāng)?shù)匦屡d企業(yè)MediaOcean的首席架構(gòu)師而聞名。他還成立了Extreme Programming(后改名為Agile Atlanta)用戶社團(tuán),并在該社團(tuán)擔(dān)任了幾年的主席和組織人。

書籍目錄

第1章 Rails環(huán)境與配置 第2章 運(yùn)用控制器 第3章 路由 第4章 REST,資源和Rails 第5章 探究路由選擇 第6章 運(yùn)用ActiveRecord 第7章 ActiveRecord關(guān)聯(lián) 第8章 ActiveRecord驗(yàn)證 第9章 ActiveRecord的高級技巧 第10章 ActionView 第11章 輔助方法 第12章 Ajax on Rails 第13章 Session管理 第14章 登錄與認(rèn)證 第15章 XML和ActiveResource 第16章 ActionMailer 第17章 測試 第18章 RSpec on Rails 第19章 用插件擴(kuò)展Rails 第20章 Rails生產(chǎn)環(huán)境配置 第21章 Capistrano 第22章 后臺進(jìn)程 附錄A ActiveSupport API參考 附錄B Rails概要 

章節(jié)摘錄

插圖:RubyonRails框架的作用在于徹底簡化了開發(fā)過程,使專業(yè)開發(fā)人員能夠更加專注子那些最重要的東西,即企業(yè)價值的傳遞。這是第一本全面而權(quán)威的指南,教你如何利用Rails開發(fā)高質(zhì)量的軟件。在本書中,Rails的先驅(qū)開發(fā)者ObieFemandexz及他的專家團(tuán)隊(duì)將會為你詳細(xì)闡述全部的RailsAPI,以及Ruby的各種語法、設(shè)計方法、庫和插件,正是它們令Rails變得如此珍貴。他們憑借著自己豐富的經(jīng)驗(yàn),向軟件開發(fā)團(tuán)隊(duì)展示他們真正面對的挑戰(zhàn)所在,并向大家展示了如何使用Rails工具、怎樣達(dá)到最佳使用效果,以及如何構(gòu)建用戶確實(shí)喜歡的杰出程序。通過使用詳細(xì)的代碼示例,Obie系統(tǒng)地說明了Rails的主要功能和各個子系統(tǒng)。他向讀者展現(xiàn)了先進(jìn)的編程技巧;介紹了開源程序庫,使得Rails的應(yīng)用變得更加容易;并且提供了有關(guān)測試和產(chǎn)品部署的真知灼見。它讓我們一起深入Rails的代碼庫,探索Rails為什么這樣工作,以及怎樣可以讓它按照你想要的方式進(jìn)行工作。幸運(yùn)的是,那些數(shù)據(jù)庫查詢的每個語句執(zhí)行的非??欤總€耗時在0,0015秒左右。這是因?yàn)镸ySql執(zhí)行短小的SELECF語句非常陜,而且我的Rails進(jìn)程和數(shù)據(jù)庫運(yùn)行在相同的物理機(jī)器之上。不過,這些積聚成堆的N+1查詢以及它們的快速增加已造成了對性能的侵蝕。除了我提到的這些不利因素,還會面對嚴(yán)重的性能問題需要解決。如果數(shù)據(jù)庫運(yùn)行在獨(dú)立的機(jī)器上,對我來說每個查詢的網(wǎng)絡(luò)延遲處理問題將特別嚴(yán)重,N+1查詢問題是不可能消失的。多數(shù)時候可以在特定的find方法中通過正確的使用:include選項(xiàng)來緩解這個問題。分層一個設(shè)計良好的MVC應(yīng)用程序會遵循相關(guān)規(guī)定,與渲染任務(wù)(視圖)相比,必然要在邏輯層(模型對象)中進(jìn)行數(shù)據(jù)庫操作。一般而言,要在控制器中從數(shù)據(jù)庫中加載所有渲染所需數(shù)據(jù)。在Rails里,是通過在控制器中針對所需數(shù)據(jù)對模型對象進(jìn)行查詢并將數(shù)據(jù)存儲于實(shí)例變量中再由視圖渲染宋完成的。普遍認(rèn)為在對數(shù)據(jù)庫訪問期間進(jìn)行渲染是一個不好的習(xí)慣。因?yàn)橹苯釉谀0宕a中調(diào)用find方法違背了固有的分層概念,而且代碼的可維護(hù)性變得非常糟糕。然而,在數(shù)據(jù)庫訪問期間進(jìn)行視圖渲染將會使很多隱含的機(jī)會蔓延在你的代碼中,模型對象的封裝或許會對關(guān)聯(lián)的數(shù)據(jù)進(jìn)行延遲加載(Lazyloading)。我們可以稱之為壞習(xí)慣?這很難說清楚。

編輯推薦

《Rails之道》:Ruby on Rails經(jīng)典參考用書Jolt年度技術(shù)圖書大獎獲得者深入講解Ruby on Rails框架中的各種知識點(diǎn)和應(yīng)用新特性Rails各種API函數(shù)參考大全Ruby on Rails中文社區(qū)傾情奉獻(xiàn)一本書,讓你參透Ruby on Rails的世界RubyonRails框架的作用在于徹底簡化了開發(fā)過程,使專業(yè)開發(fā)人員能夠更加專注子那些最重要的東西,即企業(yè)價值的傳遞。這是第一本全面而權(quán)威的指南,教你如何利用Rails開發(fā)高質(zhì)量的軟件。在《Rails之道》中,Rails的先驅(qū)開發(fā)者ObieFemandexz及他的專家團(tuán)隊(duì)將會為你詳細(xì)闡述全部的RailsAPI,以及Ruby的各種語法、設(shè)計方法、庫和插件,正是它們令Rails變得如此珍貴。他們憑借著自己豐富的經(jīng)驗(yàn),向軟件開發(fā)團(tuán)隊(duì)展示他們真正面對的挑戰(zhàn)所在,并向大家展示了如何使用Rails工具、怎樣達(dá)到最佳使用效果,以及如何構(gòu)建用戶確實(shí)喜歡的杰出程序。通過使用詳細(xì)的代碼示例,Obie系統(tǒng)地說明了Rails的主要功能和各個子系統(tǒng)。他向讀者展現(xiàn)了先進(jìn)的編程技巧;介紹了開源程序庫,使得Rails的應(yīng)用變得更加容易;并且提供了有關(guān)測試和產(chǎn)品部署的真知灼見。它讓我們一起深入Rails的代碼庫,探索Rails為什么這樣工作,以及怎樣可以讓它按照你想要的方式進(jìn)行工作。《Rails之道》將幫助你解決以下問題:增強(qiáng)你作為網(wǎng)絡(luò)開發(fā)人員的工作效率令你體會到用Ruby on Rails進(jìn)行編程的快樂學(xué)習(xí)Rails 2.0的新內(nèi)容"用TestUnlt和 Rspec促進(jìn)設(shè)計進(jìn)程,實(shí)現(xiàn)長期維護(hù)理解并管理Rails C ontrollers中復(fù)雜的項(xiàng)目流程利用Rails的支持設(shè)計完美的API掌握高深的Rails路由概念和技術(shù)對Rails路由檢測并排錯將 AcoveRecord對象關(guān)系映射的功能發(fā)揮到極致在你的Rails軟件中運(yùn)用Ajax 在你的軟件中安裝登錄和授權(quán)系統(tǒng)用最好的第三方插件來擴(kuò)展Rails,甚至自己編寫插件程序通過ActionMaJler:在你的軟件中整合電子郵件服務(wù)選擇合適的Rails產(chǎn)品配置用Capistrano優(yōu)化部署

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Rails之道 PDF格式下載


用戶評論 (總計6條)

 
 

  •   很適合開發(fā)人員和初學(xué)者學(xué)習(xí),是一本很好的參考手冊!
  •   書很好,送的也挺快的
  •   由于Rails本身的變化較快,導(dǎo)致很多中文資料比較滯后,不過作為初學(xué)者看看這些老書還是很有幫助的。
  •   唉,咋就這么惡劣
  •   實(shí)在是太惡劣了,浪費(fèi)了我68.5
  •   紙張裝訂太差,翻了幾頁看了一下,感覺里面的紙張就要掉了一樣。多半是次品或者是本來做工就很差。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7