阅读更多
毫无疑问,ruby on rails这个号称开发速度10倍于Java的快速web开发框架是2005年2006年连续两年web应用开发领域最大的奇迹。自从2004年7月ruby on rails第一个版本发布以来,ruby on rails以令人惊讶的速度迅速征服了web应用开发领域,在2006年3月毫无悬念的获得了第16届Jolt大奖的web开发工具奖项;rails的作者DHH(David Heinemeier Hansson)也因此得到了巨大的荣誉,2006年8月荣获OSCON(全球开源大会)年度最佳黑客;而依靠ruby on rails起家,开发web2.0互联网应用的37signals公司则得到了Amazon创始人Jeff Bezos的投资,Bezos本人则对ruby on rails相当看好,计划推出基于ruby on rails的Hosting服务。

在2005年和2006年,整个ruby社区和rails社区也呈现出来爆炸性的发展趋势,并且诸多Java社区,敏捷社区的德高望众的人士例如Andrew Hunt,Bruce Tate,Martin Folwer纷纷投身ruby和rails社区,这恐怕不单单用开发速度快就能够解释的了。

《Agile Web Development with Rails》这本书的名字其实就已经很好的揭示了ruby on rails流行和获得社区认可的一个很重要原因,那就是“Agile”。随着互联网web2.0时代的来临,对于应用软件行业来说,也越来越需要能够灵活应变需求,能够快速开发,能够迅速提供用户反馈的软件发展趋势。例如我们可以观察到IBM的企业文化叫做“随需应变”,HP的企业文化叫做“动成长”,而BEA的企业文化叫做“流体思维”,角度虽然不同,但是无一不是揭示出来软件发展的趋势,即“Agile”,能够灵活应变的本领。而ruby on rails框架正是顺应了“Agile”的大势,才得以迅速走红的。

ruby on rails在国内一个可以参考的成功案例就是JavaEye2.0网站:
http://www.iteye.com
三个资深的Java程序员,在没有ruby on rails项目开发经验的情况下,仅仅使用了一个月时间,就完成了包括论坛,博客,招聘等多种功能融合一体的综合性技术网站的设计,开发,测试,迁移和部署上线运营,在使用其他web开发技术的情况下,这么快的开发速度是不可想象的。目前JavaEye2.0网站的服务器每天要处理超过15万ruby动态请求,独立访问IP也超过了1万。

如果要学习ruby on rails,《Agile Web Development with Rails》是不容错过的。这本书的作者Dave Thomas也是著名的敏捷宣言成员之一,在技术出版行业久负盛名,也正是由于Dave Thomas在2000年出版的《Programming ruby》一书,将默默无闻的ruby编程语言带入到了全球知名的高度。也正是这本经典教材《Agile Web Development with Rails》促进了ruby on rails的普及程度,本书也同时获得了第16届Jolt大奖的General Technical Book大奖,可谓实至名归。

《Agile Web Development with Rails》前面12章不是按部就班介绍rails框架,而是一上来就开始手把手教你快速开发一个Depot的迷你购物系统。然后才是rails框架每个部分的详细讲解和剖析,最后两章是web开发的安全性问题和应用部署调优,附录还有一些rails配置的介绍和ruby编程语言的快速入门。这种行文的结构非常符合初学者的学习习惯,先通过一个案例从整体上快速把握和了解一个技术的大致情况,然后才是每个部分深入学习,最后的web安全性和应用部署调优的章节特别值得大家仔细去阅读和学习,这部分内容往往是web开发人员比较薄弱的知识环节,附录的ruby编程语言快速入门可以让你扫平阅读本书的基础知识方面的障碍,因此从本书的目录结构来看,作者也是匠心独运。

