Web開發(fā)敏捷之道

出版時(shí)間:2010年7月  出版社:電子工業(yè)出版社  作者:Sam Ruby,Dave Thomas,David Heinemeier Hansson  頁數(shù):526  譯者:林芷薰 譯,透明 審校  
Tag標(biāo)簽:無  

前言

  從本書第1版面世至今,已經(jīng)18個(gè)月過去了。甚至在那之前,Rails就已經(jīng)顯出了走紅的潛質(zhì)。但即便如此,我還是堅(jiān)持認(rèn)為:當(dāng)時(shí)沒有任何人能想到這個(gè)框架竟然會(huì)變得如此顯赫?! ≡陔S后的一年里,Rails已變得越來越強(qiáng)大,不僅眾多激動(dòng)人心的新網(wǎng)站以它為基礎(chǔ)搭建起來了,而且連很多大企業(yè)(包括一些家喻戶曉的大企業(yè))也開始在內(nèi)部和外部的應(yīng)用中使用Rails。同時(shí)Rails也贏得了技術(shù)社群的廣泛贊譽(yù):David Heinemeier Hansson——Rails的創(chuàng)造者——在OSCON被評(píng)為“年度最佳黑客”;Rails贏得Jolt“最佳web開發(fā)工具”大獎(jiǎng);本書的第1版也贏得了Jolt“最佳技術(shù)圖書”大獎(jiǎng)。  但Rails團(tuán)隊(duì)并沒有躺在功勞簿上睡大覺,他們還在不斷地給Rails增加新的功能和工具。Rails 1.0于本書第1版之后幾個(gè)月問世,增加了數(shù)據(jù)遷移等功能,并且全面升級(jí)了對(duì)AJAX的集成支持。Rails 1.1于2006年春季發(fā)布,這是一個(gè)爆炸性的版本,其中引入了超過500項(xiàng)變更,而且很多都是影響深遠(yuǎn)的變更。譬如說,RJS模板改變了開發(fā)者們編寫AJAX應(yīng)用的方式,集成測(cè)試框架改變了對(duì)應(yīng)用程序進(jìn)行測(cè)試的方式。此外,ActiveRecord也得到了大量的擴(kuò)展和增強(qiáng),加上了多態(tài)關(guān)聯(lián)、連接模型等功能,緩存也得到了改進(jìn),而其他的改善則不勝枚舉。  所以,本書理應(yīng)推出更新之后的第2版,以體現(xiàn)所有這些好東西。而且在修改本書的過程中,我意識(shí)到還有別的東西也在悄然無聲地發(fā)生著變化:自從本書第1版發(fā)行以來,我們都從中學(xué)到了很多關(guān)于“如何編寫Rails應(yīng)用”的經(jīng)驗(yàn);但Rails中一些原本被認(rèn)為是好點(diǎn)子的功能在實(shí)際應(yīng)用中并不理想,另一些原本被視為細(xì)枝末節(jié)的功能卻日漸顯得重要,這也導(dǎo)致對(duì)本書的修改比我想象的要來得深遠(yuǎn)得多。我不只是要修潤(rùn)文字、加上幾個(gè)新的API介紹。不,還遠(yuǎn)不止于此。我根本就是重寫了整本書:第1版的有些章節(jié)被刪掉了,又增加了一些新的章節(jié),剩下的大部分內(nèi)容也是徹底重寫。于是,這就是我們的第2版——基本上就是一本全新的書。  當(dāng)?shù)?版圖書還在全球熱賣時(shí)就推出第2版,這似乎有些奇怪。但Rails已經(jīng)變化了,我們的書也必須隨之而變?! ∽詈螅?qǐng)享受你的Rails之旅吧!

內(nèi)容概要

