《JRuby实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(瑞典)OlaBini著;丁雪丰译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115183750
  • 页数:273 页
图书介绍:本书非常注重理论与实践的结合,通过4个由浅入深的项目,结合Rails向读者介绍了JRuby的很多东西,例如,如何在Ruby中调用Java代码,如何使用Java库,如何实现并访问EJB,如何操作JMS,如何在Java中调用由Ruby实现的Java类和接口等。同时,书中给出的代码都很有实用价值,只需稍做加工就能放进真正的项目中发挥作用。

第1章 引言 1

1.1 背景 2

1.1.1 Ruby简史 2

1.1.2 Rails简史 3

1.1.3 JRuby简史 3

1.2 为什么选择JRuby on Rails 4

1.3 全书概述 5

1.4 小结 7

第2章 准备工作 8

2.1 安装JRuby 8

2.1.1 Java 8

2.1.2 二进制JRuby 9

2.1.3 从源代码安装 9

2.1.4 测试安装 10

2.2 RubvGems 11

2.2.1 Rake 12

2.2.2 Rails 13

2.2.3 AR-JDBC 13

2.2.4 BlueCloth和RedCloth 13

2.2.5 Facets 14

2.2.6 Mongrel 14

2.2.7 Mongrel JCluster 14

2.3 安装数据库 14

2.4 小结 16

项目1 商店(Shoplet) 18

第3章 Rails入门 18

3.1 Rails应用程序的结构 18

3.1.1 模型 19

3.1.2 控制器 20

3.1.3 视图 21

3.2 Rails的其他部分 24

3.2.1 ActiveSupport 24

3.2.2 ActiionMailer 24

3.2.3 ActiionWebService 24

3.2.4 ActiveResource 25

3.3 Rails辅助脚本 25

3.3.1 about 25

3.3.2 breakpointer 25

3.3.3 console 25

3.3.4 destroy 26

3.3.5 generate 26

3.3.6 plugin 26

3.3.7 runner 26

3.3.8 server 26

3.4 测试 28

3.5 插件 30

3.5.1 Act As Taggable 30

3.5.2 CAS过滤器 30

3.5.3 全球化插件 31

3.5.4 Rails引擎 31

3.6 小结 31

第4章 商店管理 32

4.1 创建一个新的Rails应用程序 32

4.2 运行Mongrel 35

4.3 第一个模型 35

4.3.1 ProductType 35

4.3.2 Product 37

4.3.3 ProductCategory 38

4.3.4 运行迁移 40

4.3.5 验证 40

4.4 产品单元测试 41

4.5 为产品建立scaffold 44

4.5.1 Ajax 48

4.5.2 让界面更漂亮 50

4.6 更多模型 52

4.6.1 用户管理 55

4.6.2 订单处理 56

4.7 添加身份验证 59

4.8 功能测试 61

4.9 小结 64

第5章 数据库驱动的商店 65

5.1 浏览产品 65

5.2 添加购物车 69

5.2.1 查看购物车 70

5.2.2 结账 71

5.3 验证与测试 73

5.4 ActiveRecord和JDBC 77

5.4.1 支持的数据库 78

5.4.2 如何支持新的数据库 81

5.5 小结 82

项目2 内容管理系统(CoMpoSe)第6章 Java集成 84

6.1 使用Java资源 84

6.1.1 类 85

6.1.2 基本类型 88

6.1.3 数组 88

6.2 扩展Java 89

6.2.1 接口 90

6.2.2 类 91

6.3 Java集合类 92

6.4 陷阱 94

6.5 在Java中使用Ruby 94

6.5.1 JRuby运行时 95

6.5.2 BSF 96

6.5.3 JSR223——Java Scripting 97

6.6 小结 97

第7章 一个Rails的CMS 98

7.1 数据库 98

7.2 模型 102

7.3 布局 103

7.4 管理界面 106

7.4.1 用户 106

7.4.2 路径 107

7.4.3 样式 109

7.4.4 布局 111

7.4.5 文章 115

7.5 安全 118

7.6 小结 119

第8章 内容呈现 120

8.1 XML内容呈现 120

8.1.1 Ruby XML 121

8.1.2 Java DOM解析 123

8.1.3 Java SAX解析 124

8.1.4 Java DOM和XSLT 126

8.1.5 其他Java API 127

8.2 其他呈现内容的途径 127

8.2.1 RedCloth(Textile) 127

8.2.2 BlueCloth(Markdown) 129

8.2.3 ERb 130

8.2.4 YAML 130

8.2.5 其他解决方案 132

8.3 完成CoMpoSe 132

8.3.1 呈现引擎 132

8.3.2 内容 136

8.3.3 预览 137

8.4 小结 139

项目3 管理系统(BigBrother)第9章 JRuby与EJB 142

9.1 序列数据库 143

9.2 JRuby序列引擎 145

9.3 JRuby bean封装器 149

9.4 小结 153

第10章 基于EJB的Rails应用程序 155

10.1 重温EJB客户端 156

10.2 创建应用程序 157

10.3 创建一个小的序列支持库 161

10.4 序列控制器及相关视图 162

10.5 服务器端JMX 165

10.6 管理Rails的简单JMX 166

10.7 小结 168

第11章 部署 170

11.1 部署Ruby on Rails 170

11.1.1 WEBrick 171

