首页>参考读物>计算机科学与技术>软件与程序设计

Ruby完全自学手册
作者 : 邓  蔚
丛书名 : 编程红宝书
出版日期 : 2008-12-18
ISBN : 7-111-25569-7
定价 : 58.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 420
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书涵盖主题
  ◎搭建Ruby开发环境
  ◎了解Ruby常用工具
  ◎Ruby语法、基本类型及使用
  ◎Ruby的编码处理、I/O操作及文件处理
  ◎使用Ruby访问各种数据库
  ◎使用Ruby进行网络编程
  ◎使用Ruby进行系统管理及图形界面程序开发
  ◎Ruby的测试框架
  ◎Ruby on Rails及MVC框架
  ◎安装Ruby on Rails
  ◎使用脚手架进行快速开发
  ◎深入介绍Rails的框架结构
  ◎Rails中的迁移技术及Ajax应用
  ◎进行测试、调试和部署Rails网站
  ◎生命游戏模拟
  ◎自制Ruby编辑器
  ◎Rails开发Digger掘客网实战
  ◎用Rails开发留言簿系

图书特色

图书前言

随着科学技术的不断更新,企业IT系统也一直向着越来越复杂的趋势演进。复杂的J2EE开发模式为复杂的企业应用提供了各种各样的解决方式,但由于较高的学习成本和实现方式的复杂性,面向企业的技术无疑已成为开发者身上沉重的枷锁,同时也将一些没有很好规划的企业应用开发项目拖入泥潭。
  伴随着动态语言的不断发展,动态语言体现出来的众多特性已经震撼了传统的语言和开发模式。Ruby on Rails的出现,在Java社区引起了巨大的反响,虽然争议不断,但是在Web 2.0互联网开发中硕果累累的Ruby on Rails无疑让面向企业应用的开发者看到了一线曙光。Ruby on Rails的介入简化了企业应用日益复杂化的趋势,项目复杂度的简化同时也意味着开发效率和个体生产力的提高。
  同时Ruby on Rails将Ruby引入了公众的视野,让大家见识了Ruby的强大功能和独特魅力。Ruby已经成为近年发展势头最强的语言,在某种意义上代表了未来的一个发展方向。但是国内对于Ruby或Ruby on Rails的发展起步较晚,至今只有寥寥几本原创书籍,大部分都是引入的译作,与国内读者的知识水平还有一定的偏差。可以说适合国内读者的比较全面介绍Ruby的入门书籍,至今还是一个空缺。因此笔者精心编写了本书,希望借助于平易的讲解,让读者在学习的过程中,能够理解Ruby的编程思想,充分享受编程的乐趣,通过本书进入Ruby开发的殿堂。同时也希望能够与各位读者分享多年来积累的Ruby程序和网站开发的经验。
  本书特色
  本书基本涵盖了Ruby语言以及Rails开发框架的各个方面的知识,从Ruby语言的基本语法到各种高级特性,从Ruby开发中的字符编码问题到网络编程、I/O处理、数据库相关应用以及系统管理,从Rails开发框架的模型、控制器和视图的介绍到Ajax应用、数据库迁移技术、网站测试等都有涉及。本书由浅入深、循序渐进地介绍了Ruby和Rails的知识体系、开发思想以及常见应用。
  本书的特点主要体现在以下几个方面。
  q 采用了大量的实例,覆盖了Ruby中所有常用的知识和应用。
  q 所有实例都采用代码、图示相结合的方式,做到了明确直观。
