權信息
書 名: RubyonRAils社區網站開
發作 者:(英國)(BradburneM.A)布拉德伯納
出版社: 人民郵電出版社
出版時間: 2008
ISBN: 9787115187086
開本: 16
定價: 55.00 元
內容簡介
《RubyonRails社區網站開發》全面探討創建完整社區網站的開發過程。首先介紹開發一個內容簡單的管理系統,之後逐漸添加新特性,以創建更完整的、使用RubyonRails的Web2.0社區網站。還給出了開發和測試中的一些建議和提示,同時指導如何使網站更生動以及維護得更好。《RubyonRails社區網站開發》也探討了如何與Flickr、GoogleMaps等其他平台集成,如何最佳地利用Rails的Ajax特性,以及如何使網站適應移動設備。
《RubyonRails社區網站開發》適合所有Web開發人員閱讀。
作者簡介
AIanBradburne,資深Web工程師,尤其擅長社區網站開發。他在Web開發領域和移動行業擁有十多年的工作經驗。曾任職於摩托羅拉和Sun等著名企業。他是ROR軟體公司Incrediblinc創辦者之一,此前還-創建了世界上最早的手機照片部落格社區。
編輯推薦
使用Rails開發自己的社區網站,凝聚業界專家多年深厚功力,豐富的實戰經驗與技巧。
“這是一部傑作!有它在手,足以開發出一個真正的社區網站。書中採用了模組化的方法,實例可以非常容易地復用。比如在現有網站中添加社區網路功能。”
——DavidBerube,資深Ruby技術專家,PracticalRubyGems一書作者
“我非常喜歡這《RubyonRails社區網站開發》,相信所有RoR程式設計師都會從中獲益匪淺。”
——LarryWright,資深RoR和敏捷技術專家
社區網站毫無疑問是當今網際網路的大熱點,即使是最傳統的網站,也會考慮添加更多社區網站的特性。正是在這樣的大背景下,橫空出世的RubyonRails也成為無數Web開發人員的新寵。
《RubyonRails社區網站開發》全面展現了構建一個社區網站的開發過程。首先開發一個簡單的內容管理系統,然後逐步添加各種特性。完成一個支持各種Web2.0功能的完整社交網路。從《RubyonRails社區網站開發》中可以學到如何在大型項目中充分運用RubyonRails框架以及各種外掛程式,如何實現社區特有的功能。如何集成Flickr和GoogleMaps等API。《RubyonRails社區網站開發》還提供了很多經過實踐驗證的開發、測試、最佳化及維護方面的經驗和技巧。書中處處體現出作者獨到的洞察力,以及多年開發和指導軟體項目所練就的深厚功力。
目錄
第1章Ruby語言、RubyonRails框架和RailsCoders項目
1.1RailsCoders項目
1.2Ruby語言和RubyonRails框架
1.2.1Ruby語言歷史概況
1.2.2什麼是RubyonRails
1.3搭建RailsCodes網站所需的軟體
1.4升級Rails
1.5安裝Ruby、Rails和MySQL
1.5.1在Windows上安裝
1.5.2在MacOSX中安裝
1.5.3在Linux中安裝
1.6創建Rails應用程式的框架
1.7設定資料庫
1.7.1創建資料庫
1.7.2配置Rails以使用資料庫
1.7.3測試資料庫
1.8小結
第2章開發內容管理系統
2.1確定功能需求
2.2Rails、路由和REST
2.2.1傳統的Rails路由
2.2.2REST方式的Rails路由
2.3構建網站布局
2.4設計頁面和頁面編輯器
2.4.1Page模型
2.4.2頁面控制器
2.5創建Page模型
2.5.1遷移任務
2.5.2生成模型
2.5.3創建控制器
2.5.4設定默認頁面
2.5.5在側欄選單中添加連結
2.6測試
2.6.1創建測試資料庫
2.6.2為Page模型開發單元測試
2.7擴展內容管理系統
2.8小結
第3章添加用戶和組
3.1確定功能需求
3.1.1定義User模型
3.1.2Role模型和連線表
3.1.3控制器
3.1.4會話和Cookie
3.2創建User模型
3.3會話處理庫
3.4創建控制器
3.4.1用戶控制器
3.4.2賬戶控制器
3.5創建用戶賬戶視圖
3.5.1新用戶視圖
3.5.2登錄視圖
3.5.3用戶信息展示視圖
3.6添加管理視圖
3.6.1在索引視圖中列出全部用戶
3.6.2使用edit.rhtml來編輯用戶
3.7測試
3.7.1單元測試
3.7.2功能測試
3.8添加角色
3.8.1創建Role模型和連線表
3.8.2檢測用戶角色
3.8.3管理角色
3.9測試角色功能性
3.10擴展用戶管理系統
3.11小結
第4章搭建提供RSSFeed和API的新聞部落格
4.1確定功能需求
4.1.1Textile標註
4.1.2Article模型
4.1.3定義Category模型
4.1.4編輯角色
4.1.5文章控制器
4.1.6分類控制器
4.2安裝RedClothGem包
4.3創建Article模型和Category模型
4.3.1編寫資料庫遷移任務
4.3.2定義模型間的關聯關係
4.3.3定義驗證
4.3.4刪除分類時自動置空category_id
4.3.5自動更新published_at欄位
4.3.6添加編輯角色
4.4創建文章控制器和視圖
4.4.1映射REST資源
4.4.2文章控制器
4.4.3文章視圖
4.5使用文章功能部件
4.5.1測試XMLAPI
4.5.2為API添加HTTP驗證
4.5.3測試API驗證
4.6創建分類控制器和視圖
4.6.1分類控制器
4.6.2分類視圖
4.6.3在側欄選單中添加連結
4.7手動測試新聞部落格系統
4.8測試新聞部落格
4.8.1功能測試
4.8.2綜合測試
4.9新聞系統的進階開發
4.10小結
第5章搭建交流論壇
5.1確定交流論壇的功能需求
5.1.1定義Forum模型
5.1.2定義Topic模型
5.1.3定義Post模型
5.1.4版主角色
5.1.5論壇控制器、主題控制器和帖子控制器
5.2搭建論壇
5.2.1創建Forum模型、Topic模型和Post模型
5.2.2檢測用戶角色的版主許可權
5.2.3添加嵌套的資源路由映射
5.2.4修改布局模板和樣式表
5.2.5論壇控制器及其對應的視圖
5.2.6主題控制器及其對應的視圖
5.2.7帖子控制器及其對應的視圖
5.2.8在側欄選單中添加連結
5.2.9測試主題和帖子
5.2.10限制版主之外的用戶訪問行為方法
5.3測試論壇
5.3.1創建測試夾具
5.3.2創建功能測試
5.4交流論壇的進階開發
5.5小結
第6章構建支持Web服務的部落格引擎
6.1確定部落格引擎的功能需求
6.1.1Entry模型
6.1.2Comment模型
6.1.3User模型
6.1.4日誌控制器
6.1.5評論控制器
6.1.6部落格控制器
6.1.7部落格API
6.2構建部落格系統
6.2.1部落格的框架代碼
6.2.2編寫遷移任務
6.2.3模型間的關聯關係和驗證
6.2.4創建資源映射
6.2.5部落格名稱輔助方法
6.2.6為用戶資料頁面添加部落格標題
6.2.7控制器和視圖
6.2.8測試日誌控制器
6.2.9創建並測試評論控制器
6.2.10為用戶資料添加最新部落格日誌
6.2.11部落格控制器
6.3創建XML-RPC部落格接口
6.3.1ActionWebService
6.3.2生成Web服務代碼
6.3.3定義API方法調用
6.3.4編寫部落格API方法代碼
6.3.5測試Web服務
6.3.6使用桌面部落格客戶端工具進行測試
6.3.7自動測試部落格API
6.4部落格系統的進階開發
6.5小結
第7章構建相冊
7.1處理上傳的檔案
7.2attachment_fu外掛程式
7.3相冊的功能需求
7.3.1定義Photo模型
7.3.2照片控制器
7.4安裝ImageMagick、RMagick和attachment_fu
7.4.1Windows下的安裝
7.4.2OSX下的安裝
7.4.3Linux下的安裝
7.4.4安裝attachment_fu外掛程式
7.5建立相冊
7.5.1生成框架代碼
7.5.2編寫遷移任務
7.5.3創建Photo模型及相應的關聯關係
7.5.4映射照片資源
7.5.5照片控制器和用戶照片控制器
7.5.6照片視圖
7.6手動測試相冊
7.7編寫測試用例
7.7.1創建照片夾具
7.7.2單元測試
7.7.3功能測試
7.8相冊功能的進階開發
7.9小結
第8章傳送電子郵件並建立新聞公告郵件列表
8.1使用ActionMailer
8.2確定電子郵件功能需求
8.2.1新評論的電子郵件通知
8.2.2新聞公告郵件
8.3建立新評論通知器
8.3.1創建郵件傳送器
8.3.2手動測試電子郵件的創建
8.3.3從評論控制器調用郵件傳送器
8.3.4從應用程式內部測試郵件傳送器
8.3.5自動郵件傳送器的測試
8.4建立新聞公告功能
8.4.1安裝ar_mailer
8.4.2創建框架資源
8.4.3映射新聞公告資源
8.4.4Newsletter模型
8.4.5編寫新聞公告控制器及其對應的視圖
8.4.6創建新聞公告傳送器
8.4.7在側欄選單中添加新聞公告
8.4.8測試新聞公告郵件傳送系統
8.5電子郵件系統的進階開發
8.6小結
第9章添加帶有XFN詳細信息的好友
9.1微格式和XFN
9.2好友功能需求
9.2.1Friends資源
9.2.2顯示用戶最近的活動
9.3建立Friends資源
9.3.1建立資料庫遷移
9.3.2建立Friends資源
9.3.3更新用戶最近活動信息
9.3.4好友控制器及其對應的視圖
9.3.5在側欄中添加好友連結
9.4美化好友列表
9.5測試
9.6好友功能的進階開發
9.7小結
第10章為相冊添加標籤
10.1相冊標註的功能需求
10.2使用Rails實現標註
10.3acts_as_taggable_on_steroids外掛程式
10.4構建照片標註功能
10.4.1安裝acts_as_taggable_on_steroids外掛程式
10.4.2創建資料庫表
10.4.3更新模型
10.4.4創建控制器
10.4.5添加資源映射
10.4.6編寫控制器和視圖
10.4.7為照片添加標籤
10.4.8連結到標籤瀏覽器
10.5手動測試
10.6標籤系統的進一步開發
10.7小結
第11章結合Web2.0創建Mashup
11.1集成GoogleMapsAPI
11.1.1地圖功能需求
11.1.2構建地圖功能
11.2集成FlickrAPI
11.2.1Flickr功能需求
11.2.2構建Flickr集成功能
11.3使用Mashup做進一步開發
11.4小結
第12章為部落格引擎添加個性化主題
12.1部落格模板需求
12.2Liquid模板
12.2.1LiquidAPI
12.2.2Liquid標記
12.3安裝Liquid8
12.4構建部落格模板功能
12.4.1創建Liquiddrop
12.4.2創建Liquid過濾器
12.4.3Usertemplate模型
12.4.4用戶模板控制器
12.4.5用戶模板視圖
12.4.6呈現Liquid模板
12.5手動測試
12.6測試用戶模板控制器
12.7用戶模板的進階開發
12.8小結
第13章添加移動接口
13.1行動網路
13.2RailsCoders移動網站需求
13.2.1布局
13.2.2用戶資料
13.2.3賬戶
13.2.4頁面
13.2.5新聞
13.2.6論壇
13.2.7部落格
13.2.8相冊
13.3開發RailsCoders網站的移動版本
13.3.1移動應用程式的架構
13.3.2創建移動布局和樣式表
13.3.3資源映射
13.3.4移動控制器和視圖
13.4手動測試
13.5測試移動網站
13.6移動網站的進階開發
13.7小結
第14章部署、最佳化和擴展應用程式
14.1部署RailsCoders網站
14.1.1開發模式和產品模式
14.1.2會話存儲
14.1.3選擇主機
14.1.4選擇Web伺服器
14.1.5利用Capistrano和Deprec實現自動化部署
14.2最佳化和擴展RailsCoders
14.2.1觀察日誌檔案
14.2.2快取
14.2.3基準測試
14.3小結
……