《web開發敏捷之道:應用rails進行敏捷web開發(原書第4版)》第1版曾榮獲jolt大獎“最佳技術圖書”獎。在前3版的內容架構基礎上,第4版增加了關於rails中新特性和最佳實踐的內容。本書從逐步創建一個真正的應用程式開始,然後介紹rails的內置功能。全書分為3部分,第一部分介紹rails的 ...
《web開發敏捷之道:應用rails進行敏捷web開發(原書第4版)》第1版曾榮獲jolt大獎“最佳技術圖書”獎。在前3版的內容架構基礎上,第4版增加了關於rails中新特性和最佳實踐的內容。本書從逐步創建一個真正的應用程式開始,然後介紹rails的內置功能。全書分為3部分,第一部分介紹rails的安裝、應用程式驗證、rails框架的體繫結構,以及ruby語言的知識;第二部分用迭代方式創建應用程式,然後依據敏捷開發模式搭建測試案例,最終用capistrano完成部署;第三部分有條不紊地補充缺少的知識並涵蓋足以應付日常的實際工作。本書既有直觀的示例,又有深入的分析,同時涵蓋了web應用開發中各方面的相關知識,堪稱一部內容全面而又深入淺出的佳作。 《web開發敏捷之道:應用rails進行敏捷web開發(原書第4版)》適合ruby和rails的初級、中級讀者閱讀,並可作為開發人員的參考手冊。 教程地址:Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版) 中文pdf掃描版 web開發敏捷之道:應用rails進行敏捷web開發(原書第4版)目錄: 對本書的贊譽 譯者序 譯者簡介 第4 版序言 前言 致謝 第一部分 起步 第1 章 安裝rails 1 1.1 windows 上的安裝 1 1.2 mac os x 上的安裝 3 1.3 linux 上的安裝 4 1.4 選擇一個rails 版本 5 1.5 設置開發環境 6 1.5.1 命令行 6 1.5.2 版本控制 6 1.5.3 編輯器 7 1.5.4 桌面 8 1.6 rails 和資料庫 9 1.7 本章小結 10 .第2 章 即時滿足 11 2.1 新建一個應用程式 11 2.2 hello,rails ! 13 2.2.1 rails 和url 請求 14 2.2.2 第一個動作 14 2.2.3 創建動態網頁 15 2.2.4 動態內容 15 2.2.5 把時間加上 16 2.2.6 故事講到現在 17 2.3 把頁面連起來 18 2.4 本章小結 20 2.4.1 練習時間 20 2.4.2 清理現場 21 第3 章 rails 應用程式框架 22 3.1 模型、視圖以及控制器 22 3.2 rails 的模型支持 24 3.2.1 對象- 關係映射 24 3.2.2 active record 25 3.3 action pack :視圖與控制器 26 3.3.1 視圖支持 26 3.3.2 還有控制器 26 第4 章 ruby 簡介 28 4.1 ruby 是一門面向對象的語言 28 4.1.1 ruby 命名規則 29 4.1.2 方法 29 4.2 數據類型 30 4.2.1 字元串 30 4.2.2 數組和散列 30 4.2.3 正則表達式 32 4.3 邏輯方法 32 4.3.1 控制結構 32 4.3.2 代碼塊和迭代器 33 4.3.3 異常 34 4.4 組織結構 34 4.4.1 類 34 4.4.2 模塊 36 4.4.3 yaml 36 4.5 封送對象 37 4.6 綜合分析 37 4.7 ruby 語言習語 38 第二部分 構建應用程式 第5 章 depot 應用程式 41 5.1 增量式開發 41 5.2 depot 是做什麼的 42 5.2.1 用例 42 5.2.2 頁面流程 42 5.2.3 數據 44 5.3 讓我們來編碼吧 45 第6 章 任務a :創建應用程式 46 6.1 迭代a1 :創建商品維護的應用程式 46 6.1.1 創建rails 應用程式 46 6.1.2 創建資料庫 46 6.1.3 生成腳手架 47 6.1.4 應用遷移 48 6.1.5 查看商品清單 49 6.2 迭代a2 :美化商品清單 51 6.3 本章小結 54 練習時間 55 第7 章 任務b :驗證和單元測試 57 7.1 迭代b1 :驗證 57 7.2 迭代b2 :模型的單元測試 60 7.2.1 真正單元測試 61 7.2.2 靜態測試 63 7.2.3 使用靜態測試數據 66 7.3 本章小結 67 練習時間 67 第8 章 任務c :商品目錄顯示 68 8.1 迭代c1 :創建商品目錄清單 68 8.2 迭代c2 :增加頁面佈局 71 8.3 迭代c3 :用幫助函數來調整價格格式 74 8.4 迭代c4 :控制器功能測試 74 8.5 本章小結 77 練習時間 77 第9 章 任務d :創建購物車 78 9.1 迭代d1 :尋找購物車 78 9.2 迭代d2 :將產品放到購物車中 79 9.3 迭代d3 : 添加一個按鈕 81 9.4 本章小結 85 練習時間 85 第10 章 任務 e :更智能的購物車 86 10.1 迭代e1 :創建更智能的購物車 86 10.2 迭代e2 :錯誤處理 90 10.3 迭代e3 :對購物車的最後加工 92 10.4 本章小結 96 練習時間 96 第11 章 任務f :ajax 初體驗 97 11.1 迭代f1 :轉移購物車 97 11.1.1 局部模板 97 11.1.2 改變流程 101 11.2 迭代f2 :建立一個基於ajax的購物車 102 11.2.1 排疑解難 103 11.2.2 客戶永遠不會滿足 104 11.3 迭代f3 :高亮變化 104 11.4 迭代f4 :隱藏一個空的購物車 106 11.5 測試ajax 改變 110 11.6 本章小結 111 練習時間 112 第12 章 任務g :付款 113 12.1 迭代g1 :獲取訂單 113 12.1.1 創建獲取訂單的表單 114 12.1.2 獲取訂單細節 120 12.1.3 最後一個ajax 更改 124 12.2 迴圈g2 :atom 推送 125 12.3 迭代g3 :分頁 128 12.4 本章小結 131 練習時間 131 第13 章 任務h :發送電子郵件 132 13.1 迭代h1 :發送確認郵件 132 13.1.1 配置郵件 132 13.1.2 發送郵件 133 13.1.3 郵件模板 134 13.1.4 生成郵件 135 13.1.5 發送多內容類型 136 13.1.6 郵件功能測試 137 13.2 迭代h2 :應用程式的集成測試 138 13.3 本章小結 142 練習時間 142 第14 章 任務i :登錄 143 14.1 迭代i1 :添加用戶 143 14.2 迭代i2 :認證用戶 150 14.3 迭代i3 :限制訪問 155 14.4 迭代i4 :增加側邊欄,更多管理 157 14.5 本章小結 160 練習時間 160 第15 章 任務j :國際化 161 15.1 迭代 j1 :選擇語言環境 161 15.2 迭代 j2 :翻譯線上商店頁面 164 15.3 迭代 j3 :翻譯結賬頁面 169 15.4 迭代 j4 :添加語言環境的切換器 174 15.5 本章小結 175 練習時間 176 第16 章 任務k :部署和產品環境 177 16.1 迭代 k1 :用phusion passenger和mysql 部署 178 16.1.1 安裝passenger 178 16.1.2 在本地部署應用程式 179 16.1.3 使用mysql 資料庫 180 16.1.4 載入資料庫182 16.2 迭代 k2:用capistrano遠程部署 183 16.2.1 準備好部署伺服器 183 16.2.2 把應用程式放到版本管理下 184 16.2.3 遠程部署應用程式 185 16.2.4 沖洗,洗凈,重覆 187 16.3 迭代 k3 :檢查部署的應用程式 188 16.3.1 查看日誌文件 188 16.3.2 使用命令行界面來查看實時的應用程式 188 16.3.3 處理日誌文件 189 16.3.4 開始發行,超越自我 189 16.4 本章小結 190 練習時間 190 第17 章 depot 回顧 191 17.1 rails 的概念 191 17.1.1 模型191 17.1.2 視圖192 17.1.3 控制器 192 17.1.4 配置192 17.1.5 測試193 17.1.6 部署193 17.2 文檔化所做的事情 193 第三部分 深入rails 第18 章 自己去發現rails(工作)方法 195 18.1 東西都去哪裡了 195 18.1.1 應用程式的位置 197 18.1.2 測試的位置197 18.1.3 文檔的位置197 18.1.4 支持庫的位置 198 18.1.5 rake 任務的位置 199 18.1.6 日誌的位置200 18.1.7 靜態網頁的位置 200 18.1.8 腳本的位置200 18.1.9 臨時文件的位置 201 18.1.10 第三方代碼的位置 201 18.1.11 配置的位置 201 18.2 命名約定 202 18.2.1 混合大小寫、下劃線和複數 202 18.2.2 把控制器分組到模塊中 203 18.3 本章小結 205 第19 章 active record 模塊 206 19.1 定義數據結構 206 19.1.1 使用表和欄位的規則 206 19.1.2 active record 所提供的附加欄位 209 19.2 查找和遍歷記錄 210 19.2.1 識別單個行210 19.2.2 模型關聯性說明 211 19.2.3 一對一關聯211 19.2.4 一對多關聯212 19.2.5 多對多關聯212 19.3 創建、讀取、更新和刪除操作 213 19.3.1 創建新的行記錄 213 19.3.2 讀取已有行記錄 215 19.3.3 動態查詢器216 19.3.4 sql 語言與active record 模塊 217 19.3.5 使用like 查詢子句 218 19.3.6 構造返回記錄的子集 219 19.3.7 獲取欄位統計 221 19.3.8 範圍函數 221 19.3.9 編寫自己sql 語句 222 19.3.10 重新載入數據 224 19.3.11 更新現有行記錄 224 19.3.12 方法save、save!、create和create! 225 19.3.13 刪除行記錄 226 19.4 干預跟蹤進程 227 19.4.1 成組相關回調 228 19.4.2 觀察器 231 19.4.3 觀察器實例化 232 19.5 資料庫事務 232 19.6 本章小結 235 第20 章 行為調度和行為控制 237 20.1 分派請求到控制器 237 20.1.1 rest :表述性狀態轉移 238 20.1.2 添加附加行為 243 20.1.3 嵌套資源 243 20.1.4 淺路由嵌套243 20.1.5 選擇數據表述 244 20.1.6 測試路由 245 20.2 處理請求 246 20.2.1 行為方法 246 20.2.2 控制器環境246 20.2.3 用戶響應 248 20.2.4 呈現模板 248 20.2.5 發送文件和其他數據 251 20.2.6 重定向 253 20.3 持續請求的對象和操作 255 20.3.1 rails 會話 255 20.3.2 會話存儲 257 20.3.3 比較會話存儲選項 258 20.3.4 會話逾期與清除 259 20.3.5 快閃記憶體:行為間通信 259 20.3.6 過濾器 260 20.3.7 前置和後置過濾器 260 20.3.8 過濾器繼承261 20.4 本章小結 261 第21 章 action view 模塊 263 21.1 使用模板 263 21.1.1 模板存放的位置 263 21.1.2 模板運行的環境 264 21.1.3 模板包含的內容 264 21.2 生成表單 265 21.3 處理表單 267 21.4 上傳文件到rails 應用程式 268 21.5 使用幫助程式 271 21.5.1 自定義的幫助程式 272 21.5.2 格式和鏈接幫助程式 272 21.5.3 格式幫助程式 272 21.5.4 鏈接到其他頁面和資源 274 21.6 用頁面佈局和局部模板減輕維護工作 277 21.6.1 佈局277 21.6.2 放置佈局文件 278 21.6.3 傳遞數據到佈局 279 21.6.4 局部頁面模板 281 21.6.5 局部模板和集合 282 21.6.6 共用模板 283 21.6.7 局部模板與佈局 283 21.6.8 局部模板和控制器 283 21.7 本章小結 283 第22 章 緩存 285 22.1 頁面緩存 285 22.2 讓頁面失效 287 22.2.1 顯式地讓頁面失效 287 22.2.2 挑選緩存存儲策略 288 22.2.3 隱式地讓頁面失效 289 22.2.4 讓基於時間的緩存頁面失效 290 22.2.5 正確處理客戶端緩存 291 22.2.6 過期頭 291 22.2.7 最後的修改和etag 支持 291 22.3 片段緩存 292 22.4 本章小結 296 第23 章 數據遷移 297 23.1 創建和運行遷移 297 23.2 剖析遷移 299 23.2.1 欄位的類型300 23.2.2 重命名欄位301 23.2.3 修改欄位 302 23.3 表的管理 302 23.3.1 表的創建選項 303 23.3.2 表的重命名304 23.3.3 rename_table 方法的問題 304 23.3.4 定義索引 305 23.3.5 主鍵306 23.3.6 沒有主鍵的表 306 23.4 高級遷移 306 23.4.1 使用原生 sql 307 23.4.2 擴展遷移 307 23.4.3 自定義消息和基準測試程式 309 23.5 當遷移變糟時 309 23.6 遷移外的模式管理 310 23.7 本章小結 311 第24 章 非瀏覽器應用 312 24.1 用active record 開發獨立應用程式 312 24.2 使用active support 庫功能 313 24.2.1 核心擴展 313 24.2.2 附加的active support 類 315 24.2.3 使用 action view 幫助程式 317 24.3 使用active resource 開發遠程應用程式 317 24.3.1 訪問和更新簡單屬性 317 24.3.2 關係和集合318 24.3.3 彙總整理 320 24.4 本章小結 321 第25 章 rails 包依賴關係 322 25.1 用構建器生成xml 25.2 用erb 生成html 323 25.3 用bundler 管理包依賴關係 325 25.4 用rack 實現與web 伺服器的交互 327 25.5 自動執行任務工具rake 330 25.6 rails 包依賴關係揭秘 331 25.7 本章小結 333 第26 章 rails 插件 334 26.1 信用卡業務處理插件active merchant 334 26.2 節約帶寬的插件asset packager 335 26.3 用haml 美化標記語言 337 26.4 用jquery 少寫多做 339 26.5 在railsplugins.org上找出更多 342 26.6 本章小結 343 第27 章 整裝進發 344 參考文獻 345