- 浏览: 4821972 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:137099
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
有人说,robbin你说了那么多RoR的优点,你啥时候说说RoR的缺点阿?你说的缺点肯定比别人说的更客观。没办法,为了表现出来我不是一个RoR粉,只好总结点缺点,以飨RoR黑子们:
Ruby和Rails的一些缺点的总结:
ruby的问题我觉得主要是:
1、ruby本身的性能是比较差的,无法直接做一些计算密集型的任务
比方说大量的分词运算、语料训练什么的,用ruby写是不行的
2、ruby的C扩展很难写
正因为ruby性能差,所以很多情况下要依赖C写的底层库,但是写ruby的扩展C库是很困难的事情。一方面没有特别多的资料介绍,你能参考的只有《Ruby Hacking Guide》,另外一方面Ruby是带有GC的语言,C又是没有GC的,所以如果你对ruby的GC机制没有特别清楚的了解情况下,写C扩展会出现意想不到的问题:比方说你写的程序逻辑没有任何问题,但是和ruby配合起来就会不定期的出现错误,这就是你C程序的某个赋值变量可能会被ruby GC以你意想不到的方式销毁。
3、ruby的C扩展库质量不高,容易出现内存泄漏问题
正因为上面的原因,很多第三方的C扩展库质量不好,很容易出现内存泄漏问题,这是一个很头疼的问题,你很难定位,也很难解决,只能尽量避免使用第三方扩展C库。
Rails的问题我觉得主要是:
1、特别容易出现命名冲突
你自己写的代码里面给类增加的方法,动不动就和Rails给类扩展的方法名称冲突了。这种错误很隐蔽,很难发现。这也是ruby语言动态性带来的一个负面影响
2、Rails每次升级API变动都比较大
Rails升级是不太考虑向下兼容性的,所以每次升级的话,可能你很多代码都要改,更糟糕的是很多Rails插件特别喜欢以hack rails的方式来扩展Rails功能,那么Rails一升级,插件的兼容性几乎肯定是不行的,这个是比较痛苦的事情。
3、Rails的view方面还是比较原始的erb拼接字符串方式,像JSP那样原始,没有一个类似Java的velocity/freemarker那样的页面模版库,所以写helper动不动要用字符串去拼html片断,如果是特别复杂的view需要拼的话,代码就会写的很丑陋。
当然总体来说,RoR还是让我感觉非常满意的,特别适合互联网应用。
关于这个问题,我的看法是:选择一门语言和框架,要看它是否存在致命的硬伤,如果某个部分的缺陷能迂回解决,就可以接受。
如果是使用Netbeans编辑器的话,在你定义个方法或类时,可以选中方法名或者类名,然后 Ctrl + B 直接跳转到类和方法的源代码,如果不用跳到别的文件里边去,就说明你定义的方法名或者类名是不冲突的。
Ruby和Rails的一些缺点的总结:
ruby的问题我觉得主要是:
1、ruby本身的性能是比较差的,无法直接做一些计算密集型的任务
比方说大量的分词运算、语料训练什么的,用ruby写是不行的
2、ruby的C扩展很难写
正因为ruby性能差,所以很多情况下要依赖C写的底层库,但是写ruby的扩展C库是很困难的事情。一方面没有特别多的资料介绍,你能参考的只有《Ruby Hacking Guide》,另外一方面Ruby是带有GC的语言,C又是没有GC的,所以如果你对ruby的GC机制没有特别清楚的了解情况下,写C扩展会出现意想不到的问题:比方说你写的程序逻辑没有任何问题,但是和ruby配合起来就会不定期的出现错误,这就是你C程序的某个赋值变量可能会被ruby GC以你意想不到的方式销毁。
3、ruby的C扩展库质量不高,容易出现内存泄漏问题
正因为上面的原因,很多第三方的C扩展库质量不好,很容易出现内存泄漏问题,这是一个很头疼的问题,你很难定位,也很难解决,只能尽量避免使用第三方扩展C库。
Rails的问题我觉得主要是:
1、特别容易出现命名冲突
你自己写的代码里面给类增加的方法,动不动就和Rails给类扩展的方法名称冲突了。这种错误很隐蔽,很难发现。这也是ruby语言动态性带来的一个负面影响
2、Rails每次升级API变动都比较大
Rails升级是不太考虑向下兼容性的,所以每次升级的话,可能你很多代码都要改,更糟糕的是很多Rails插件特别喜欢以hack rails的方式来扩展Rails功能,那么Rails一升级,插件的兼容性几乎肯定是不行的,这个是比较痛苦的事情。
3、Rails的view方面还是比较原始的erb拼接字符串方式,像JSP那样原始,没有一个类似Java的velocity/freemarker那样的页面模版库,所以写helper动不动要用字符串去拼html片断,如果是特别复杂的view需要拼的话,代码就会写的很丑陋。
当然总体来说,RoR还是让我感觉非常满意的,特别适合互联网应用。
评论
21 楼
coolesting
2011-07-04
现在看这篇文章是不是有点过时了, view用haml可以解决文中所说 , 而且很多人用sinatra+sequel
20 楼
swachian
2008-06-27
rails很活跃,也很好,ruby就逊色的多.虽然是ruby造就了rails.
命名冲突比较郁闷,尤其是helper里面的.
说起erb,就让我想到了view.平心而论地说,rails这1-2年间在view层的进步并不大,大部分改进都是和ActiveRecord相关的,比如migration比如引入has_finder等等,而在view层,不管是拼html或者ajax的调用,差不多就是很早以前就达到的水平.各种插件的情况也大致如此,都是绝对加强了model,但对v和c的改进并不大.
命名冲突比较郁闷,尤其是helper里面的.
说起erb,就让我想到了view.平心而论地说,rails这1-2年间在view层的进步并不大,大部分改进都是和ActiveRecord相关的,比如migration比如引入has_finder等等,而在view层,不管是拼html或者ajax的调用,差不多就是很早以前就达到的水平.各种插件的情况也大致如此,都是绝对加强了model,但对v和c的改进并不大.
19 楼
ye_jian_hui
2008-06-27
matz也说了他当时做ruby的实现时很大一部份是参考python的实现,从这点上看在C的扩展上跟python像也正常
18 楼
liangshixing
2008-06-27
为什么不考虑JRuby呢?
17 楼
robbin
2008-06-27
to yaml:
一些少量的运用的确可以避免用C扩展,比方处理 图片可以直接调用ImageMagick,而不是用RMagick。但是有一些情况是程序需要大量的频繁使用,这种情况就无法回避了。
一些少量的运用的确可以避免用C扩展,比方处理 图片可以直接调用ImageMagick,而不是用RMagick。但是有一些情况是程序需要大量的频繁使用,这种情况就无法回避了。
16 楼
yawl
2008-06-27
关于nzinfo说
这点我觉得是褒奖ruby了。在语言设计上,我喜欢ruby远超过python。在实现上,ruby的代码太业余了,python则好很多。matz自己也清楚而且承认这点。
我现在喜欢的和其他语言的库结合方式就是通过命令行,文件或web接口,根本不会碰c extention的方式。正如robbin所说,太麻烦,不值得。
引用
我都怀疑Ruby在代码上抄袭Python了
这点我觉得是褒奖ruby了。在语言设计上,我喜欢ruby远超过python。在实现上,ruby的代码太业余了,python则好很多。matz自己也清楚而且承认这点。
我现在喜欢的和其他语言的库结合方式就是通过命令行,文件或web接口,根本不会碰c extention的方式。正如robbin所说,太麻烦,不值得。
15 楼
nzinfo
2008-06-26
关于Ruby的扩展,我有话说。:-)
Ruby和Python的接口风格非常像,我都怀疑Ruby在代码上抄袭Python了。
区别在于Python将引用计数的工作交给扩展的开发者了,而Ruby试图自己搞定。
这样,对于开发者的要求就不同了。Ruby的扩展要对语言本身这方面的处理更熟悉。而Python则由开发者控制,在某些情况下,可以牺牲内存来保证稳定性。
我的观点是,开发Ruby的扩展,尽量简洁,可能不是很Ruby Way,但是可以在上层在封装。保证系统的稳定性是第一要务。
如果要我选Web的开发语言,我肯定选Python。至少扩展库方面成熟太多了。
Ruby和Python的接口风格非常像,我都怀疑Ruby在代码上抄袭Python了。
区别在于Python将引用计数的工作交给扩展的开发者了,而Ruby试图自己搞定。
这样,对于开发者的要求就不同了。Ruby的扩展要对语言本身这方面的处理更熟悉。而Python则由开发者控制,在某些情况下,可以牺牲内存来保证稳定性。
我的观点是,开发Ruby的扩展,尽量简洁,可能不是很Ruby Way,但是可以在上层在封装。保证系统的稳定性是第一要务。
如果要我选Web的开发语言,我肯定选Python。至少扩展库方面成熟太多了。
14 楼
koda
2008-06-26
我是支持字符串拼接写View的,因为这样才简单(概念简单),易于理解.
13 楼
koda
2008-06-26
前几天开始学Python,但实在是不太喜欢Py的"__"变量命名方式;昨晚刚想转ROR。结果今天看到大牛你们却开始数落ROR了。我又开始摇摆不定了Orz……
关于这个问题,我的看法是:选择一门语言和框架,要看它是否存在致命的硬伤,如果某个部分的缺陷能迂回解决,就可以接受。
12 楼
koda
2008-06-26
关于Ruby的性能,是否能从Ruby解释器上下功夫?
11 楼
404
2008-06-26
引用
你自己写的代码里面给类增加的方法,动不动就和Rails给类扩展的方法名称冲突了。这种错误很隐蔽,很难发现。这也是ruby语言动态性带来的一个负面影响
这个问题太严重了。经常一个错误弄半天,最后才发现是冲突了。
这个问题太严重了。经常一个错误弄半天,最后才发现是冲突了。
如果是使用Netbeans编辑器的话,在你定义个方法或类时,可以选中方法名或者类名,然后 Ctrl + B 直接跳转到类和方法的源代码,如果不用跳到别的文件里边去,就说明你定义的方法名或者类名是不冲突的。
10 楼
hatedance
2008-06-26
出个馊主意。
命名冲突可以参考db里字段名跟sql关键词冲突的办法:加前缀。
命名冲突可以参考db里字段名跟sql关键词冲突的办法:加前缀。
9 楼
liusong1111
2008-06-26
传闻lua的C扩展很好吧,还好我做web开发,一般也不用C扩展。
命名冲突会碰上,我的情况是不常碰到,也只好通过跟踪stack trace、查看源码来发现它了。
helper里拼html是不好的模式,楼上几位提到的partial也是我们应对的方案。实在不行,我们就拿ERB.new(tempate_string).result(binding)死抗
我对rails的view方案很有意见,它跟rails塑造的品味不在一个档次,虽然比JSP好很多。
Java的velocity/freemarker我也不喜欢,又一套表达方式,个人看法,还不如ERB呢。
解决方案rails应该向flex的方式看齐。
haml也是另一套语法表达,而且有python痕迹,不喜欢。
malline还不错,只是成熟度有待考查,我们产品不敢贸然引入。
markaby不再维护了?请消息灵通的朋友帮忙证实一下。
malline的地址:
http://www.malline.org/
扩展性不错。
性能方面以前看到个贴说很差,但今天看它的页面里说:
如果能达到这样就很不错了。
bug应该少不了吧。
值得玩一玩。
命名冲突会碰上,我的情况是不常碰到,也只好通过跟踪stack trace、查看源码来发现它了。
helper里拼html是不好的模式,楼上几位提到的partial也是我们应对的方案。实在不行,我们就拿ERB.new(tempate_string).result(binding)死抗
我对rails的view方案很有意见,它跟rails塑造的品味不在一个档次,虽然比JSP好很多。
Java的velocity/freemarker我也不喜欢,又一套表达方式,个人看法,还不如ERB呢。
解决方案rails应该向flex的方式看齐。
haml也是另一套语法表达,而且有python痕迹,不喜欢。
malline还不错,只是成熟度有待考查,我们产品不敢贸然引入。
markaby不再维护了?请消息灵通的朋友帮忙证实一下。
malline的地址:
http://www.malline.org/
扩展性不错。
性能方面以前看到个贴说很差,但今天看它的页面里说:
引用
About performance
by Riku, 8 months ago
I have done some preliminary benchmarking between ERB and Malline. I used the templates from Beast to make the compare - rewrote the layout template, too.
Some of the tests are still in progress, but it seems that Malline is about as fast as ERB, maybe a little bit slower on some situations. The latest test tells that overall time taken on 500 page renders was 3% more with Malline than with ERB.
When the benchmarks are ready, I will publish the results here. However, I can already say that Malline is fast enough for production use.
by Riku, 8 months ago
I have done some preliminary benchmarking between ERB and Malline. I used the templates from Beast to make the compare - rewrote the layout template, too.
Some of the tests are still in progress, but it seems that Malline is about as fast as ERB, maybe a little bit slower on some situations. The latest test tells that overall time taken on 500 page renders was 3% more with Malline than with ERB.
When the benchmarks are ready, I will publish the results here. However, I can already say that Malline is fast enough for production use.
如果能达到这样就很不错了。
bug应该少不了吧。
值得玩一玩。
8 楼
tipfoo
2008-06-26
前几天开始学Python,但实在是不太喜欢Py的"__"变量命名方式;昨晚刚想转ROR。结果今天看到大牛你们却开始数落ROR了。我又开始摇摆不定了Orz……
前两天见过个测评,说Ruby1.9快1.8.x三四倍?
http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/
看看上面这个,可信度多少?
前两天见过个测评,说Ruby1.9快1.8.x三四倍?
http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/
看看上面这个,可信度多少?
7 楼
CaiDeHen
2008-06-26
你自己写的代码里面给类增加的方法,动不动就和Rails给类扩展的方法名称冲突了。这种错误很隐蔽,很难发现。这也是ruby语言动态性带来的一个负面影响
这个问题太严重了。经常一个错误弄半天,最后才发现是冲突了。
这个问题太严重了。经常一个错误弄半天,最后才发现是冲突了。
6 楼
dazuiba
2008-06-26
其他基本赞同,只有一点。我很不理解robbin对rails view的批评。
rsu 说了一个观点。
我这里,针对你说的"helper里进行html拼接",说一下我的看法:
你完全可以在helper里面使用render :partial。
把html的渲染交给rhtml
相比其他的显示层技术(php,jsp) 我认为rails的view技术是非常先进的。
如果能和helper结合好,会写出非常容易维护的rhtml代码!
rsu 说了一个观点。
我这里,针对你说的"helper里进行html拼接",说一下我的看法:
你完全可以在helper里面使用render :partial。
把html的渲染交给rhtml
相比其他的显示层技术(php,jsp) 我认为rails的view技术是非常先进的。
如果能和helper结合好,会写出非常容易维护的rhtml代码!
5 楼
shaka
2008-06-26
rails命名冲突确实存在,不知道DHH对此是什么态度。
不过既然用rails,就该遵循它的原则,再说每种语言都有关键字,用错了不一样有冲突么。
不向下兼容,这点不能算缺点吧,感觉只能算是一种态度。DHH也可以让rails兼容,不过那样恐怕又会有新的瑕疵出来。
至于Ruby的性能,现在确实是硬伤,以后会不会解决掉,就要看Ruby的造化了
不过既然用rails,就该遵循它的原则,再说每种语言都有关键字,用错了不一样有冲突么。
不向下兼容,这点不能算缺点吧,感觉只能算是一种态度。DHH也可以让rails兼容,不过那样恐怕又会有新的瑕疵出来。
至于Ruby的性能,现在确实是硬伤,以后会不会解决掉,就要看Ruby的造化了
4 楼
ozzzzzz
2008-06-26
对于rails的非议现在已经很多了,希望robbin好好总结一下这个方面的内容。
就ruby这个语言的问题,我是十分不喜欢,因为跟我的哲学思想不同。我认同python的哲学。
而就c扩展来说,ruby这个方面比python要有很大差距,毕竟社区的规模与人员的素质摆在那里,不可能很快解决。
就ruby这个语言的问题,我是十分不喜欢,因为跟我的哲学思想不同。我认同python的哲学。
而就c扩展来说,ruby这个方面比python要有很大差距,毕竟社区的规模与人员的素质摆在那里,不可能很快解决。
3 楼
rsu
2008-06-26
最后一个关于view的,我不同意。
使用最原始的html concat,才能达到最高的灵活性,而且,helper method也可以写得非常漂亮,如果你使用capture的话,你可以参考一个block_to_partial的现成例子,只要规划的好,可以做到:
这样就比较好看。
另外,为了让view美化,你可以参考haml,请google HAML。
使用最原始的html concat,才能达到最高的灵活性,而且,helper method也可以写得非常漂亮,如果你使用capture的话,你可以参考一个block_to_partial的现成例子,只要规划的好,可以做到:
<% content_box :background => :white do %> <%= content %> <% end %>
这样就比较好看。
另外,为了让view美化,你可以参考haml,请google HAML。
2 楼
haiyang
2008-06-26
对于命名冲突,不知道javaeye是怎样处理的?
发表评论
-
《松本行弘的程序世界》推荐序
2011-07-21 13:47 15263在流行的编程语言中,ruby是一个比较另类的存在,这是因为大多 ... -
从Rails聊聊小公司的研发团队建设
2011-03-23 10:49 37214首先分享一点数据吧: JavaEye的PV到了140万了,一 ... -
Ruby作为服务器端应用已经成熟了
2009-11-17 14:55 15935JavaEye网站在过去的Ruby on rails实践当中, ... -
基于资源的HTTP Cache的实现介绍
2009-09-05 00:27 17050我们都知道浏览器会缓 ... -
请注意Rails2.3自带的memcache-client有性能问题
2009-03-23 18:05 14475Rails2.3版本发布了,这个版本内部的改动非常大,相关介绍 ... -
监视Rails进程内存泄漏的技巧
2008-12-30 21:56 10954Rails应用比较容易遇到的两类性能问题:一类是Rails执行 ... -
ruby MBARI大补丁性能评测报告
2008-12-23 12:19 5070JavaEye之前的新闻ruby内存泄漏的罪魁祸首 - 幽灵指 ... -
在top监视窗口显示Rails当前正在执行的请求URL
2008-12-01 14:15 9857这是一个从PragDave的博客上面学来的技巧,很实用,很co ... -
对Ruby VM的GC的思考
2008-09-02 23:41 8977Ruby虽然是动态脚本语言 ... -
推荐一篇很好的RoR部署方案性能评测
2008-07-08 11:55 9637今年年初的时候,我写了一篇RoR部署方案深度剖析的文章,分析了 ... -
Skynet --- ruby的类Google Map/Reduce框架
2008-06-02 00:39 8295Skynet是一个很响亮的名 ... -
rmmseg-cpp - 简洁高效的ruby中文分词程序
2008-05-27 00:47 11234我在前一篇文章向大家 ... -
使用libmmseg实现Ruby的中文分词功能
2008-05-24 21:43 11325用Ruby on Rails开发web2.0网站的人都知道,r ... -
mod_rails尝鲜
2008-04-13 14:32 8080Passenger(俗称mod_rails)是 ... -
Lighttpd和RoR安装配置的疑难解答
2008-03-07 11:09 14846之前写过一篇在Linux平 ... -
JavaEye网站的RoR性能优化经验谈
2008-01-20 16:11 18444JavaEye网站从2006年9月11 ... -
RoR部署方案深度剖析
2008-01-14 03:10 14777RoR的部署方案可谓五花八门,有Apache/Fastcgi方 ... -
RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能
2008-01-12 17:45 10253传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应 ... -
Ruby为什么会受程序员的欢迎?
2008-01-07 20:08 15752孟岩最近写了一篇博客 ... -
Ruby on Rails 2.0的新特性介绍
2007-12-10 21:32 15620万众瞩目的Ruby on Rails 2.0已经发布了,Rai ...
相关推荐
这份压缩包文件“Python和Ruby比较优缺点共1页.pdf.zip”可能包含了一个对比这两种语言特性和优缺点的单页PDF文档。虽然具体内容无法直接提供,但我们可以根据已知信息来深入探讨Python和Ruby的基本特性以及它们在...
Ruby语言的优点和缺点 Ruby具有以下优点: * 语法简单易学 * 面向对象 * 动态性 * 生产力高 * 社区活跃 然而,Ruby也有一些缺点: * 性能较低 * 内存占用较高 * 依赖管理复杂 * 文档不足 Ruby语言的未来发展 ...
:globe_showing_Americas: Ruby和Rails的IP地址匿名器 适用于IPv4和IPv6 旨在帮助遵守 入门 将这些行添加到应用程序的Gemfile中: gem 'ip_anonymizer' 匿名IP有两种策略。 掩蔽 这是: 对于IPv4,将最后一个...
在Ruby on Rails框架中,ActionPack是一个核心组件,它包含了控制器、路由以及处理HTTP请求和响应的工具。Action Cache是ActionPack的一部分,主要用于提高Web应用的性能,通过缓存Action的输出来避免重复执行相同的...
在Ruby on Rails框架中,开发过程中经常需要创建、读取、更新和删除(CRUD)数据。为了提高开发效率,开发者通常会使用各种插件来自动化这个过程。CRUD Generator 2就是这样一个工具,它是一个基于Edge Rails(Rails...
每种方法都有其优缺点,开发者需要根据目标平台、性能需求和部署环境来选择最适合的方案。同时,确保正确处理所有依赖和配置,以及测试打包后的应用在不同环境下的运行情况,都是这一过程中的关键步骤。
Rails 多文件上传插件是基于 Ruby on Rails 框架的一款插件,旨在实现多文件的同时上传,控制文件的格式、数量,并且兼容多种浏览器,包括 IE6、7、Firefox 等。下面是对插件的详细解释和使用说明: 插件特点 1. ...
标题 "excel lib ror ruby" 暗示我们要讨论的是在Ruby on Rails(简称RoR)框架中使用库来处理Excel文件的相关知识。RoR是一个流行的开源Web开发框架,而Ruby语言本身支持与Microsoft Excel文件交互,这在数据导入...
Rails是一个用Ruby语言编写的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,并且强调代码的简洁性和开发者的生产力。 **1.1 Rails是敏捷的** Rails的设计原则之一就是支持敏捷开发。它内置了许多...
综上所述,Ruby和Java各有优缺点,选择应基于项目需求、团队技能和现有基础设施。Java以其稳定性和丰富的库适合大型企业级应用,而Ruby则以其高效开发速度和简洁语法吸引着初创公司和快速迭代的项目。重要的是理解每...
3. Rails 框架:Ruby on Rails 提供了一个强大的 web 开发框架,加速了 web 应用的开发。 4. 社区支持:Ruby 有一个活跃的社区,提供丰富的库和工具。 缺点: 1. 性能:与 Python 类似,Ruby 的执行速度也不快,...
1. **JRuby简介**:解释JRuby是什么,它是如何实现Ruby语言的,以及它相对于MRI(Matz's Ruby Interpreter)的优点和缺点。 2. **安装与配置**:详细步骤指导如何在不同环境中安装JRuby,并设置为Rails项目的默认...
Ruby的缺点在于相对较少的社区支持和资源,以及在性能方面同样不如编译型语言。 尽管这三种语言在游戏开发中都有其独特的优点和局限性,但它们共同的特点是易于学习和使用,特别是对于初学者而言。在实际选择时,...
不过,这些缺点并未阻止Ruby成为众多开发者喜爱的选择,尤其是在Web开发领域,Ruby on Rails框架的流行便是最佳例证。 #### 二、Ruby与Python的比较 尽管Python以其广泛的库支持和易学性闻名,Matz认为Python在...
Ruby on Rails的崛起使得迁移至Ruby的风险逐渐降低,因为随着社区的壮大和相关资源的增加,开发者可以更容易地获取帮助和学习资料。然而,作为一种相对较新的语言,Ruby在某些场景下的性能可能不及Java,而且在企业...
Rails是一个流行的Ruby web框架,它提供了许多用于构建高效和可扩展的web应用的功能。在Rails应用中,用户认证和授权是关键的安全组件,确保只有经过验证的用户才能访问受保护的资源。本篇文章将深入探讨两个常用的...
在前两版的内容架构基础上,第3版增加了对Rails 2中新特性和最佳实践的内容介绍。相比第2版中的内容,Rails 2增加了REST、资源、轻量级web service等新特性。本书涵盖了这些全新的内容,因此能更好地体现出Rails框架...