全書主要分為兩大部分。在“構(gòu)建應(yīng)用程序”部分中,讀者將看到一個(gè)完整的“在線購(gòu)書網(wǎng)站”示例。在隨后的“Rails框架”部分中,作者深入介紹了Rails框架的各個(gè)組件?! 〕松鲜鰞刹糠滞?,對(duì)Rails缺乏了解的讀者應(yīng)該首先閱讀“起步”部分,通過一個(gè)最簡(jiǎn)單的應(yīng)用示例感性了解這個(gè)時(shí)下熱門的web框架。不熟悉Ruby的讀者應(yīng)該閱讀“附錄”部分中的“Ruby簡(jiǎn)介”,以便了解Ruby的基本語法與常見用法。   本書第1版曾榮獲Jolt大獎(jiǎng)“最佳技術(shù)圖書”獎(jiǎng)。在前兩版的內(nèi)容架構(gòu)基礎(chǔ)上,第3版增加了對(duì)Rails 2中新特性和最佳實(shí)踐的內(nèi)容介紹。相比第2版中的內(nèi)容,Rails 2增加了REST、資源、輕量級(jí)web service等新特性。本書涵蓋了這些全新的內(nèi)容,因此能更好地體現(xiàn)出Rails框架的發(fā)展現(xiàn)狀?! ≌w而言,全書既有直觀的實(shí)例,又有深入的分析,同時(shí)還涵蓋了web應(yīng)用開發(fā)中各方面的相關(guān)知識(shí),堪稱一部?jī)?nèi)容全面而又深入淺出的佳作。

作者簡(jiǎn)介

  魯比(Sam Ruby),是一位杰出的軟件開發(fā)者,他為Apache軟件基金會(huì)下屬的很多開源軟件項(xiàng)目做出過重要的貢獻(xiàn),他主持的Atom web feed標(biāo)準(zhǔn)和廣為使用的廠eedvalidatororg web service對(duì)web feeds的標(biāo)準(zhǔn)化起到了重要作用。他目前是IBM“創(chuàng)新技術(shù)組”的資深技術(shù)人員?! ⊥旭R斯(Dave Thomas),作為《敏捷宣言》的起草人之一,他理解敏捷。作為《Programming Ruby》的作者,他理解Ruby。作為一位活躍的Rails開發(fā)者,他理解Rails?! h森(David Heinemeier Hansson),是Rails框架的締造者。

書籍目錄

