TOP
紅利積點抵現金,消費購書更貼心
Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)(簡體書)
滿額折

Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)(簡體書)

商品資訊

人民幣定價:59 元
定價
:NT$ 354 元
優惠價
87308
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:9 點
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》第1版曾榮獲Jolt大獎“最佳技術圖書”獎。在前3版的內容架構基礎上,第4版增加了關于Rails中新特性和最佳實踐的內容。《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》從逐步創建一個真正的應用程序開始,然後介紹Rails的內置功能。全書分為3部分,第一部分介紹Rails的安裝、應用程序驗證、Rails框架的體系結構,以及Ruby語言的知識;第二部分用迭代方式創建應用程序,然後依據敏捷開發模式搭建測試案例,最終用Capistrano完成部署;第三部分有條不紊地補充缺少的知識并涵蓋足以應付日常的實際工作。《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》既有直觀的示例,又有深入的分析,同時涵蓋了Web應用開發中各方面的相關知識,堪稱一部內容全面而又深入淺出的佳作。
《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》適合Ruby和Rails的初級、中級讀者閱讀,并可作為開發人員的參考手冊。

作者簡介

作者:山姆(Sam Ruby) (美國)Dave Thomas (美國)David Heineme 譯者:慕尼黑lsar工作組 駱古道

山姆,(Sam Ruby)是一位卓越的軟件開發者,他是W3C HTML工作組的負責人之一。并在Apactle軟件基金會的許多開源軟件項目中作出了積極的貢獻。他還是IBM新興技術集團的一位高級技術人員。
Dave Thomas是“敏捷宣言”的作者之一,所以他了解敏捷性;因為他是《ProgrammingRuby》一書的作者,所以他又了解Ruby;又因為他是一位活躍的Rails開發者,所以他也了解Rails。
David Heinemeeier Hansson,是Rails框架的創建者。

名人/編輯推薦

《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》編輯推薦:第1版曾獲榮獲Jolt大獎Rails之父代表作。在Ruby on Rails的幫助下,你可以快速創建出美觀且高質量的網站,而且只需要專注于創建應用程序本身,Rails會完成所有細節部分的實現。
成千上萬的開發者通過這本屢獲殊榮的書來學習Rails。它由Rails核心團隊極力推薦。是一本廣泛、深遠的教程和參考書。如果你是一位Rails初學者,《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》會提供入門級指導;如果你是一位經驗豐富的開發者,《Web開發敏捷之道:應用Rails進行敏捷Web開發(原書第4版)》同樣會提供全面、豐富的Rails信息。

目次

對本書的贊譽
譯者序
譯者簡介
第4 版序言
前言
致謝
第一部分 起步
第1章 安裝Rails
1.1 Windows 上的安裝
1.2 Mac OS X 上的安裝
1.3 Linux 上的安裝
1.4 選擇一個Rails 版本
1.5 設置開發環境
1.5.1 命令行
1.5.2 版本控制
1.5.3 編輯器
1.5.4 桌面
1.6 Rails 和數據庫
1.7 本章小結

第2章 即時滿足
2.1 新建一個應用程序
2.2 Hello,Rails !
2.2.1 Rails 和URL 請求
2.2.2 第一個動作
2.2.3 創建動態網頁
2.2.4 動態內容
2.2.5 把時間加上
2.2.6 故事講到現在
2.3 把頁面連起來
2.4 本章小結
2.4.1 練習時間
2.4.2 清理現場

第3章 Rails 應用程序框架
3.1 模型、視圖以及控制器
3.2 Rails 的模型支持
3.2.1 對象- 關系映射
3.2.2 Active Record
3.3 Action Pack :視圖與控制器
3.3.1 視圖支持
3.3.2 還有控制器

第4章 Ruby 簡介
4.1 Ruby 是一門面向對象的語言
4.1.1 Ruby 命名規則
4.1.2 方法
4.2 數據類型
4.2.1 字符串
4.2.2 數組和散列
4.2.3 正則表達式
4.3 邏輯方法
4.3.1 控制結構
4.3.2 代碼塊和迭代器
4.3.3 異常
4.4 組織結構
4.4.1 類
4.4.2 模塊
4.4.3 YAML
4.5 封送對象
4.6 綜合分析
4.7 Ruby 語言習語