《Agile Web Development with Rails》这本书的中文版《应用Rails进行敏捷Web开发》在2006年8月就已经上市,由林芷薰翻译。译者到是名不见经传,但是这本书的翻译相当到位,不得不赞一句译者投入的精力和翻译的质量。值得一提的是,中文版的翻译并不完全按照英文直接字面翻译,很多地方使用了非常中文口语化的意译,让人看起来感觉十分生动有趣,平添几分轻松感。如果想要ruby on rails快速入门,那么这本书无疑是首选推荐,对于我们JavaEye网站的三个开发人员来说,也是人手一册。如果你没有学习过ruby,那么建议你先快速看一遍附录ruby入门的章节,然后再大致浏览一遍这本书的主要内容,把Depot案例从头到尾做一遍,就可以用rails做项目了。在项目开发过程中遇到问题再回过头来查阅本书,查阅最新的rails API文档,或者通过Google搜索。若是没有这本书的帮助,我们的rails水平进步速度可能也没有这么快吧。

目前《Agile Web Development with Rails》的第二版作者还在撰写过程中,可以通过Amazon网站购买第二版beta版的英文电子书。第二版从我拿到的版本来看,增加了数据库Migration和RJS的章节,其他各个章节也进行了内容的扩充,但是第二版还并没有最后完成,一些内容还是空着的。所以第二版的英文版正式上市时间还很难说,至于相应的中文版,也要等到英文版推出之后了。

因此对于准备学习和掌握ruby on rails的开发人员来说,现在可以购买《应用Rails进行敏捷Web开发》来学习,如果有条件,可以参考第二版英文版的相应章节,了解一下哪些内容进行了扩充和增加。

