作者簡介
作者:(美國)David Berube 譯者:王磊 寇曉麗 張建科
David Berube,是一名Ruby開發者,培訓家, 作家以及演說家,以前, 他主要使用PHP. Perl. C++和Visual Basic等從事軟體開發從2003年起, David開始使用Ruby和Ruby on Rails從事軟體開發。
譯者簡介:
王磊, 畢業於西安交通大學計算機系統結構專業, 並獲碩士學位, 是開源軟體的擁護者, 同時也是Ruby on Rails的愛好者. 他具有多年大型軟體項目(包括企業管理, 分散式計算等系統)開發經驗, 擅長於J2EE技術的開發, 現就職於某外企研發中心。
內容簡介
《Ruby Gems開發實戰》是討論如何在Ruby或者Rails項目中使用現有Ruby解決方案的全面指導書,同時它也涵蓋了如何創建或者分發Ruby軟體包的相關內容。《Ruby Gems開發實戰》分為三部分,分別為使用Ruby Gems、使用特殊的Ruby Gems包和創建Ruby Gems包。
《Ruby Gems開發實戰》非常適合Ruby開發者閱讀,也適合那些使用Rails,或是希望對現有Ruby、Rails項目進行擴展的開發者。
《Ruby Gems開發實戰》通過豐富的示例,向讀者介紹了當今最具影響的34個Ruby Gems包,其中包括:
使用Creditcard驗證信用卡。
使用FxRuby創建跨平台的GUI應用程式。
使用Memcache-Client提高Rails應用程式的效率。
使用Camping開發輕量級的Web應用程式。
使用ActiveRecord簡化資料庫訪問。
使用Feedtools處理RSS Feed。
使用RMagick處理圖片。
通過對這些Gems包的學習,你能立刻在項目中使用它們。
通過閱讀《Ruby Gems開發實戰》,你也將學會如何封裝或者分發自己的Ruby Gems,以及如何使用Ruby Gems處理不同Gems包間的依賴,或者相同Gems包的不同版本之間的依賴。另外,《Ruby Gems開發實戰》也詳細說明了在不同作業系統(如Mac、Windows或者Linux)上使用Ruby Gems的差異。通過對《Ruby Gems開發實戰》的學習,你將學會如何利用Ruby Gems,在多個Ruby或Rails項目中更容易地重用代碼。當然,你也可以向更多的Ruby愛好者提供你的Ruby Gems。
目錄
譯者序
作者簡介
致謝
第一部分 使用RubyGems
第1章 什麼是RubyGems2
1.1 為什麼使用RubyGems2
1.1.1 標準化的軟體包格式2
1.1.2 訪問Ruby軟體包存儲倉庫3
1.1.3 使用Gem伺服器重新分發Gem包3
1.1.4 處理軟體包依賴關係3
1.1.5 處理版本的依賴關係3
1.1.6 透明地替換Ruby庫4
1.1.7 處理作業系統的差異4
1.2 與其他包管理器的比較4
第2章 安裝RubyGems6
2.1 安裝Ruby6
2.1.1 你已經安裝了Ruby6
2.1.2 在Linux上安裝Ruby6
2.1.3 在Windows上安裝Ruby7
2.1.4 測試你的Ruby安裝8
2.2 在Linux/MacOSX上安裝RubyGems8
2.3 升級RubyGems系統9
第3章 使用RubyGems10
3.1 使用Gem包10
3.1.1 使用CreditcardGem包11
3.1.2 使用Cmdparse包解析命令行參數13
3.2 使用源碼Gem包16
3.3 調試RubyGems19
第4章 Gem包的版本管理21
4.1 什麼是Gem包的版本21
4.2 安裝舊版本的Gem包22
4.3 更新Gem包23
4.4 刪除Gem包24
4.5 指定Gem包版本24
第二部分 使用特殊的RubyGem包
第5章 使用ActiveRecord訪問數據28
5.1 ActiveRecord如何工作28
5.1.1 ActiveRecord模型類29
5.1.2 數據處理31
5.2 使用ActiveRecord歸檔RSS新聞32
5.3 結論36
第6章 使用BlueCloth標記文本37
6.1 BlueCloth如何工作37
6.2 將BlueCloth文本轉換成HTML38
6.3 將BlueCloth文本轉換成PDF39
6.4 結論43
第7章 使用Camping創建Web應用程式44
7.1 Camping如何工作44
7.1.1 模型模組Camping::Models45
7.1.2 控制器模組Camping::Controllers46
7.1.3 視圖模組Camping::Views46
7.2 使用Camping記錄時間47
7.3 結論59
第8章 使用Cmdparse創建命令行應用程式60
8.1 Cmdparse如何工作60
8.2 創建Job-Search工具62
8.3 結論70
第9章 使用Erubis作為HTML模板71
9.1 Erubis如何工作71
9.2 使用Erubis實現數據查看器73
9.3 結論78
第10章 使用Feedtools解析Feed79
10.1 Feedtools如何工作79
10.2 使用Feedtools構建新聞搜尋工具80
10.3 結論82
第11章 使用FxRuby創建圖形用戶接口程式83
11.1 FxRuby如何工作83
11.2 使用FxRuby實現動態數據表單84
11.3 結論89
第12章 使用YahooFinance獲取股票信息90
12.1 YahooFinance如何工作90
12.2 使用YahooFinance顯示股票的變化91
12.3 結論94
第13章 使用Hpricot解析HTML95
13.1 Hpricot如何工作95
13.2 使用Hpricot抓取信息97
13.3 結論99
第14章 使用Markaby生成HTML100
14.1 Markaby如何工作100
14.2 使用Markaby實現股票走勢圖101
14.3 結論104
第15章 使用Fastercsv解析CSV數據105
15.1 Fastercsv如何工作105
15.2 使用Fastercsv處理人口普查數據106
15.3 結論108
第16章 使用Multi完成多重分派109
16.1 Multi如何工作109
16.2 使用Multi格式化SQL語句110
16.3 結論117
第17章 使用Mongrel作為Web伺服器118
17.1 Mongrel如何工作118
17.2 使用Mongrel作為Rails的開發伺服器119
17.3 在Windows中將Mongrel作為服務運行120
17.4 使用Mongrel運行Camping應用程式120
17.5 使用Mongrel作為輕量級伺服器121
17.6 使用Apache2.2和Mongrel運行Rails套用122
17.7 結論123
第18章 使用Net-SFTP安全傳輸檔案124
18.1 Net-SFTP如何工作124
18.2 使用Net-SFTP上傳檔案125
18.3 結論126
第19章 使用Net-SSH在伺服器端執行命令127
19.1 Net-SSH如何工作127
19.2 使用Net-SSH和Vim編輯遠程檔案128
19.3 結論131
第20章 使用Creditcard驗證信用卡132
20.1 Creditcard如何工作132
20.2 使用Creditcard批量驗證信用卡卡號132
20.3 結論134
第21章 使用PDF-Writer生成PDF文檔135
21.1 PDF-Writer如何工作135
21.2 使用PDF-Writer和Net/SFTP生成報表136
21.3 結論141
第22章 使用Runt處理周期性事件142
22.1 Runt如何工作142
22.2 使用Runt計畫用戶組會議144
22.3 定期執行計畫命令146
22.4 結論148
第23章 使用Rails構建Web站點149
23.1 Rails如何工作149
23.2 使用Rails開發一個簡單的資料庫應用程式150
23.3 結論155
第24章 使用Rake自動執行任務157
24.1 Rake如何工作157
24.2 使用BlueCloth和Rake生成文檔158
24.3 結論162
第25章 使用RMagick處理圖片163
25.1 RMagick如何工作163
25.2 使用RMagick創建縮略圖164
25.3 結論169
第26章 使用Memcache-Client加速Web套用170
26.1 Memcache-Client如何工作170
26.2 使用Memcached加速RubyonRails的會話快取171
26.3 使用圖形界面客戶端訪問Memcached伺服器175
26.4 結論177
第27章 使用Rubyzip管理Zip壓縮檔178
27.1 Rubyzip如何工作178
27.2 從Zip壓縮檔中讀取文本檔案內容179
27.3 結論181
第28章 使用Memoize加速函式調用182
28.1 Memorize如何工作182
28.2 生成MP3列表183
28.3 結論186
第29章 使用Id3lib-Ruby標記MP3檔案187
29.1 Id3lib-Ruby如何工作187
29.2 使用聚集標籤器修改ID3標籤188
29.3 結論190
第30章 使用Shorturl簡化URL連結191
30.1 Shorturl如何工作191
30.2 使用Shorturl縮短RSSFeeds192
30.3 結論194
第31章 使用Rubyscript2exe創建標準的Ruby可執行程式195
31.1 Rubyscript2exe如何工作195
31.2 使用Rubyscript2exe打包id3tool196
31.2.1 示例剖析197
31.2.2 特殊的Rubyscript2exe參數198
31.3 結論199
第32章 使用Tidy清理混亂的HTML頁面200
32.1 Tidy如何工作200
32.2 使用Tidy格式化HTML202
32.3 結論205
第33章 使用XML-simple解析XML206
33.1 XML-simple如何工作206
33.1.1 使用xml_in解析XML檔案206
33.1.2 使用xml_out生成XML字元串207
33.2 使用XML-simple跟蹤OpenSSL的缺陷208
33.3 結論212
第三部分 創建RubyGem包
第34章 創建自己的Gem包214
34.1 Gem包的內部結構214
34.2 什麼是Gemspec214
34.3 根據Gemspec創建Gem包214
34.4 結論218
第35章 Gem包的分發219
35.1 分發Gem包的方法219
35.1.1 使用RubyForge分發Gem包220
35.1.2 使用gem_server分發Gem包221
35.1.3 使用Web伺服器分發Gem包222
35.2 結論223