第二部分 構建應用程序
第5章 Depot 應用程序
5.1 增量式開發
5.2 Depot 是做什么的
5.2.1 用例
5.2.2 頁面流程
5.2.3 數據
5.3 讓我們來編碼吧

第6章 任務A :創建應用程序
6.1 迭代A1 :創建商品維護的應用程序
6.1.1 創建Rails 應用程序
6.1.2 創建數據庫
6.1.3 生成腳手架
6.1.4 應用遷移
6.1.5 查看商品清單
6.2 迭代A2 :美化商品清單
6.3 本章小結
練習時間

第7章 任務B :驗證和單元測試
7.1 迭代B1 :驗證
7.2 迭代B2 :模型的單元測試
7.2.1 真正單元測試
7.2.2 靜態測試
7.2.3 使用靜態測試數據
7.3 本章小結
練習時間

第8章 任務C :商品目錄顯示
8.1 迭代C1 :創建商品目錄清單
8.2 迭代C2 :增加頁面布局
8.3 迭代C3 :用幫助函數來調整價格格式
8.4 迭代C4 :控制器功能測試
8.5 本章小結
練習時間

第9章 任務D :創建購物車
9.1 迭代D1 :尋找購物車
9.2 迭代D2 :將產品放到購物車中
9.3 迭代D3 : 添加一個按鈕
9.4 本章小結
練習時間

第10章 任務 E :更智能的購物車
10.1 迭代E1 :創建更智能的購物車
10.2 迭代E2 :錯誤處理
10.3 迭代E3 :對購物車的最後加工
10.4 本章小結
練習時間

第11章 任務F :Ajax 初體驗
11.1 迭代F1 :轉移購物車
11.1.1 局部模板
11.1.2 改變流程
11.2 迭代F2 :建立一個基于Ajax的購物車
11.2.1 排疑解難
11.2.2 客戶永遠不會滿足
11.3 迭代F3 :高亮變化
11.4 迭代F4 :隱藏一個空的購物車
11.5 測試Ajax 改變
11.6 本章小結
練習時間

第12章 任務G :付款
12.1 迭代G1 :獲取訂單
12.1.1 創建獲取訂單的表單
12.1.2 獲取訂單細節
12.1.3 最後一個Ajax 更改
12.2 循環G2 :Atom 推送
12.3 迭代G3 :分頁
12.4 本章小結
練習時間

第13章 任務H :發送電子郵件
13.1 迭代H1 :發送確認郵件
13.1.1 配置郵件
13.1.2 發送郵件
13.1.3 郵件模板
13.1.4 生成郵件
13.1.5 發送多內容類型
13.1.6 郵件功能測試
13.2 迭代H2 :應用程序的集成測試
13.3 本章小結
練習時間

第14章 任務I :登錄
14.1 迭代I1 :添加用戶
14.2 迭代I2 :認證用戶
14.3 迭代I3 :限制訪問
14.4 迭代I4 :增加側邊欄,更多管理
14.5 本章小結
練習時間

第15章 任務J :國際化
15.1 迭代 J1 :選擇語言環境
15.2 迭代 J2 :翻譯在線商店頁面
15.3 迭代 J3 :翻譯結賬頁面
15.4 迭代 J4 :添加語言環境的切換器
15.5 本章小結
練習時間

第16章 任務K :部署和產品環境
16.1 迭代 K1 :用Phusion Passenger和MySQL 部署
16.1.1 安裝Passenger
16.1.2 在本地部署應用程序
16.1.3 使用MySQL 數據庫
16.1.4 加載數據庫
16.2 迭代 K2:用Capistrano遠程部署
16.2.1 準備好部署服務器
16.2.2 把應用程序放到版本管理下
16.2.3 遠程部署應用程序
16.2.4 沖洗,洗凈,重復
16.3 迭代 K3 :檢查部署的應用程序
16.3.1 查看日志文件
16.3.2 使用命令行界面來查看實時的應用程序
16.3.3 處理日志文件
16.3.4 開始發行,超越自我
16.4 本章小結
練習時間

第17章 Depot 回顧
17.1 Rails 的概念
17.1.1 模型
17.1.2 視圖
17.1.3 控制器
17.1.4 配置
17.1.5 測試
17.1.6 部署
17.2 文檔化所做的事情