第1章 簡(jiǎn)介   1.1 RAILS是敏捷的   1.2 讀你所需   1.3 致謝  第1部分 起步   第2章 RAILS應(yīng)用的架構(gòu)    2.1 模型,視圖,以及控制器    2.2 ACTIVE RECORD:RAILS的模型支持    2.3 ACTION PACK:視圖與控制器   第3章 安裝RAILS    3.1 購(gòu)物清單    3.2 WINDOWS上的安裝    3.3 MAC OS X上的安裝    3.4 LINUX上的安裝    3.5 選擇RAILS版本    3.6 開發(fā)環(huán)境    3.7 RAILS和數(shù)據(jù)庫(kù)    3.8 保持更新    3.9 RAILS和ISPS   第4章 立竿見影    4.1 新建一個(gè)應(yīng)用程序    4.2 HELLO, RAILS    4.3 把頁面連起來    4.4 我們做了什么  第2部分 構(gòu)建應(yīng)用程序   第5章 DEPOT應(yīng)用程序    5.1 增量式開發(fā)    5.2 DEPOT做些什么    5.3 讓我們編碼吧   第6章 任務(wù)A:貨品維護(hù)    6.1 迭代A1:跑起來再說    6.2 創(chuàng)建貨品模型和維護(hù)應(yīng)用    6.3 迭代A2:添加缺失的字段    6.4 迭代A3:檢查一下    6.5 迭代A4:更美觀的列表頁   第7章 任務(wù)B:目錄顯示    7.1 迭代B1:創(chuàng)建目錄列表    7.2 迭代B2:添加頁面布局    7.3 迭代B3:用輔助方法格式化價(jià)格    7.4 迭代B4:鏈接到購(gòu)物車   第8章 任務(wù)C:創(chuàng)建購(gòu)物車    8.1 SESSION    8.2 迭代C1:創(chuàng)建購(gòu)物車    8.3 迭代C2:創(chuàng)建一個(gè)更聰明的購(gòu)物車    8.4 迭代C3:處理錯(cuò)誤    8.5 迭代C4:結(jié)束購(gòu)物車   第9章 任務(wù)D:AJAX初體驗(yàn)    9.1 迭代D1:遷移購(gòu)物車    9.2 迭代D2:創(chuàng)建基于AJAX的購(gòu)物車    9.3 迭代D3:高亮顯示變化    9.4 迭代D4:隱藏空購(gòu)物車    9.5 迭代D5:JAVASCRIPT被禁用時(shí)的對(duì)策    9.6 我們做了什么   第10章 任務(wù)E:付賬    10.1 迭代E1:收集訂單信息   第11章 任務(wù)F:管理    11.1 迭代F1:添加用戶    11.2 迭代F2:登錄    11.3 迭代F3:訪問控制    11.4 迭代F4:添加邊欄,以及更多的管理功能   第12章 任務(wù)G:最后一片餅干    12.1 生成XML    12.2 掃尾工作   第13章 任務(wù)I:國(guó)際化    13.1 迭代I1:翻譯    13.2 迭代I2:探索內(nèi)容的翻譯策略   第14章 任務(wù)T:測(cè)試    14.1 加上測(cè)試    14.2 模型的單元測(cè)試    14.3 控制器的功能測(cè)試    14.4 應(yīng)用程序的集成測(cè)試    14.5 性能測(cè)試    14.6 使用MOCK對(duì)象  第3部分 RAILS框架   第15章 深入RAILS    15.1 RAILS在哪兒    15.2 目錄結(jié)構(gòu)    15.3 RAILS配置    15.4 命名約定    15.5 RAILS的日志    15.6 調(diào)試信息    15.7 精彩預(yù)告   第16章 ACTIVE SUPPORT    16.1 通用擴(kuò)展    16.2 枚舉和數(shù)組    16.3 HASH    16.4 字符串?dāng)U展    16.5 數(shù)值的擴(kuò)展    16.6 時(shí)間和日期的擴(kuò)展    16.7 RUBY符號(hào)的擴(kuò)展   16.8 WITH_OPTIONS    16.9 UNICODE支持   第17章 數(shù)據(jù)遷移    17.1 創(chuàng)建和運(yùn)行遷移任務(wù)    17.2 剖析遷移任務(wù)    17.3 表的管理    17.4 數(shù)據(jù)遷移任務(wù)    17.5 高級(jí)遷移任務(wù)    17.6 遷移任務(wù)的缺點(diǎn)    17.7 在遷移任務(wù)之外操作數(shù)據(jù)庫(kù)結(jié)構(gòu)    17.8 管理遷移任務(wù)   第18章 ACTIVERECORD第一部分:基礎(chǔ)    18.1 表和類    18.2 字段和屬性    18.3 主鍵與ID    18.4 連接數(shù)據(jù)庫(kù)    18.5 CRUD    18.6 聚合與結(jié)構(gòu)化數(shù)據(jù)    18.7 雜錄   第19章 ACTIVERECORD第二部分:表間關(guān)聯(lián)    19.1 創(chuàng)建外鍵    19.2 在模型對(duì)象中指定關(guān)聯(lián)    19.3 BELONGS_TO和HAS_XXX聲明    19.4 連接多張表    19.5 自引用的連接    19.6 ACTS AS    19.7 何時(shí)保存    19.8 預(yù)先讀取子記錄    19.9 計(jì)數(shù)器   第20章 ACTIVERECORD第三部分:對(duì)象生命周期    20.1 校驗(yàn)    20.2 回調(diào)    20.3 高級(jí)屬性    20.4 事務(wù)   第21章 ACTIONCONTROLLER:路由與URL    21.1 基礎(chǔ)    21.2 請(qǐng)求的路由    21.3 基于資源的路由    21.4 路由的測(cè)試   第22章 ACTIONCONTROLLER和RAILS    22.1 ACTION方法    22.2 COOKIE和SESSION    22.3 FLASH——ACTION之間的通信    22.4 過濾器與校驗(yàn)    22.5 緩存初接觸    22.6 GET請(qǐng)求的問題   第23章 ACTION VIEW    23.1 模板    23.2 使用輔助方法    23.3 用于格式化、鏈接和分頁的輔助方法    23.4 如何使用表單    23.5 包裝模型對(duì)象的表單    23.6 自制表單構(gòu)建器    23.7 處理與模型對(duì)象無關(guān)的字段    23.8 RAILS應(yīng)用的文件上傳    23.9 布局與組件    23.10 再論緩存    23.11 新增模板系統(tǒng)  第24章 WEB 2.0    24.1 PROTOTYPE    24.2 SCRIPT.ACULO.US    24.3 RJS模板    24.4 結(jié)論   第25章 ACTIONMAILER    25.1 發(fā)送郵件    25.2 接收郵件    25.3 電子郵件的測(cè)試   第26章 ACTIVE RESOURCE    26.1 ACTIVE RESOURCE的替代品    26.2 給我看代碼    26.3 關(guān)聯(lián)和集合    26.4 小結(jié)  第4部分 部署和安全   第27章 保護(hù)RAILS應(yīng)用    27.1 SQL注入    27.2 用參數(shù)直接創(chuàng)建記錄    27.3 不要相信ID參數(shù)    27.4 不要暴露控制器方法    27.5 跨站腳本(CSS/XSS)    27.6 防御SESSION定置攻擊    27.7 文件上傳    27.8 不要以明文保存敏感信息    27.9 用SSL傳輸敏感信息    27.10 不要緩存需要身份認(rèn)證的頁面    27.11 知己知彼   第28章 部署與生產(chǎn)    28.1 盡早開始    28.2 生產(chǎn)服務(wù)器如何工作    28.3 安裝PASSENGER    28.4 CAPISTRANO無憂部署    28.5 檢查已部署的應(yīng)用程序    28.6 投入生產(chǎn)運(yùn)行之后的瑣事    28.7 上線,并不斷前進(jìn)  索引