最后,要想掌握一门编程技术,最重要的还是实践,《应用Rails进行敏捷Web开发》可以带领你入门,然后就要靠你自己的了。
8
2
评论 共 2 条 请登录后发表评论
2 楼 lliiqiang 2014-09-03 09:45
完全不同语言看着费劲,前面的东西用后面的东西不理解,只能分割着看,先留着,但是最好声明一下.
1 楼 dyllove98 2009-12-28 09:00
“号称开发速度10倍于Java的快速web” 这个好像是某位大言不惭的网友说的把,然后被ruby的最捧者当作"神语"一样的崇拜~~ruby on Rails的确很棒~但是没说的那么神

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • # IPTV_video #IPTV电视源 #直播源

    电视直播源

  • np.apply_along_axis函数用法

    这个函数的各个参数的含义请大家自行查阅了解,这里只记录一下参数axis的作用。 首先定义一个函数来打印数组的shape与内容,然后生成一个4x3的数组array: def print_a(array): print("shape: %s, array is \n%s"%(array.shape, array)) array=np.array([[2,3,4],[3,4,5],[6,7,8],[7,8,9]]) 对这个数组调用np.apply_along_axis函数,看该函数会对数组产生什么作用

  • Windows和Linux双系统的保姆级安装教程,新手小白跟着也能装

    保姆级教学安装双系统,Linux系统的桌面版安装教程

  • python中apply函数

    函数原型 DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds) 1.该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。 2.这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实...

  • 通过三个apply() 例子了解apply()

    一,更改this指向 代码: var name = 'window'; //默认规划到全局作用域 window 中,等于 window.name var obj = { name : 'obj' }; function getName() { return this.name; } console.log(...

  • NumPy学习笔记(二)

    numpy索引;numpy切片;numpy数组迭代;np.apply_along_axis()聚合函数

  • 详解Oracle数据库中的rowid原理及优化方法

    在Oracle数据库中,ROWID(Row Identifier)是一个独特的伪列,它是一个二进制值,用于唯一标识数据库表中每一行的物理位置。

  • IDEA中常用的调试快捷键

    快捷键可以帮助你更有效调试代码,逐步执行代码并检查变量值,以及快速定位和解决问题.不过,一些快捷键可能会因为IDE版本或者个人设置而有所不同,但以上是一般情况下的默认设置。在代码行号左侧双击,或者使用。在调试模式下,选中变量,然后。

  • 【IDEA开发工具的常用设置和快捷键及Debug调试】

    本文主要是进行了一些常见设置和快捷键的汇总和一些简单的Debug调试方法,如果在本文查不到到时候直接百度即可,其它新版本几乎都相差不大的,设置的位置可能有些变化。

  • IntelliJ IDEA 206 个快捷键大全,动图演示!搬砖杠杠的!

    IntelliJ IDEA相关快捷键的使用

  • Oracle中ROWID的使用

    在上述代码中,将table_name替换为实际表的名称,column1、column2等替换为实际的列名,value1、value2等替换为实际的值,'AAAAAAAABBBBBBBBRRRR’替换为实际的ROWID值。执行此更新语句后,将会更新具有匹配ROWID的行的数据。在上述代码中,将table_name替换为实际表的名称,以及’AAAAAAAABBBBBBBBRRRR’替换为实际的ROWID值。在Oracle数据库中,每一行都有一个唯一的ROWID,它是一个字符串,用于标识数据库中的特定行。

  • oracle中rowid的用法 (全面)

    oracle中rowid的用法 分类: Oracle Fundamental 2013-10-25 14:52 34人阅读 评论(0) 收藏 举报 ROWID数据块DUMPBASE64编码 ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置。 ROWID可以分为物理rowid和逻辑rowid两种。普通的堆表中的ro

  • oracle中使用rowid删除重复数据

    在Oracle中,rowid就是唯一标志记录物理位置的一个id,每一条记录都对应一个rowid,且rowid是唯一的。如下图所示,表中除了rowid之外,有重复记录,就可以使用rowid来删除。同一条记录,保留rowid最大的值,其余的删掉。也可以使用not in 删除。

  • python中numpy.apply_along_axis()函数的用法

    1.函数原型 numpy.apply_along_axis(func, axis, arr, *args, **kwargs) 2.作用: 将arr数组的每一个元素经过func函数变换形成的一个新数组 3.参数介绍: 其中func,axis,arr是必选的 func是我们写的一个函数 axis表示函数func对arr是作用于行还是列 arr便是我们要进行操作的数组了 可选参数:*args, **k...

  • 金蝶专业版过账提示运行时错误5_金蝶KIS专业版常见故障及解决办法

    金蝶KIS专业版常见故障及解决办法金蝶KIS专业版常见故障有哪些你知道吗?你对金蝶KIS专业版常见故障了解吗?你知道如何解决金蝶KIS专业版常见故障吗?下面是yjbys小编为大家带来的关于金蝶KIS专业版常见故障的知识,欢迎阅读。一、操作中提示:“当前使用的功能与其他用户有冲突,目前无法使用。”答:在 开始--程序-- 金蝶KIS专业版--工具--系统工具--系统工具--网络控制工具--打开,登录...

  • IDEA快捷键大全

    IntelliJ IDEA快捷键大全、快捷键使用教程

  • 西北工业大学cpSkill平台Python作业NOJ(81-90)

    仅供参考 前20传送门:https://blog.csdn.net/weixin_43520256/article/details/109137288 21-30传送门:https://blog.csdn.net/weixin_43520256/article/details/109137366 41-50传送门:https://blog.csdn.net/weixin_43520256/article/details/109137411 61-70传送门:https://blog.csdn.net/wei

  • [重装win10系统]Linux系统上重装Windows系统

    写这篇文章的时候我在想,其实虽然已经解决了,但我没完全懂里面涉及的知识,知识记录一下解决的过程,希望给自己留一个坑,以后学习了来补全吧 电脑本来的系统是centos8,我准备弃用linux系统安装win10,过程中真的没有以前在windows的基础上重装win10那么顺利,主要还是对Linux系统磁盘分区的方式不了解,对计算机系统的这方面的知识也有所欠缺 首先制作好U盘启动盘后插入要装机的电脑选择U盘启动,打开后安装win10镜像,这时候发现磁盘分区很混乱,找了很多教程也自己随便瞎鼓捣了好久,中间也因为上一

  • 在linux下安装windows系统--仅仅支持efi主板+gtp+U盘安装

    本人已经安装成功: 材料: 1. U盘 2.电脑,bios支持efi shell 3.win8-x86-64位安装镜像cn_windows_8_1_x64_dvd_2707237.iso 4.EFI_SHELL64.zip 步骤: 0.将U盘格式化为Fat32格式,如果已经是这个格式的话,只要清干净就可以。 1.将安装镜像解压到U盘中。直接挡在根目录下。 2.将E

Global site tag (gtag.js) - Google Analytics