出版時(shí)間:2008-10 出版社:人民郵電出版社 作者:布拉德伯納 頁(yè)數(shù):341 字?jǐn)?shù):520000 譯者:柳靖
Tag標(biāo)簽:無(wú)
前言
對(duì)于因特網(wǎng)用戶而言,社區(qū)網(wǎng)站變得越來越流行,越來越重要。許多人通過網(wǎng)站和朋友們保持聯(lián)系,如Facebook和IMySpace網(wǎng)站,以及其他一些如L,inkedln這樣的允許人們互聯(lián)并討論商業(yè)話題的網(wǎng)站?! ubyonRails框架大幅度減少了開發(fā)復(fù)雜、可維護(hù)和可擴(kuò)展的web應(yīng)用程序的障礙,這使它成為開發(fā)者的一個(gè)重要工具,進(jìn)而被用來構(gòu)建為滿足特定社區(qū)獨(dú)特需求而定制的社區(qū)網(wǎng)站?! ”緯蚰憬榻B如何使用RubyonRails框架以及一些可用的插件和工具,從而為你自己的社區(qū)構(gòu)建一個(gè)獨(dú)特的網(wǎng)站。讀者對(duì)象 本書面向那些準(zhǔn)備學(xué)習(xí)使用RubyonRails框架來構(gòu)建現(xiàn)實(shí)世界中Webl立用程序的開發(fā)人員,針對(duì)這樣一些人:他們已經(jīng)完成了一些Rails示例向?qū)С绦?,開發(fā)過應(yīng)用程序,如今想要鞏固自己的技能并用Rails開發(fā)社區(qū)網(wǎng)站。本書結(jié)構(gòu) 本書將講解Rai。lsCoders社區(qū)網(wǎng)站的搭建過程。每一章將針對(duì)網(wǎng)站的不同功能展開,說明功能需求并編寫相關(guān)代碼。你可以使用書中的全部代碼來輕松構(gòu)建自己的社區(qū)網(wǎng)站,或在此基礎(chǔ)上改寫代碼使每項(xiàng)功能都滿足你自己的需求?! ”緯蔷W(wǎng)站開發(fā)的實(shí)踐指導(dǎo),而不是Rails參考書或指南。我將在書中給出一些有用的資源作為本書的補(bǔ)充信息。
內(nèi)容概要
本書全面探討創(chuàng)建完整社區(qū)網(wǎng)站的開發(fā)過程。首先介紹開發(fā)一個(gè)內(nèi)容簡(jiǎn)單的管理系統(tǒng),之后逐漸添加新特性,以創(chuàng)建更完整的、使用Ruby on Rails 的Web 2.0 社區(qū)網(wǎng)站。還給出了開發(fā)和測(cè)試中的一些建議和提示,同時(shí)指導(dǎo)如何使網(wǎng)站更生動(dòng)以及維護(hù)得更好。本書也探討了如何與Flickr 、Google Maps 等其他平臺(tái)集成,如何最佳地利用Rails 的Ajax 特性,以及如何使網(wǎng)站適應(yīng)移動(dòng)設(shè)備。 本書適合所有Web 開發(fā)人員閱讀。
作者簡(jiǎn)介
AIan Bradburne,資深Web工程師,尤其擅長(zhǎng)社區(qū)網(wǎng)站開發(fā)。他在Web開發(fā)領(lǐng)域和移動(dòng)行業(yè)擁有十多 年的工作經(jīng)驗(yàn)。曾任職于摩托羅拉和Sun等著名企業(yè)。他是RoR軟件公司Incrediblinc創(chuàng)辦者之一,此前還-創(chuàng)建了世界上最早的手機(jī)照片博客社區(qū)Phlog.net。可以通過http://alanbradburne
書籍目錄
第1章 Ruby語(yǔ)言、Ruby on Rails 框架和RailsCoders項(xiàng)目 1.1 RailsCoders項(xiàng)目 1.2 Ruby語(yǔ)言和Ruby on Rails框架 1.2.1 Ruby語(yǔ)言歷史概況 1.2.2 什么是Ruby on Rails 1.3 搭建RailsCodes網(wǎng)站所需的軟件 1.4 升級(jí)Rails 1.5 安裝Ruby、Rails和MySQL 1.5.1 在Windows上安裝 1.5.2 在Mac OS X中安裝 1.5.3 在Linux中安裝 1.6 創(chuàng)建Rails應(yīng)用程序的框架 1.7 設(shè)置數(shù)據(jù)庫(kù) 1.7.1 創(chuàng)建數(shù)據(jù)庫(kù) 1.7.2 配置Rails以使用數(shù)據(jù)庫(kù) 1.7.3 測(cè)試數(shù)據(jù)庫(kù) 1.8 小結(jié)第2章 開發(fā)內(nèi)容管理系統(tǒng) 2.1 確定功能需求 2.2 Rails、路由和REST 2.2.1 傳統(tǒng)的Rails路由 2.2.2 REST方式的Rails路由 2.3 構(gòu)建網(wǎng)站布局 2.4 設(shè)計(jì)頁(yè)面和頁(yè)面編輯器 2.4.1 Page模型 2.4.2 頁(yè)面控制器 2.5 創(chuàng)建Page模型 2.5.1 遷移任務(wù) 2.5.2 生成模型 2.5.3 創(chuàng)建控制器 2.5.4 設(shè)置默認(rèn)頁(yè)面 2.5.5 在側(cè)欄菜單中添加鏈接 2.6 測(cè)試 2.6.1 創(chuàng)建測(cè)試數(shù)據(jù)庫(kù) 2.6.2 為Page模型開發(fā)單元測(cè)試 2.7 擴(kuò)展內(nèi)容管理系統(tǒng) 2.8 小結(jié)第3章 添加用戶和組 3.1 確定功能需求 3.1.1 定義User模型 3.1.2 Role模型和連接表 3.1.3 控制器 3.1.4 會(huì)話和Cookie 3.2 創(chuàng)建User模型 3.3 會(huì)話處理庫(kù) 3.4 創(chuàng)建控制器 3.4.1 用戶控制器 3.4.2 賬戶控制器 3.5 創(chuàng)建用戶賬戶視圖 3.5.1 新用戶視圖 3.5.2 登錄視圖 3.5.3 用戶信息展示視圖 3.6 添加管理視圖 3.6.1 在索引視圖中列出全部用戶 3.6.2 使用edit.rhtml來編輯用戶 3.7 測(cè)試 3.7.1 單元測(cè)試 3.7.2 功能測(cè)試 3.8 添加角色 3.8.1 創(chuàng)建Role模型和連接表 3.8.2 檢測(cè)用戶角色 3.8.3 管理角色 3.9 測(cè)試角色功能性 3.10 擴(kuò)展用戶管理系統(tǒng) 3.11 小結(jié)第4章 搭建提供RSS Feed和API的新聞博客 4.1 確定功能需求 4.1.1 Textile標(biāo)注 4.1.2 Article模型 4.1.3 定義Category模型 4.1.4 編輯角色 4.1.5 文章控制器 4.1.6 分類控制器 4.2 安裝RedCloth Gem包 4.3 創(chuàng)建Article模型和Category模型 4.3.1 編寫數(shù)據(jù)庫(kù)遷移任務(wù) 4.3.2 定義模型間的關(guān)聯(lián)關(guān)系 4.3.3 定義驗(yàn)證 4.3.4 刪除分類時(shí)自動(dòng)置空category_id 4.3.5 自動(dòng)更新published_at字段 4.3.6 添加編輯角色 4.4 創(chuàng)建文章控制器和視圖 4.4.1 映射REST資源 4.4.2 文章控制器 4.4.3 文章視圖 4.5 使用文章功能部件 4.5.1 測(cè)試XML API 4.5.2 為API添加HTTP驗(yàn)證 4.5.3 測(cè)試API驗(yàn)證 4.6 創(chuàng)建分類控制器和視圖 4.6.1 分類控制器 4.6.2 分類視圖 4.6.3 在側(cè)欄菜單中添加鏈接 4.7 手動(dòng)測(cè)試新聞博客系統(tǒng) 4.8 測(cè)試新聞博客 4.8.1 功能測(cè)試 4.8.2 綜合測(cè)試 4.9 新聞系統(tǒng)的進(jìn)階開發(fā) 4.10 小結(jié)第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 創(chuàng)建Forum模型、Topic模型和Post模型 5.2.2 檢測(cè)用戶角色的版主權(quán)限 5.2.3 添加嵌套的資源路由映射 5.2.4 修改布局模板和樣式表 5.2.5 論壇控制器及其對(duì)應(yīng)的視圖 5.2.6 主題控制器及其對(duì)應(yīng)的視圖 5.2.7 帖子控制器及其對(duì)應(yīng)的視圖 5.2.8 在側(cè)欄菜單中添加鏈接 5.2.9 測(cè)試主題和帖子 5.2.10 限制版主之外的用戶訪問行為方法 5.3 測(cè)試論壇 5.3.1 創(chuàng)建測(cè)試夾具 5.3.2 創(chuàng)建功能測(cè)試 5.4 交流論壇的進(jìn)階開發(fā) 5.5 小結(jié)第6章 構(gòu)建支持Web服務(wù)的博客引擎 6.1 確定博客引擎的功能需求 6.1.1 Entry模型 6.1.2 Comment模型 6.1.3 User模型 6.1.4 日志控制器 6.1.5 評(píng)論控制器 6.1.6 博客控制器 6.1.7 博客API 6.2 構(gòu)建博客系統(tǒng) 6.2.1 博客的框架代碼 6.2.2 編寫遷移任務(wù) 6.2.3 模型間的關(guān)聯(lián)關(guān)系和驗(yàn)證 6.2.4 創(chuàng)建資源映射 6.2.5 博客名稱輔助方法 6.2.6 為用戶資料頁(yè)面添加博客標(biāo)題 6.2.7 控制器和視圖 6.2.8 測(cè)試日志控制器 6.2.9 創(chuàng)建并測(cè)試評(píng)論控制器 6.2.10 為用戶資料添加最新博客日志 6.2.11 博客控制器 6.3 創(chuàng)建XML-RPC博客接口 6.3.1 Action Web Service 6.3.2 生成Web服務(wù)代碼 6.3.3 定義API方法調(diào)用 6.3.4 編寫博客API方法代碼 6.3.5 測(cè)試Web服務(wù) 6.3.6 使用桌面博客客戶端工具進(jìn)行測(cè)試 6.3.7 自動(dòng)測(cè)試博客API 6.4 博客系統(tǒng)的進(jìn)階開發(fā) 6.5 小結(jié)第7章 構(gòu)建相冊(cè) 7.1 處理上傳的文件 7.2 attachment_fu插件 7.3 相冊(cè)的功能需求 7.3.1 定義Photo模型 7.3.2 照片控制器 7.4 安裝ImageMagick、RMagick和attachment_fu 7.4.1 Windows下的安裝 7.4.2 OS X下的安裝 7.4.3 Linux下的安裝 7.4.4 安裝attachment_fu插件 7.5 建立相冊(cè) 7.5.1 生成框架代碼 7.5.2 編寫遷移任務(wù) 7.5.3 創(chuàng)建Photo模型及相應(yīng)的關(guān)聯(lián)關(guān)系 7.5.4 映射照片資源 7.5.5 照片控制器和用戶照片控制器 7.5.6 照片視圖 7.6 手動(dòng)測(cè)試相冊(cè) 7.7 編寫測(cè)試用例 7.7.1 創(chuàng)建照片夾具 7.7.2 單元測(cè)試 7.7.3 功能測(cè)試 7.8 相冊(cè)功能的進(jìn)階開發(fā) 7.9 小結(jié)第8章 發(fā)送電子郵件并建立新聞公告郵件列表 8.1 使用ActionMailer 8.2 確定電子郵件功能需求 8.2.1 新評(píng)論的電子郵件通知 8.2.2 新聞公告郵件 8.3 建立新評(píng)論通知器 8.3.1 創(chuàng)建郵件發(fā)送器 8.3.2 手動(dòng)測(cè)試電子郵件的創(chuàng)建 8.3.3 從評(píng)論控制器調(diào)用郵件發(fā)送器 8.3.4 從應(yīng)用程序內(nèi)部測(cè)試郵件發(fā)送器 8.3.5 自動(dòng)郵件發(fā)送器的測(cè)試 8.4 建立新聞公告功能 8.4.1 安裝ar_mailer 8.4.2 創(chuàng)建框架資源 8.4.3 映射新聞公告資源 8.4.4 Newsletter模型 8.4.5 編寫新聞公告控制器及其對(duì)應(yīng)的視圖 8.4.6 創(chuàng)建新聞公告發(fā)送器 8.4.7 在側(cè)欄菜單中添加新聞公告 8.4.8 測(cè)試新聞公告郵件發(fā)送系統(tǒng) 8.5 電子郵件系統(tǒng)的進(jìn)階開發(fā) 8.6 小結(jié)第9章 添加帶有XFN詳細(xì)信息的好友 9.1 微格式和XFN 9.2 好友功能需求 9.2.1 Friends資源 9.2.2 顯示用戶最近的活動(dòng) 9.3 建立Friends資源 9.3.1 建立數(shù)據(jù)庫(kù)遷移 9.3.2 建立Friends資源 9.3.3 更新用戶最近活動(dòng)信息 9.3.4 好友控制器及其對(duì)應(yīng)的視圖 9.3.5 在側(cè)欄中添加好友鏈接 9.4 美化好友列表 9.5 測(cè)試 9.6 好友功能的進(jìn)階開發(fā) 9.7 小結(jié)第10章 為相冊(cè)添加標(biāo)簽 10.1 相冊(cè)標(biāo)注的功能需求 10.2 使用Rails實(shí)現(xiàn)標(biāo)注 10.3 acts_as_taggable_on_steroids插件 10.4 構(gòu)建照片標(biāo)注功能 10.4.1 安裝acts_as_taggable_on_steroids插件 10.4.2 創(chuàng)建數(shù)據(jù)庫(kù)表 10.4.3 更新模型 10.4.4 創(chuàng)建控制器 10.4.5 添加資源映射 10.4.6 編寫控制器和視圖 10.4.7 為照片添加標(biāo)簽 10.4.8 鏈接到標(biāo)簽瀏覽器 10.5 手動(dòng)測(cè)試 10.6 標(biāo)簽系統(tǒng)的進(jìn)一步開發(fā) 10.7 小結(jié)第11章 結(jié)合Web 2.0創(chuàng)建Mashup 11.1 集成Google Maps API 11.1.1 地圖功能需求 11.1.2 構(gòu)建地圖功能 11.2 集成Flickr API 11.2.1 Flickr功能需求 11.2.2 構(gòu)建Flickr集成功能 11.3 使用Mashup做進(jìn)一步開發(fā) 11.4 小結(jié)第12章 為博客引擎添加個(gè)性化主題 12.1 博客模板需求 12.2 Liquid模板 12.2.1 Liquid API 12.2.2 Liquid標(biāo)記 12.3 安裝Liquid8 12.4 構(gòu)建博客模板功能 12.4.1 創(chuàng)建Liquid drop 12.4.2 創(chuàng)建Liquid過濾器 12.4.3 Usertemplate模型 12.4.4 用戶模板控制器 12.4.5 用戶模板視圖 12.4.6 呈現(xiàn)Liquid模板 12.5 手動(dòng)測(cè)試 12.6 測(cè)試用戶模板控制器 12.7 用戶模板的進(jìn)階開發(fā) 12.8 小結(jié)第13章 添加移動(dòng)接口 13.1 移動(dòng)網(wǎng)絡(luò) 13.2 RailsCoders移動(dòng)網(wǎng)站需求 13.2.1 布局 13.2.2 用戶資料 13.2.3 賬戶 13.2.4 頁(yè)面 13.2.5 新聞 13.2.6 論壇 13.2.7 博客 13.2.8 相冊(cè) 13.3 開發(fā)RailsCoders網(wǎng)站的移動(dòng)版本 13.3.1 移動(dòng)應(yīng)用程序的架構(gòu) 13.3.2 創(chuàng)建移動(dòng)布局和樣式表 13.3.3 資源映射 13.3.4 移動(dòng)控制器和視圖 13.4 手動(dòng)測(cè)試 13.5 測(cè)試移動(dòng)網(wǎng)站 13.6 移動(dòng)網(wǎng)站的進(jìn)階開發(fā) 13.7 小結(jié)第14章 部署、優(yōu)化和擴(kuò)展應(yīng)用程序 14.1 部署RailsCoders網(wǎng)站 14.1.1 開發(fā)模式和產(chǎn)品模式 14.1.2 會(huì)話存儲(chǔ) 14.1.3 選擇主機(jī) 14.1.4 選擇Web服務(wù)器 14.1.5 利用Capistrano和Deprec實(shí)現(xiàn)自動(dòng)化部署 14.2 優(yōu)化和擴(kuò)展RailsCoders 14.2.1 觀察日志文件 14.2.2 緩存 14.2.3 基準(zhǔn)測(cè)試 14.3 小結(jié)
章節(jié)摘錄
第1章 Ruby語(yǔ)言、Ruby on Rails 框架和RailsCoders項(xiàng)目 1.2 Ruby語(yǔ)言和Ruby On Rails框架 在正式開始開發(fā)網(wǎng)站之前,有必要花一點(diǎn)時(shí)間來了解什么是Ruby語(yǔ)言和Ruby on Rails框架以及它們之間的關(guān)系?! uby 0n Rails框架徹底改變了許多Web應(yīng)用開發(fā)團(tuán)隊(duì)和個(gè)人的開發(fā)方式——一些小團(tuán)隊(duì)能夠輕而易舉地開發(fā)出穩(wěn)定、易擴(kuò)展且易維護(hù)的應(yīng)用程序。Rails框架可實(shí)現(xiàn)快速開發(fā),且不含“臟”代碼,這意味著應(yīng)用程序的開發(fā)能夠快速和交互式地完成,同時(shí)具有良好的架構(gòu)和穩(wěn)定性。 了解Ruby語(yǔ)言和Ruby on.Rails框架的歷史,有助于更好地從中獲益,同時(shí)也能發(fā)現(xiàn)它們高效、有趣的原因所在?! ?.2.1 Ruby語(yǔ)言歷史概況 Ruby語(yǔ)言和Ruby on Rails框架往往同時(shí)被提及,這很容易讓人誤以為它們完全相同。查看Rails代碼不會(huì)有多大的幫助,因?yàn)楹茈y看出“Ruby在哪里結(jié)束,Ruby on Rails從哪里開始”。 Ruby語(yǔ)言僅僅是一種類似于Perl、PHP或Java的編程語(yǔ)言。然而,Ruby語(yǔ)言的一些特性又使它區(qū)別于其他編程語(yǔ)言。首先,Ruby語(yǔ)言被設(shè)計(jì)成一種面向?qū)ο蟮恼Z(yǔ)言。這不同于Pell或PHP那種事后產(chǎn)生想法形成面向?qū)ο筇卣鞯恼Z(yǔ)言,也不同于Java或C#,Ruby語(yǔ)言是完全面向?qū)ο蟮模?Ruby語(yǔ)言中一切皆為對(duì)象?! ∑浯危琑uby語(yǔ)言是一種動(dòng)態(tài)語(yǔ)言,這意味著使用Ruby語(yǔ)言編寫的程序在執(zhí)行過程中能夠改變其自身的結(jié)構(gòu)。Ruby語(yǔ)言是動(dòng)態(tài)類型,變量并不限于某一特定的類型(如整型或字符串),它們能夠在程序執(zhí)行期間改變類型。如果以前有過如Peil或Python等動(dòng)態(tài)語(yǔ)言的開發(fā)經(jīng)驗(yàn),你可能不會(huì)感到意外;但如果以前是c++或Java背景,你可能會(huì)感到有些不同。
編輯推薦
使用Rails開發(fā)自己的社區(qū)網(wǎng)站,凝聚業(yè)界專家多年深厚功力,豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)與技巧?! 斑@是一部杰作!有它在手,足以開發(fā)出一個(gè)真正的社區(qū)網(wǎng)站。書中采用了模塊化的方法,實(shí)例可以非常容易地復(fù)用。比如在現(xiàn)有網(wǎng)站中添加社區(qū)網(wǎng)絡(luò)功能。” ——David Berube,資深Ruby技術(shù)專家,Practical Ruby Gems一書作者 “我非常喜歡這本書,相信所有RoR程序員都會(huì)從中獲益匪淺。” ——Larry Wright,資深RoR和敏捷技術(shù)專家 社區(qū)網(wǎng)站毫無(wú)疑問是當(dāng)今因特網(wǎng)的大熱點(diǎn),即使是最傳統(tǒng)的網(wǎng)站,也會(huì)考慮添加更多社區(qū)網(wǎng)站的特性。正是在這樣的大背景下,橫空出世的Ruby on Rails也成為無(wú)數(shù)Web開發(fā)人員的新寵?! ”緯嬲宫F(xiàn)了構(gòu)建一個(gè)社區(qū)網(wǎng)站的開發(fā)過程。首先開發(fā)一個(gè)簡(jiǎn)單的內(nèi)容管理系統(tǒng),然后逐步添加各種特性。完成一個(gè)支持各種Web 2.0功能的完整社交網(wǎng)絡(luò)。從本書中可以學(xué)到如何在大型項(xiàng)目中充分運(yùn)用Ruby on Rails框架以及各種插件,如何實(shí)現(xiàn)社區(qū)特有的功能。如何集成Flickr和Google Maps等API。本書還提供了很多經(jīng)過實(shí)踐驗(yàn)證的開發(fā)、測(cè)試、優(yōu)化及維護(hù)方面的經(jīng)驗(yàn)和技巧。書中處處體現(xiàn)出作者獨(dú)到的洞察力,以及多年開發(fā)和指導(dǎo)軟件項(xiàng)目所練就的深厚功力。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Ruby on Rails社區(qū)網(wǎng)站開發(fā) PDF格式下載