章節(jié)摘錄

  Ruby onRails是一個(gè)框架,一個(gè)使web應(yīng)用的開發(fā)、部署和維護(hù)變得更容易的框架。自從發(fā)布第一個(gè)版本以來,Rails已經(jīng)從一個(gè)默默無聞的玩具蛻變成了一種世界性的現(xiàn)象。它拿下了一個(gè)又一個(gè)的獎(jiǎng)項(xiàng),更重要的是,很多Web 2.0應(yīng)用都選擇它作為基礎(chǔ)框架。Rails已經(jīng)不再只是一小撮黑客推崇的時(shí)髦玩藝:很多跨國(guó)公司正在用它來開發(fā)自己的web應(yīng)用。  為什么會(huì)這樣?有幾個(gè)方面的原因?! ∈紫?,很多開發(fā)者已經(jīng)對(duì)自己開發(fā)web應(yīng)用所使用的技術(shù)深感厭倦。不管使用Java、PHP還是.NET,越來越多的開發(fā)者開始深切地感到:這些東西實(shí)在難用得要死。就在此時(shí),Rails從天而降,而且它要簡(jiǎn)單得多?! H有簡(jiǎn)單是不夠的。這些人都是專業(yè)的軟件開發(fā)者,他們編寫的是真實(shí)的網(wǎng)站應(yīng)用,他們希望自己的產(chǎn)品經(jīng)得起時(shí)間的檢驗(yàn),所以他們總是選擇先進(jìn)而專業(yè)的技術(shù)。這些開發(fā)者們深入研究了Rails,并發(fā)現(xiàn)它不僅僅是一個(gè)快速開發(fā)網(wǎng)站的工具。

編輯推薦

  Ruby on Rails是一個(gè)全套的MVC web框架,它能幫你開發(fā)高質(zhì)量又美觀的web應(yīng)用,而且開發(fā)速度快得出乎你想象。你只須集中精力于應(yīng)用程序本身,Rails就會(huì)幫你搞定一切瑣事。你甚至不需要寫哪怕一行JavaScript代碼,就能開發(fā)出支持各種JavaScript功能的應(yīng)用程序。這幾年來,Rails一直在發(fā)展,這《Web開發(fā)敏捷之道:應(yīng)用Rails進(jìn)行敏捷Web開發(fā)(第3版)》也一直隨它一起發(fā)展。和前兩版一樣,我們還是先帶領(lǐng)讀者一步步構(gòu)造一個(gè)真實(shí)的應(yīng)用程序,然后深入介紹Rails內(nèi)建的各種特性;和前兩版不同,我們?cè)诘?版中重點(diǎn)介紹了Rails對(duì)“資源”的支持,并推薦了當(dāng)今Rails開發(fā)者們的最佳實(shí)踐?! ≡凇禬eb開發(fā)敏捷之道:應(yīng)用Rails進(jìn)行敏捷Web開發(fā)(第3版)》中,你將可以……  ·跟隨一個(gè)完整的教程,親手編寫一個(gè)基于web的在線商店;  ·了解Rails如何消除煩人的配置與瑣事;  ·學(xué)會(huì)如何開發(fā)國(guó)際化的應(yīng)用程序;  ·看到如何在應(yīng)用程序中融入Ajax、REST、webservices和e-maJl處理;  ·在編寫應(yīng)用程序的同時(shí),用內(nèi)建的單元測(cè)試、功能測(cè)試和集成測(cè)試框架來測(cè)試應(yīng)用程序;  ·還有,輕松又安全地部署應(yīng)用程序?!  禬eb開發(fā)敏捷之道:應(yīng)用Rails進(jìn)行敏捷Web開發(fā)(第3版)》基于:Rails2,在此前版本的基礎(chǔ)上做了大量修訂。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    Web開發(fā)敏捷之道 PDF格式下載