q 针对语言发展的趋势,本书在实际应用的基础上较为详细地介绍了Ruby的编程思想,这种思想能够让读者更好地理解Ruby并引导读者在实际应用中采用正确的思考和开发方式。
q 对每个知识点都指明了使用时的注意事项,使阅读者能够明确重点。
q 通过一个整体的实例关联了所有的Ruby相关知识,使阅读者能够从应用的角度重新理解Ruby和Ruby on Rails的各个知识点的关系,而不是单纯地对每个知识的记忆和掌握。
q 注重实际应用,所有的知识讲解都为应用服务,达到让读者阅读每一页就有实际收获的目的。
q 紧扣最新的Ruby技术,注重知识点的实用性、趣味性和扩展性。
本书的内容
本书共分为四篇,共22章,从Ruby语言的基本语法等概念讲起,再进一步介绍Ruby语言的高级特性以及在实际开发或研究中的应用。随后基于Ruby语言的知识,介绍网站开发框架Ruby on Rails的基本概念以及应用。在本书的最后一篇开发实战中通过3个开发实战,分别针对Ruby的基础知识、各种扩展库的应用、图形界面程序开发以及Rails开发等相关知识点进行了回顾和拓展。
第一篇(第1章~第4章)Ruby语言。
主要讲述Ruby语言,内容涵盖Ruby开发环境、语法、高级特性以及各种常见的问题解答。
第二篇(第5章~第10章)Ruby常用库介绍及高级应用。
主要讲述基于Ruby的常用库以及各种应用,包含中文处理、网络应用、数据库应用、系统操作以及图形、动画处理等热点应用。
第三篇(第11章~第18章)网站开发框架Ruby on Rails。
主要讲述基于Ruby语言的网站开发框架Ruby on Rails。全面覆盖了Ruby on Rails设计原理、核心技术、Ajax实现、Rails调试和部署等Ruby on Rails的应用知识。
第四篇(第19章~第22章)开发实战。
分别以模拟生命游戏演示、自制Ruby编辑器以及开发一个Digger掘客网站为例,介绍了Ruby在科研学习、程序开发和Web开发领域中的应用。在开发实战中再次复习了Ruby的相关基础知识以及各种扩展库的应用,同时介绍一些Ruby on Rails的实战技巧以及网站部署方案。
本书由浅入深,由理论到实践,采取实例和理论相结合的方式,讲解细致直观。通过一个整站制作的实例,让读者通过阅读本书,可以快速掌握Ruby语言以及使用Ruby on Rails开发网站的技术。
本书配套光盘内容
q 本书源代码;
q 本书视频演示;
q 本书电子教案(PPT);
q 1200余页编程技术文档(免费赠送);
q 45个编程专题视频讲座(免费赠送)。
本书适合的读者
q Ruby语言爱好者。
q 希望了解Ruby语言进行系统脚本管理的技术人员。
q Ruby开发人员。
q 使用Rails框架开发Web应用程序的开发人员。
q 希望了解敏捷开发的Web开发人员。
本书的作者
本书主要由邓蔚编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。在此对他们的辛勤工作一并表示感谢!
编 者

封底文字

本书涵盖主题 ◎搭建Ruby开发环境 ◎了解Ruby常用工具 ◎Ruby语法、基本类型及使用 ◎Ruby的编码处理、I/O操作及文件处理 ◎使用Ruby访问各种数据库 ◎使用Ruby进行网络编程 ◎使用Ruby进行系统管理及图形界面程序开发 ◎Ruby的测试框架 ◎Ruby on Rails及MVC框架 ◎安装Ruby on Rails ◎使用脚手架进行快速开发 ◎深入介绍Rails的框架结构 ◎Rails中的迁移技术及Ajax应用 ◎进行测试、调试和部署Rails网站 ◎生命游戏模拟 ◎自制Ruby编辑器 ◎Rails开发Digger掘客网实战 ◎用Rails开发留言簿系

作者简介

邓  蔚:暂无简介

图书目录