第三部分 深入Rails
第18章 自己去發現Rails(工作)方法
18.1 東西都去哪里了
18.1.1 應用程序的位置
18.1.2 測試的位置
18.1.3 文檔的位置
18.1.4 支持庫的位置
18.1.5 Rake 任務的位置
18.1.6 日志的位置
18.1.7 靜態網頁的位置
18.1.8 腳本的位置
18.1.9 臨時文件的位置
18.1.10 第三方代碼的位置
18.1.11 配置的位置
18.2 命名約定
18.2.1 混合大小寫、下劃線和復數
18.2.2 把控制器分組到模塊中
18.3 本章小結

第19章 Active Record 模塊
19.1 定義數據結構
19.1.1 使用表和字段的規則
19.1.2 Active Record 所提供的附加字段
19.2 查找和遍歷記錄
19.2.1 識別單個行
19.2.2 模型關聯性說明
19.2.3 一對一關聯
19.2.4 一對多關聯
19.2.5 多對多關聯
19.3 創建、讀取、更新和刪除操作
19.3.1 創建新的行記錄
19.3.2 讀取已有行記錄
19.3.3 動態查詢器
19.3.4 SQL 語言與Active Record 模塊
19.3.5 使用like 查詢子句
19.3.6 構造返回記錄的子集
19.3.7 獲取字段統計
19.3.8 范圍函數
19.3.9 編寫自己SQL 語句
19.3.10 重新加載數據
19.3.11 更新現有行記錄
19.3.12 方法save、save!、create和create!
19.3.13 刪除行記錄
19.4 干預跟蹤進程
19.4.1 成組相關回調
19.4.2 觀察器
19.4.3 觀察器實例化
19.5 數據庫事務
19.6 本章小結

第20章 行為調度和行為控制
20.1 分派請求到控制器
20.1.1 REST :表述性狀態轉移
20.1.2 添加附加行為
20.1.3 嵌套資源
20.1.4 淺路由嵌套
20.1.5 選擇數據表述
20.1.6 測試路由
20.2 處理請求
20.2.1 行為方法
20.2.2 控制器環境
20.2.3 用戶響應
20.2.4 呈現模板
20.2.5 發送文件和其他數據
20.2.6 重定向
20.3 持續請求的對象和操作
20.3.1 Rails 會話
20.3.2 會話存儲
20.3.3 比較會話存儲選項
20.3.4 會話逾期與清除
20.3.5 閃存:行為間通信
20.3.6 過濾器
20.3.7 前置和後置過濾器
20.3.8 過濾器繼承
20.4 本章小結

第21章 Action View 模塊
21.1 使用模板
21.1.1 模板存放的位置
21.1.2 模板運行的環境
21.1.3 模板包含的內容
21.2 生成表單
21.3 處理表單
21.4 上傳文件到Rails 應用程序
21.5 使用幫助程序
21.5.1 自定義的幫助程序
21.5.2 格式和鏈接幫助程序
21.5.3 格式幫助程序
21.5.4 鏈接到其他頁面和資源
21.6 用頁面布局和局部模板減輕維護工作
21.6.1 布局
21.6.2 放置布局文件
21.6.3 傳遞數據到布局
21.6.4 局部頁面模板
21.6.5 局部模板和集合
21.6.6 共享模板
21.6.7 局部模板與布局
21.6.8 局部模板和控制器
21.7 本章小結

第22章 緩存
22.1 頁面緩存
22.2 讓頁面失效
22.2.1 顯式地讓頁面失效
22.2.2 挑選緩存存儲策略
22.2.3 隱式地讓頁面失效
22.2.4 讓基于時間的緩存頁面失效
22.2.5 正確處理客戶端緩存
22.2.6 過期頭
22.2.7 最後的修改和ETag 支持
22.3 片段緩存
22.4 本章小結