用戶評(píng)論 (總計(jì)33條)

 
 

  •   剛開始是一個(gè)案例,照著做。先讓你熟悉下rails的知識(shí),然后再仔細(xì)講解record, controller, 等等各個(gè)部分,非常好的一本書。講的很明白很仔細(xì)。知其然,知其所以然。
    缺點(diǎn):沒有ruby的介紹,所以要想弄明白,最好自己先學(xué)習(xí)下ruby基本知識(shí)。用到rails的版本已經(jīng)不是最新的,命令什么的有一點(diǎn)小變化。但不影響實(shí)用。
    非常好的書,推薦。
  •   ruby這么火,Rails功不可沒,這本書對(duì)Rails開發(fā)講解得還不錯(cuò),不過需要對(duì)ruby有一定功力
  •   將敏捷開發(fā)融入到rails的學(xué)習(xí)之中,rails+敏捷=無敵
  •   無論從質(zhì)量還是從書的內(nèi)容來看都是一本比較不錯(cuò)的書,唯一一點(diǎn)缺陷就是內(nèi)容不夠新,當(dāng)然這是翻譯書的一個(gè)通病是沒有辦法克服的。但是學(xué)習(xí)rails2再結(jié)合官網(wǎng)上的文章對(duì)rails3的理解那是事半功倍的。
  •   包裝完整。書的內(nèi)容也很好。希望盡快出rails3的。不過rails2和rails3的差距并不算太大。
  •   內(nèi)容不錯(cuò),準(zhǔn)備認(rèn)真看完,然后出去找個(gè)rails的工作面試下,看看效果,哈哈...
    書的質(zhì)量很好,拿在手里就激動(dòng).
  •   rails入門不錯(cuò)的書!
  •   內(nèi)容稍微有點(diǎn)老,RoR已經(jīng)升級(jí)了,不過整體內(nèi)容很詳實(shí),讀完能夠開發(fā)出完整可用的一套電商系統(tǒng)。
  •   這本書比較基礎(chǔ),很適合初學(xué)者,第2版有很多錯(cuò),第3版修改了很多,不錯(cuò)不錯(cuò)
  •   看了前幾章,內(nèi)容很不錯(cuò),繼續(xù)看中……
  •   應(yīng)該很好的吧!
  •   為公司買的,應(yīng)該不錯(cuò)
  •   這本書很經(jīng)典,書本身的質(zhì)量也很好!
  •   覆蓋知識(shí)全面,細(xì)節(jié)都有講,很棒的一本書!
  •   寫的好,翻譯的也很好!能把技術(shù)書籍寫得那么風(fēng)趣,強(qiáng)大。物超所值。
  •   書寫得蠻經(jīng)典的~
  •   好東西
  •   送的很快,書也很好~~~
  •   憋著不買第二版快一年了,終于等到第三版中文版,很好!
  •   不錯(cuò)的ROR入門書籍。
  •   等不及第四版了,第三版就夠用了
  •   書挺好的,送貨員服務(wù)也挺好的
  •   適合不想看電子版,想看中文的人使用
  •   可以稱之為手把手教你Rails,下載個(gè)RubyStack就開始操練吧
  •   難怪一拿到手,就感覺薄了點(diǎn)。
    另作者可以開始翻譯第4版了,第4版的beta出來了。
  •   書的版本比電子版舊了,內(nèi)容和編排上有些差別,尤其是新的函數(shù)的寫法有些不一樣
  •   書的紙張稍差點(diǎn),寫的2.0的,跟3.0略有出入啦.入門類圖書吧
  •   好書,就是老版本,能多打點(diǎn)折就更好了
  •   比較好的一本書,看了好幾次,每次都感覺不錯(cuò),學(xué)習(xí)
  •   講解很詳細(xì),適合新手上路的
  •   國(guó)內(nèi)出版商總是比國(guó)外晚N久,這個(gè)版本又過時(shí)了
  •   翻譯的還可以,但是錯(cuò)誤比較多,有比較多地方不一致。。。
  •   由于ROR的資料不多,所以此書還算適合入門
    但書本與電子書比較,有所刪節(jié)
 

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

京ICP備13047387號(hào)-7