目   录
写给自学编程的人员
前言
第一篇  Ruby语言
第1章  Ruby介绍 1
1.1  Ruby是什么 1
1.1.1  Ruby概述 1
1.1.2  初识Ruby 1
1.2  为什么选择Ruby 2
1.2.1  Ruby特性 2
1.2.2  应用领域 3
1.2.3  与其他语言的比较 3
1.3  与Ruby相关的资源 4
1.3.1  Ruby社区和网站资源 4
1.3.2  JRuby、XRuby和IronRuby介绍 5
1.3.3  Hackety Hack介绍 6
1.4  如何学习Ruby语言 8
1.5  小结 8
第2章  搭建Ruby开发环境 9
2.1  安装Ruby 9
2.2  编辑工具IDE介绍 10
2.2.1  SciTE介绍 10
2.2.2  FreeRIDE介绍 10
2.2.3  Aptana RadRails介绍 10
2.2.4  使用EditPlus / UltraEditor编辑Ruby代码 11
2.2.5  NetBeans介绍 13
2.3  相关工具介绍 14
2.3.1  irb(交互式Ruby Shell) 14
2.3.2  rdoc、 ri 、fxri(Ruby文档工具) 15
2.3.3  gem (Ruby包管理) 17
2.3.4  RubyScript2Exe、Exerb (Ruby代码编译成EXE) 18
2.4  小结 19
第3章  Ruby语法入门 20
3.1  概述 20
3.2  面向对象OO介绍 20
3.3  关键字、标识符和注释 21
3.4  数据和运算 22
3.4.1  常量和变量 23
3.4.2  基本类型 23
3.4.3  运算符及其优先级 23
3.5  流程控制 24
3.5.1  条件语句 (if, unless, case) 24
3.5.2  循环控制 (while, until, for, each) 26
3.6  Ruby中的OOP简介 27
3.6.1  定义类和构造函数 27
3.6.2  定义类方法和属性 28
3.6.3  访问控制 30
3.6.4  类变量和实例变量 31
3.6.5  类的扩展和继承 32
3.6.6  别名 34
3.6.7  复制、冻结对象 35
3.6.8  对象序列化 37
3.7  模块和Mixin 37
3.7.1  模块介绍 37
3.7.2  加载和混入模块 (require, load, include, extend) 39
3.8  内置类和Ruby标准库 40
3.9  动态特性 41
3.9.1  会变魔法的动态特性 41
3.9.2  动态执行代码 41
3.9.3  动态获得模块或类中的方法、常量和变量值 42
3.9.4  动态定义方法 43
3.9.5  const_missing、method_missing介绍 43
3.9.6  动态删除定义 46
3.10  代码块和迭代 47
3.10.1  代码块 47
3.10.2  yield和迭代 48
3.10.3  Proc和lambda介绍 49
3.11  异常处理 50
3.11.1  异常处理结构 50
3.11.2  抛出异常 51
3.11.3  恢复执行 51
3.12  小结 52
第4章  Ruby基本类型 53
4.1  数字 53
4.1.1  整数(Fixnum, Bignum) 53
4.1.2  浮点数Float 54
4.1.3  Math模块 54
4.2  字符串String 55
4.2.1  字符串表示 55
4.2.2  转义符、嵌入字符串 55
4.2.3  基本操作 56
4.2.4  常用方法 57
4.2.5  字符串加密 57
4.3  符号Symbol 58
4.4  可枚举模块Enumerable 59
4.4.1  概述 59
4.4.2  遍历、搜索方法 60
4.4.3  比较、排序方法 61
4.5  区间Range 62
4.5.1  概述 62
4.5.2  常用方法 62
4.5.3  自定义区间 62
4.6  数组Array 64
4.6.1  概述 64
4.6.2  定义数组、并行赋值 64
4.6.3  运算和常用方法 65
4.6.4  查找、修改、排序以及迭代 66
4.7  散列Hash 69
4.7.1  概述 69
4.7.2  定义散列 69
4.7.3  散列常用方法 69
4.7.4  查找和迭代 70
4.8  正则表达式Regexp 71
4.8.1  正则表达式简介 71
4.8.2  定义正则表达式 72
4.8.3  查找、替换 73
4.8.4  常见示例 74
4.9  时间Time 75
4.10  小结 76
第二篇  Ruby常用库介绍及高级应用
第5章  Ruby的编码处理 77
5.1  乱码的缘由 77
5.2  jcode库和$KCODE 78
5.3  编码的相互转换 79
5.4  小结 80
第6章  I/O操作和文件处理 81
6.1  简单的输入/输出 81
6.2  文件和目录操作 82
6.2.1  File和Dir类 82
6.2.2  读写文件示例 84
6.2.3  目录操作示例 86
6.3  操作XML 87
6.3.1  生成XML 88
6.3.2  解析XML 88
6.3.3  访问RSS聚合 89
6.4  YMAL库 90
6.5  操作PDF 91
6.5.1  Ruby FPDF介绍 91
6.5.2  示例:使用Ruby FPDF创建PDF文件 92
6.6  读写ZIP文件 93
6.7  图像文件处理 95
6.7.1  RMagick介绍 95
6.7.2  获取图像文件信息 96
6.7.3  生成缩略图 96
6.7.4  在图片上添加文字 97
6.7.5  特效和变换 99
6.8  小结 100
第7章  访问数据库 101
7.1  与MySQL数据库直接对话 101
7.1.1  Ruby/MySQL简介 101
7.1.2  连接MySQL数据库 101
7.1.3  更多数据库操作 102
7.1.4  Ruby/MySQL API参考 103
7.2  直接连接Oracle数据库 104
7.2.1  安装Ruby/OCI8 104
7.2.2  Oracle数据库使用示例 104
7.2.3  Ruby/OCI8 API参考 104
7.3  通用数据库接口库DBI 105
7.3.1  DBI概述 105
7.3.2  安装DBI 106
7.3.3  使用DBI访问MySQL数据库 106
7.3.4  使用DBI访问Oracle数据库 107
7.3.5  事务处理 108
7.3.6  DBI API介绍 108
7.4  小结 109
第8章  网络编程 110
8.1  NET库介绍 110
8.2  抓取网页 110
8.3  使用POP3收取邮件 113
8.4  使用SMTP发送邮件 114
8.5  访问FTP 115
8.6  小结 117
第9章  系统相关技术和创建图形界面 118
9.1  运行外部程序 118
9.2  编写命令行程序和使用ARGV变量 119
9.3  Win32 API和Win32 OLE 120
9.3.1  Win32API简介 120
9.3.2  Win32OLE简介 121
9.3.3  使用Win32OLE操作Word和Excel 121
9.3.4  使用Win32OLE控制IE浏览器 123
9.4  使用Ruby构建图形界面 124
9.5  Ruby/Tk应用介绍 125
9.5.1  下载并安装Tcl/Tk 125
9.5.2  编写Hello World 125
9.5.3  Tk部件 126
9.5.4  事件处理 129
9.5.5  Canvas画布 130
9.6  WxRuby应用介绍 131
9.6.1  下载并安装WxRuby 131
9.6.2  第一个WxRuby程序 133
9.6.3  基本控件介绍 134
9.6.4  事件处理 136
9.7  Shoes应用介绍 138
9.7.1  下载并安装Shoes 138
9.7.2  第一个Shoes程序 140
9.7.3  Stacks和Flows介绍 140
9.7.4  基本控件 142
9.7.5  绘图和动画 143
9.8  小结 145
第10章  单元测试 146
10.1  单元测试概述 146
10.2  Ruby测试框架 146
10.2.1  简介 146
10.2.2  测试流程 147
10.2.3  断言 Assert 149
10.3  测试示例:计算两点距离 149
10.4  小结 152
第三篇  网站开发框架Ruby on Rails
第11章  Rails概述 153
11.1  什么是Rails 153
11.2  MVC简介 153
11.3  Rails的特点 154
11.4  Rails核心模块 155
11.5  Rails相关资源 156
11.6  如何学习Rails 158
11.6.1  注意Rails的特殊URL表达方法 158
11.6.2  了解Rails命名约定惯例 158
11.6.3  勤于检索Rails的文档 158
11.6.4  站在Ruby的角度学习和了解Rails 159
11.7  小结 159
第12章  应用Rails 160
12.1  安装Rails 160
12.2  配置数据库 161
12.2.1  安装并配置MySQL数据库 161
12.2.2  MySQL基本操作 162
12.3  创建Rails应用程序 164
12.4  配置Rails数据库连接 166
12.5  运行Rails应用程序 167
12.6  生成MyTest控制器 168
12.7  显示多种语言的“你好” 170
12.7.1  在数据库中创建一个表 170
12.7.2  试试scaffold 171
12.7.3  显示各种语言 174
12.8  Instant Rails介绍 175
12.8.1  安装Instant Rails 175
12.8.2  Instant Rails界面介绍 175
12.8.3  Rails程序运行测试 176
12.8.4  创建Rails应用程序 177
12.9  小结 178
第13章  深入学习Rails 179
13.1  Rails框架结构 179
13.1.1  目录结构 179
13.1.2  常用命令 181
13.1.3  命名约定 182
13.1.4  开发、测试、生产模式 183
13.1.5  Rails配置 183
13.1.6  ActiveSupport 184
13.2  ActiveRecord介绍 186
13.2.1  数据库与对象的映射关系 186
13.2.2  CRUD操作 188
13.2.3  表间关联 192
13.2.4  校验 195
13.2.5  回调 196
13.3  ActionController介绍 197
13.3.1  访问处理的流程 197
13.3.2  自定义路由 198
13.3.3  控制器中的变量 199
13.3.4  控制器的应答 201
13.3.5  过滤器 202
13.4  ActionView介绍 203
13.4.1  视图模板简介 203
13.4.2  rhtml模板 204
13.4.3  辅助方法Helper 204
13.4.4  布局模板和局部页面模板 209
13.5  Rails的插件 210
13.5.1  了解Rails的插件 210
13.5.2  可视化的HTML编辑器FCKEditor for Rails 210
13.5.3  自动发送错误邮件 Exception Notifier 211
13.5.4  活动脚手架ActiveScaffold插件 212
13.6  小结 221
第14章  迁移Migration技术 222
14.1  迁移技术概述 222
14.2  创建迁移任务 222
14.3  结构迁移 224
14.3.1  创建、重命名和删除表 224
14.3.2  添加、修改和删除字段 225
14.3.3  管理索引 226
14.4  数据迁移 227
14.5  其他迁移 228
14.6  执行迁移操作 229
14.7  小结 229
第15章  Rails中Ajax的应用 231
15.1  Ajax介绍 231
15.2  Prototype介绍 232
15.2.1  Prototype概述 232
15.2.2  实用方法介绍 232
15.2.3  Element类 234
15.2.4  Enumerable类 235
15.2.5  Ajax类 236
15.2.6  Prototype应用示例 237
15.3  Rails的辅助方法 240
15.3.1  link_to_remote方法 240
15.3.2  form_remote_tag方法 242
15.3.3  observe_field方法 244
15.3.4  periodically_call_remote方法 244
15.4  小结 245
第16章  使用ActionMailer发送电子邮件 246
16.1  ActionMailer概述 246
16.2  创建邮件发送器 247
16.3  修改发送模型和视图 249
16.4  发送邮件 250
16.5  发送HTML格式邮件 251
16.6  为邮件添加附件 253
16.7  小结 255
第17章  网站测试 256
17.1  Rails测试结构 256
17.2  模型的测试 257
17.2.1  测试模型HelloText类的CRUD方法 258
17.2.2  测试模型校验方法 260
17.2.3  测试自定义方法 261
17.3  控制器的测试 262
17.4  运行测试 265
17.5  小结 266
第18章  调试和部署 267
18.1  调试 267
18.1.1  使用console控制台 267
18.1.2  使用Logger类 269
18.1.3  在NetBeans里面进行调试 270
18.1.4  使用Firebug进行客户端调试 271
18.2  发布和部署Rails网站 273
18.2.1  常见的部署方式 273
18.2.2  安装Apache 274
18.2.3  安装Mongrel 274
18.2.4  部署配置 275
18.3  小结 277
第四篇  开 发 实 战
第19章  模拟生命游戏 279
19.1  生命游戏介绍 279
19.2  初步设计 280
19.2.1  功能分析 280
19.2.2  界面设计 280
19.3  编写代码 281
19.3.1  界面代码 281
19.3.2  细胞演化代码 286
19.3.3  绘图及事件响应代码 288
19.3.4  完成项目代码 290
19.4  小结 299
第20章  自制Ruby编辑器 300
20.1  界面和功能分析 300
20.2  界面实现 301
20.2.1  菜单实现 301
20.2.2  文件选择Tab和编辑区域的实现 302
20.3  创建Ruby Editor项目实战 306
20.3.1  创建Ruby Editor项目 306
20.3.2  创建主程序ruby_editor.rb 307
20.3.3  创建文本编辑控件代码文件scintilla.rb 307
20.3.4  修改主程序ruby_editor.rb,完善程序界面 309
20.3.5  运行测试 312
20.4  事件响应处理 312
20.5  功能实现 313
20.5.1  实现新建、打开和保存文件功能 313
20.5.2  查找和替换功能的实现 322
20.6  代码完善 325
20.6.1  主程序ruby_editor.rb 325
20.6.2  主界面aui_frame.rb 325
20.6.3  文本编辑器控件类scintilla.rb 330
20.7  小结 332
第21章  Digger掘客网站 333
21.1  功能及用例分析 333
21.1.1  功能分析 333
21.1.2  用例分析 335
21.2  界面与数据库设计 335
21.2.1  界面设计 335
21.2.2  数据库设计 336
21.3  开始编码 337
21.3.1  创建digger项目 337
21.3.2  数据库配置 338
21.3.3  使用acts_as_authenticated插件 339
21.3.4  创建模型 341
21.3.5  创建控制器和视图 344
21.3.6  完善界面 351
21.4  加入分类标记功能 354
21.4.1  安装acts_as_taggable插件 354
21.4.2  修改Content模型 355
21.4.3  修改相关动作和视图 356
21.5  小结 359
第22章  用Rails开发留言簿系统 360
22.1  系统分析和设计流程 360
22.1.1  浏览留言簿主界面 360
22.1.2  浏览用户留言 361
22.1.3  新建留言 361
22.1.4  管理员查看留言列表 362
22.1.5  管理员修改留言 363
22.1.6  管理员新建留言 363
22.1.7  整体设计思路 363
22.2  分析并设计数据库 364
22.3  Rails开发步骤 364
22.3.1  创建Rail Web应用项目 365
22.3.2  创建数据库和配置数据库连接 365
22.3.3  创建模型类 365
22.3.4  给模型类添加业务逻辑处理 366
22.3.5  给模型类添加验证逻辑处理 366
22.3.6  创建普通用户访问Web控制器guestbook 367
22.3.7  定义普通用户请求页面统一布局 367
22.3.8  添加逻辑处理并修改相应的视图模板完成页面输出 368
22.3.9  创建管理员访问Web控制器guestbookadmin 373
22.3.10  定义管理员请求页面统一布局 373
22.3.11  逻辑处理并修改相应的视图模板完成页面输出 373
22.3.12  测试运行 378
22.4  小结 378
附录  常用类函数 379

教学资源推荐
作者: 顾治华 陈天煌 忽朝俭
作者: (美)H.M.Deitel, P.J.Deitel
作者: 李柏岩 尹枫 王洪亚 等编著
作者: 哈罗德·阿贝尔森(Harold Abelson)[美] 杰拉尔德•杰伊·萨斯曼(Gerald Jay Sussman) 著朱莉·萨斯曼(Julie Sussman)
参考读物推荐
作者: 王秀文 郭明鑫 王宇韬 编著
作者: Joshua Bloch
作者: 罗攀 蒋仟 编著
作者: (美)Allen B. Downey著