第23章 數據遷移
23.1 創建和運行遷移
23.2 剖析遷移
23.2.1 字段的類型
23.2.2 重命名字段
23.2.3 修改字段
23.3 表的管理
23.3.1 表的創建選項
23.3.2 表的重命名
23.3.3 rename_table 方法的問題
23.3.4 定義索引
23.3.5 主鍵
23.3.6 沒有主鍵的表
23.4 高級遷移
23.4.1 使用原生 SQL
23.4.2 擴展遷移
23.4.3 自定義消息和基準測試程序
23.5 當遷移變糟時
23.6 遷移外的模式管理
23.7 本章小結

第24章 非瀏覽器應用
24.1 用Active Record 開發獨立應用程序
24.2 使用Active Support 庫功能
24.2.1 核心擴展
24.2.2 附加的Active Support 類
24.2.3 使用 Action View 幫助程序
24.3 使用Active Resource 開發遠程應用程序
24.3.1 訪問和更新簡單屬性
24.3.2 關系和集合
24.3.3 匯總整理
24.4 本章小結

第25章 Rails 包依賴關系
25.1 用構建器生成XML
25.2 用ERb 生成HTML
25.3 用Bundler 管理包依賴關系
25.4 用Rack 實現與Web 服務器的交互
25.5 自動執行任務工具Rake
25.6 Rails 包依賴關系揭秘
25.7 本章小結

第26章 Rails 插件
26.1 信用卡業務處理插件Active Merchant
26.2 節約帶寬的插件Asset Packager
26.3 用Haml 美化標記語言
26.4 用JQuery 少寫多做
26.5 在RailsPlugins.org上找出更多
26.6 本章小結

第27章 整裝進發
參考文獻

書摘/試閱

我們使用程序員常用的編輯器來編寫Ruby程序。這些年來我們發現,不同的編輯器適用于不同的語言和環境。譬如,Dave最初用Emacs來書寫這一章的內容,因為他感覺Emacs的Filladadpt模式非常方便:當輸入文字時,它會巧妙地格式化XML,Sam使用Vim來修改。也有很多人覺得Emacs和Vim都不夠理想,他們更喜歡用TextMate。雖說選擇編輯器是一件私事,但對于合適的Rails編輯器,我們還是可以為你提供一些建議:
·支持Ruby和HTML的語法高亮顯示,最好也支持.erb文件的高亮顯示(這是Rails使用的一種文件格式,在:HTML中嵌入Ruby代碼片段)。
·支持Ruby源代碼的自動縮進和重新縮進。這不僅僅為了美觀:如果編輯器在你輸入代碼的同時還能夠進行自動程序縮進,就可以很容易找出代碼中的錯誤嵌套;能夠支持重新縮進在對代碼進行重構或是移動時也是很重要的。(TextMate可以在從剪貼板粘貼代碼時進行格式重排,這是一個很便利的功能。)
·支持插入常用Ruby和Rails語法結構。在開發的過程中你會編寫很多短小的方法,最好是只按一兩次鍵就讓IDE幫你創建方法骨架,這樣就可以專注于編寫里面真正的功能代碼。
·支持良好的文件瀏覽。正如你將看到的,Rails應用程序分布在很多個文件上。在書寫任何代碼之前,一個新建的Rail應用程序就已經包含了分散在34個目錄中的46個文件。這是編寫代碼之前的狀況。你的開發環境應該能夠幫助你快速地在這些文件之間切換——你可能會在控制器中添加一行代碼,從而加載一個值;然後切換到視圖,添加一行代碼來顯示這個值;然後又切換到測試,添加一個測試方法來驗證一切是否工作正常。像Notepad這樣的編輯器只允許遍歷“打開文件”對話框來選擇要編輯哪個文件,這樣的編輯器是無法滿足要求的。我們希望編輯器同時具備兩種功能:在旁邊有一個樹狀的文件視圖,通過幾個快捷鍵幫助我們根據名字找到文件;在編輯器內部具有一定的智能功能,知道如何,譬如說,從控制器轉到與之相對應的視圖。
·支持名稱補全。Rails中采用的名稱都比較長,一個好的編輯器允許只輸入前幾個字符,然後通過一個快捷鍵提示可能的補全方案。
我們很遺憾地不能列舉所有的編輯器,這是因為我們也只使用過其中的一些,無疑,我們可能漏掉一些人偏愛的編輯器。不過,為了在初學時選擇編輯器,除了Notepad之外,下面這些建議可以作為參考。

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 308
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區