11.1.2 CGI 171

11.1.3 FastCGI 171

11.1.4 Mongrel 172

11.1.5 Mongrel集群 172

11.2 部署JRuby on Rails 172

11.2.1 WEBrick 173

11.2.2 CGI 173

11.2.3 Mongrel 173

11.2.4 GoldSpike(Rails Integration) 173

11.2.5 Grizzly 173

11.2.6 Rails-asyncweb 174

11.2.7 Retty 174

11.3 部署JRuby on Rails的最佳实践 174

11.3.1 JVM Mongrel集群 174

11.3.2 用Java制作WAR 177

11.4 小结 182

项目4 图书馆系统(LibLib)第12章 JRuby与Web服务 184

12.1 LibLib系统 184

12.2 Amazon Web Services 185

12.3 SOAP4R 186

12.3.1 动态生成 186

12.3.2 使用桩代码 187

12.4 Java中的SOAP 188

12.4.1 动态生成 189

12.4.2 使用桩代码 190

12.5 创建小型图书支持库 191

12.6 小结 194

第13章 JRuby与面向消息系统 195

13.1 什么是MOM 195

13.2 遗留系统 197

13.2.1 添加图书馆 197

13.2.2 移除图书馆 198

13.2.3 获取图书馆名称 198

13.2.4 添加图书介绍 198

13.2.5 移除图书介绍 198

13.2.6 获取图书介绍 198

13.2.7 添加图书实例 199

13.2.8 移除图书实例 199

13.2.9 出借图书实例 199

13.2.10 归还图书实例 199

13.2.11 检索 199

13.3 ActiveMessaging 200

13.4 JRuby和MDB 201

13.5 与遗留系统交互的库 202

13.6 Rails间的通信 211

13.7 小结 215

第14章 LibLib Rails应用程序 217

14.1 数据库 217

14.2 部署多个Rails实例 219

14.3 创建模型 221

14.4 视图和控制器 221

14.4.1 布局 222

14.4.2 检索图书信息 225

14.4.3 身份验证 229

14.4.4 借阅者和图书管理员 233

14.4.5 从Amazon.com导入数据 238

14.5 小结 239

第15章 尾声:下一步该做什么 241

15.1 JRuby-extras 241

15.1.1 为JRuby-extras做贡献 241

15.1.2 当前的项目 241

15.2 为JRuby做贡献 244

15.3 潜在项目 244

15.3.1 使用Lucene进行数据库索引 244

15.3.2 用Hibernate替换ActiveRecord 245

15.3.3 创建新的ActiveRecord-JDBC适配器 245

15.4 小结 247

附录A Java程序员眼中的Ruby 249

A.1 核心Ruby 249

A1.1 命名 249

A.1.2 核心类型 250

A.2 类和模块 254

A.2.1 定义方法 255

A.2.2 包含和扩展 256

A.2.3 单例类 257

A.3 块 257

A.4 元编程 259

A.4.1 自省 259

A.4.2 send 260

A.4.3 method_missing、const_missing 260

A.4.4 define_method 261

A.4.5 Class.new和Module.new 261

A.4.6 eval及相关内容 261

A.5 to_proc的技巧 262

附录B JRuby参考 263

B.1 类和接口 263

B.1.1 引用一个Java类或接口 263

B.1.2 使用类 264

B.1.3 扩展和实现 264

B.2 基本类型数组 265

B.3 对Java类的扩展 266

B.3.1 java.lang.Runnable 266

B.3.2 java.util.Map 266

B.3.3 java.lang.Comparable 266

B.3.4 java.util.Collection 266

B.3.5 java.util.List 267

B.4 JRuby模块 267

B.4.1 runtime 267

B.4.2 parse 267

B.4.3 compile 267

B.4.4 reference 268

B.5 require 268

附录C 资源 269

C.1 Ruby和Rails 269

C.1.1 Ruby程序设计语言 269

C.1.2 Ruby-talk邮件列表 269

C.1.3 Ruby-core邮件列表 269

C.1.4 Ruby on Rails 269

C.1.5 Rails-talk邮件列表 270

C.1.6 Rails-core邮件列表 270

C.1.7 松本行弘“Matz”的博客 270

C.1.8 O'Reilly Ruby 270

C.1.9 RubyInside 270

C.1.10 On Ruby 270

C.1.11 Loud Thinking 270

C.1.12 Riding Rails 270

C.1.13 Eigenclass 270

C.1.14 Polishing Ruby 271

C.1.15 Programming Ruby,Second Edition 271

C.1.16 The Ruby Way,Second Edition 271

C.1.17 Agile Web Development with Rails,Second Edition 271

C.2 JRuby 271

C.2.1 JRuby主页 271

C.2.2 JRuby Dev邮件列表 271

C.2.3 JRuby User邮件列表 271

C.2.4 #jruby IRC频道 272

C.2.5 JRuby-extras项目 272

C.2.6 JRuby JIRA 272

C.2.7 JRubyInside 272

C.2.8 Headius 272

C.2.9 Tom's Ruminations 272

C.2.10 Ola Bini 272

C.2.11 Nick Sieger 272

C.3 其他 273

C.3.1 MySQL 273

C.3.2 ActiveMessaging 273

C.3.3 Hitta 273

C.3.4 Ferret 273

C.3.5 GlassFish 273