- 浏览: 4826570 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:137513
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
JavaEye3.0的开发计划都喊了好久了,现在还刚刚开始,只完成了很少的一部分。为了3.0能够早日上线,我从这周开始把自己的大部分时间投入了编码工作。借这个机会,我准备边开发JavaEye3.0,边写写心得体会,与大家交流和分享使用RoR开发一个互联网web2.0网站的点点滴滴。
好了,开工!第一步就是搭建一个趁手的开发环境。我没有MacBook电脑,只有一台三年前买的IBM T40,跑MacOSX很勉强,还是在WindowsXP上面做开发吧。既然在WindowsXP上面开发,那IDE选什么呢?我选netbeans Ruby IDE:
一、 RoR IDE
http://deadlock.netbeans.org/hudson/job/ruby/
你可以从这个地方下载Ruby IDE专用版本的netbeans,只有30MB大小,速度比RadRails还快!netbeans的RoR支持很强大,但也要注意两点:
1) 一定要用JDK6.0,否则netbeans会很慢
2) 一定要修改JDK的字体文件,否则中文显示乱码(参考JavaEye论坛的dcaoyuan的帖子)
看我的截图:
netbeans Ruby IDE有很多很棒的快捷键,例如:
快速打开ruby类(包括系统类库) - Ctrl + O
快速打开当前项目文件 - Alt + Shift + O
在controller和view直接跳转 - Ctrl + Shift + A
在controller/model和test/spec之间跳转 - Ctrl + Shift + T
直接跳转到类和方法的源代码 - Ctrl + B
自动补齐 - Ctrl + \
方法参数提示 - Ctrl + P
快速修复提示 - Alt + Enter
上下文帮助 - Ctrl + Shift + Enter
重命名重构 - Ctrl + R
还有很多很多,可以参考这里:
http://wiki.netbeans.org/wiki/view/RubyShortcuts
netbeans用熟了以后,开发效率很高,大家慢慢体会。
然后就是console控制台了
二、命令行窗口
WindowsXP的命令行窗口实在太难用了,有没有好一点的解决办法呢?有!我用的是cygwin
常用Unix Shell工具一应俱全,连vim也装上了,实在是方便阿!
从截图里面大家可以看到Unix独有的tail -f log/development.log,可以动态观测开发日志的输出,这个东西实在很有用。 Windows平台也有很多tail的实现工具,但是无一例外不能按照Unix格式正常显示输出,只有cygwin和Radrails的tail是正常的。
唯一不爽的是在cygwin下面敲命令要带后缀,例如rake.bat stats, mongrel_rails.cmd start诸如此类。不过解决起来容易的很,我修改.bash_profile把$HOME/bin加入$PATH最前面,然后把这些命令统统在我的$HOME/bin下面建立符号连接,搞定!
三、rails plugin
罗列一下吧:
1) rspec, rspec_on_rails 这个用来取代test的,为什么要用rspec,是因为spec更加需求化,符合BDD编程的思路(行为驱动编程),而且rspec本身比rails的test功能支持更强大一些
2) ferret, acts_as_ferret, multilingual_ferret_tools 这个是用来做全文检索的,不用多说了吧,至于怎么更好的组织全文检索,我还没有来得及好好设计,慢慢来吧
3) attachment_fu 这个是用来保存附件的,本身使用了AR的多态关联
4) cache_fu 用来做对象缓存和查询缓存的
5) bbcodeizer 这个就是ruby版的bbocde解析器了,当然功能不算完整,要自己修改
6) acts_as_taggable 顾名思义,用来保存和操作用户自定义tag的
7) will_paginate 是rails内置paginate的绝好替代
四、文档帮助
1) fastri 你还在用ri来查文档吗?那你一定会抱怨ri实在太慢了,没关系,开命令窗口:
gem install fastri
按照快速ri这个gem包,然后
fastri-server -b
建立索引,然后你再使用qri查文档,速度是不是快了n倍?
2) rails文档活字典 看看这个网站:
http://www.railsbrain.com/api/rails-1.2.3/doc/index.html
怎么样?方便吧,赶快下载离线版rails帮助吧。我的FireFox一定要开两个tab,一个就是这个帮助,另外一个才是测试网页的。
五、调试器
别看ruby是动态语言,其实调试器功能并不比Java差,开命令窗口:
gem install ruby-debug-ide -y
然后开你的netbeans,打开调试器功能,以debug方式启动rails项目,哈哈,和Eclipse一样强大,在断点可以跟踪堆栈,watch变量,单步执行等等:
六、测试覆盖率
想知道项目的测试覆盖率吗?开命令窗口:
gem install rcov
然后配置一下rake tasks,执行就可以获得整个项目的测试覆盖率,不错吧?
光path没用,应该还要设置 JAVA_HOME吧。
我在ubuntu里试用了一下,好象有两个BUG:
(1)编辑器经常被锁住,键盘打字不上去。只能关掉文件,再打开才行。
(2)中文输入法在netbeans里无效,中文输入不了。
楼上用什么输入法?
如果是scim的确有这个问题,换用fcitx,至少这些问题在我的电脑上全部消失.
我的一个问题:
在ubuntu7.04下,默认字体实在是难看
我所有的开发环境使用的字体都设置成等宽字体:Bitstream Vera Sans Mono
如果用NetBeans的默认字体,显示和输入中文都没有问题,但是换用自定义字体,则输入,显示中文字符都是小方块
我也尝试过在/usr/lib/jvm/jre/lib/fonts下建立一个fallback目录,放一个中文字体在里面,没有效果.
光path没用,应该还要设置 JAVA_HOME吧。
我在ubuntu里试用了一下,好象有两个BUG:
(1)编辑器经常被锁住,键盘打字不上去。只能关掉文件,再打开才行。
(2)中文输入法在netbeans里无效,中文输入不了。
在系统的高级设置里面可以修改,不过要每种文件类型一一修改,比较麻烦,我的办法是直接改配置文件,一劳永逸。寻找该目录(是隐藏目录): C:\Documents and Settings\robbin\Application Data\.nbrubyide\dev\config\Editors\text\base
上述的\robbin\要改成你的用户名,编辑\base目录下面的properties.xml文件,加入:
1) 一定要用JDK6.0,否则netbeans会很慢
2) 一定要修改JDK的字体文件,否则中文显示乱码(参考JavaEye论坛的dcaoyuan的帖子)
补充一下
1)修改\nbrubyide\etc\nbrubyide\nbrubyide.conf文件
将#jdkhome="/path/to/jdk" 修改为你的jdk路径
2)dcaoyuan的帖子链接是:
http://dcaoyuan.iteye.com/blog/55085
关于字体我是直接设置为微软雅黑就没有乱码的问题了。
另外:这个ruby ide的下载很慢,x k/s,不知道大家的下载速度怎么样?
好了,开工!第一步就是搭建一个趁手的开发环境。我没有MacBook电脑,只有一台三年前买的IBM T40,跑MacOSX很勉强,还是在WindowsXP上面做开发吧。既然在WindowsXP上面开发,那IDE选什么呢?我选netbeans Ruby IDE:
一、 RoR IDE
http://deadlock.netbeans.org/hudson/job/ruby/
你可以从这个地方下载Ruby IDE专用版本的netbeans,只有30MB大小,速度比RadRails还快!netbeans的RoR支持很强大,但也要注意两点:
1) 一定要用JDK6.0,否则netbeans会很慢
2) 一定要修改JDK的字体文件,否则中文显示乱码(参考JavaEye论坛的dcaoyuan的帖子)
看我的截图:
netbeans Ruby IDE有很多很棒的快捷键,例如:
快速打开ruby类(包括系统类库) - Ctrl + O
快速打开当前项目文件 - Alt + Shift + O
在controller和view直接跳转 - Ctrl + Shift + A
在controller/model和test/spec之间跳转 - Ctrl + Shift + T
直接跳转到类和方法的源代码 - Ctrl + B
自动补齐 - Ctrl + \
方法参数提示 - Ctrl + P
快速修复提示 - Alt + Enter
上下文帮助 - Ctrl + Shift + Enter
重命名重构 - Ctrl + R
还有很多很多,可以参考这里:
http://wiki.netbeans.org/wiki/view/RubyShortcuts
netbeans用熟了以后,开发效率很高,大家慢慢体会。
然后就是console控制台了
二、命令行窗口
WindowsXP的命令行窗口实在太难用了,有没有好一点的解决办法呢?有!我用的是cygwin
常用Unix Shell工具一应俱全,连vim也装上了,实在是方便阿!
从截图里面大家可以看到Unix独有的tail -f log/development.log,可以动态观测开发日志的输出,这个东西实在很有用。 Windows平台也有很多tail的实现工具,但是无一例外不能按照Unix格式正常显示输出,只有cygwin和Radrails的tail是正常的。
唯一不爽的是在cygwin下面敲命令要带后缀,例如rake.bat stats, mongrel_rails.cmd start诸如此类。不过解决起来容易的很,我修改.bash_profile把$HOME/bin加入$PATH最前面,然后把这些命令统统在我的$HOME/bin下面建立符号连接,搞定!
三、rails plugin
罗列一下吧:
1) rspec, rspec_on_rails 这个用来取代test的,为什么要用rspec,是因为spec更加需求化,符合BDD编程的思路(行为驱动编程),而且rspec本身比rails的test功能支持更强大一些
2) ferret, acts_as_ferret, multilingual_ferret_tools 这个是用来做全文检索的,不用多说了吧,至于怎么更好的组织全文检索,我还没有来得及好好设计,慢慢来吧
3) attachment_fu 这个是用来保存附件的,本身使用了AR的多态关联
4) cache_fu 用来做对象缓存和查询缓存的
5) bbcodeizer 这个就是ruby版的bbocde解析器了,当然功能不算完整,要自己修改
6) acts_as_taggable 顾名思义,用来保存和操作用户自定义tag的
7) will_paginate 是rails内置paginate的绝好替代
四、文档帮助
1) fastri 你还在用ri来查文档吗?那你一定会抱怨ri实在太慢了,没关系,开命令窗口:
gem install fastri
按照快速ri这个gem包,然后
fastri-server -b
建立索引,然后你再使用qri查文档,速度是不是快了n倍?
2) rails文档活字典 看看这个网站:
http://www.railsbrain.com/api/rails-1.2.3/doc/index.html
怎么样?方便吧,赶快下载离线版rails帮助吧。我的FireFox一定要开两个tab,一个就是这个帮助,另外一个才是测试网页的。
五、调试器
别看ruby是动态语言,其实调试器功能并不比Java差,开命令窗口:
gem install ruby-debug-ide -y
然后开你的netbeans,打开调试器功能,以debug方式启动rails项目,哈哈,和Eclipse一样强大,在断点可以跟踪堆栈,watch变量,单步执行等等:
六、测试覆盖率
想知道项目的测试覆盖率吗?开命令窗口:
gem install rcov
然后配置一下rake tasks,执行就可以获得整个项目的测试覆盖率,不错吧?
评论
26 楼
glchengang
2007-08-23
我装了fcitx,在netbeans中输入中文的问题解决了,但编辑器锁死无法输入字符的问题还是存在. 当你在编辑器里调用一下右键快捷菜单的某项,再回到编辑器后,即被锁死.
25 楼
glamey
2007-08-23
不知道有没有RUBY入门的中文文档.现在急需,希望ROBBIN大哥帮我找下。
24 楼
lgn21st
2007-08-23
glchengang 写道
yananay 写道
我安装了jdk1.4 和 jdk6,我已经在path里设置了使用jdk6的bin目录,为什么一运行却提示我:没有安装jdk5?
光path没用,应该还要设置 JAVA_HOME吧。
我在ubuntu里试用了一下,好象有两个BUG:
(1)编辑器经常被锁住,键盘打字不上去。只能关掉文件,再打开才行。
(2)中文输入法在netbeans里无效,中文输入不了。
楼上用什么输入法?
如果是scim的确有这个问题,换用fcitx,至少这些问题在我的电脑上全部消失.
我的一个问题:
在ubuntu7.04下,默认字体实在是难看
我所有的开发环境使用的字体都设置成等宽字体:Bitstream Vera Sans Mono
如果用NetBeans的默认字体,显示和输入中文都没有问题,但是换用自定义字体,则输入,显示中文字符都是小方块
我也尝试过在/usr/lib/jvm/jre/lib/fonts下建立一个fallback目录,放一个中文字体在里面,没有效果.
23 楼
glchengang
2007-08-23
yananay 写道
我安装了jdk1.4 和 jdk6,我已经在path里设置了使用jdk6的bin目录,为什么一运行却提示我:没有安装jdk5?
光path没用,应该还要设置 JAVA_HOME吧。
我在ubuntu里试用了一下,好象有两个BUG:
(1)编辑器经常被锁住,键盘打字不上去。只能关掉文件,再打开才行。
(2)中文输入法在netbeans里无效,中文输入不了。
22 楼
glchengang
2007-08-23
在ubuntu 7.04下打开netbeans Ruby IDE是一片空白。
解决:
sudo gedit /etc/environment
加一句
AWT_TOOLKIT="MToolkit"
然后重启计算机。
解决:
sudo gedit /etc/environment
加一句
AWT_TOOLKIT="MToolkit"
然后重启计算机。
21 楼
glchengang
2007-08-21
Ruby的调试,以前我在radrails试用过,速度慢极。不知道netbean的调试器的速度如何。
20 楼
iamasnail
2007-08-20
谢谢robbin这么慷慨的分享自己的经验,我想对每一个RoR爱好者都有帮助。
19 楼
yananay
2007-08-20
我安装了jdk1.4 和 jdk6,我已经在path里设置了使用jdk6的bin目录,为什么一运行却提示我:没有安装jdk5?
18 楼
warren
2007-08-20
不错,不过netbeans总是用不惯,快捷键知道的太少,还的多学啊.
17 楼
onlykwx
2007-08-20
来学习了!!!
16 楼
stworthy
2007-08-20
用Dreamweaver编辑RHTML文件会更方便些。
15 楼
SteveGY
2007-08-18
tail -f 这种功能,用C随手写一个,Windows有监视文件系统的基本API,很容易做的
不过,我一直是直接开着EditPlus之类的,Open这个需要监视的文件,当文件内容变化的时候EditPlus可以直接提示或加载文件变化的内容的。
不过,我一直是直接开着EditPlus之类的,Open这个需要监视的文件,当文件内容变化的时候EditPlus可以直接提示或加载文件变化的内容的。
14 楼
hlxiong
2007-08-17
robbin诲人不倦,衷心赞扬!
13 楼
kris_xu
2007-08-17
学习中。
12 楼
pig345
2007-08-17
robbin为什么不用suse了
另外,我看到你的nbrubyide是070810的,我下的070809以后的版本里面rails debug都是有问题的,总提示无法连接server,难道win下没问题?(我是 opensuse10.2 gnome jdk1.6.0 ruby1.8.6 rails1.2.3 ruby-debug-base0.9.3 ruby-debug-ide0.1.8)
另外,我看到你的nbrubyide是070810的,我下的070809以后的版本里面rails debug都是有问题的,总提示无法连接server,难道win下没问题?(我是 opensuse10.2 gnome jdk1.6.0 ruby1.8.6 rails1.2.3 ruby-debug-base0.9.3 ruby-debug-ide0.1.8)
11 楼
xxj
2007-08-17
robbin回复的真快,多谢了
我修改了base下的properties,但是依然无效,x-ruby目录下的properties也有该值,value为true,似乎覆盖了base的值,我删除了该行才生效...
我修改了base下的properties,但是依然无效,x-ruby目录下的properties也有该值,value为true,似乎覆盖了base的值,我删除了该行才生效...
10 楼
fkpwolf
2007-08-17
问以下:netbeans的rails开发不是供jruby开发用的么?
btw:Thoughtworks好像有个新的产品,mingle啥的,用来管理agile开发的,它就是基于jruby的,跑在tocmat上,相当的cutting edge
btw:Thoughtworks好像有个新的产品,mingle啥的,用来管理agile开发的,它就是基于jruby的,跑在tocmat上,相当的cutting edge
9 楼
robbin
2007-08-17
xxj 写道
在Netbeans 中多个丑陋的线
他太短了,习惯了IDEA,他应该是80个字符左右,但是在NETBEANS中似乎间距太短了,不知到怎么去掉,或者变大...
他太短了,习惯了IDEA,他应该是80个字符左右,但是在NETBEANS中似乎间距太短了,不知到怎么去掉,或者变大...
在系统的高级设置里面可以修改,不过要每种文件类型一一修改,比较麻烦,我的办法是直接改配置文件,一劳永逸。寻找该目录(是隐藏目录): C:\Documents and Settings\robbin\Application Data\.nbrubyide\dev\config\Editors\text\base
上述的\robbin\要改成你的用户名,编辑\base目录下面的properties.xml文件,加入:
<property class="java.lang.Boolean" name="text-limit-line-visible" value="false"/>
8 楼
leondu
2007-08-17
robbin 写道
1) 一定要用JDK6.0,否则netbeans会很慢
2) 一定要修改JDK的字体文件,否则中文显示乱码(参考JavaEye论坛的dcaoyuan的帖子)
补充一下
1)修改\nbrubyide\etc\nbrubyide\nbrubyide.conf文件
将#jdkhome="/path/to/jdk" 修改为你的jdk路径
2)dcaoyuan的帖子链接是:
http://dcaoyuan.iteye.com/blog/55085
关于字体我是直接设置为微软雅黑就没有乱码的问题了。
另外:这个ruby ide的下载很慢,x k/s,不知道大家的下载速度怎么样?
7 楼
xxj
2007-08-17
在Netbeans 中多个丑陋的线
他太短了,习惯了IDEA,他应该是80个字符左右,但是在NETBEANS中似乎间距太短了,不知到怎么去掉,或者变大...
他太短了,习惯了IDEA,他应该是80个字符左右,但是在NETBEANS中似乎间距太短了,不知到怎么去掉,或者变大...
发表评论
-
《松本行弘的程序世界》推荐序
2011-07-21 13:47 15314在流行的编程语言中,ruby是一个比较另类的存在,这是因为大多 ... -
从Rails聊聊小公司的研发团队建设
2011-03-23 10:49 37236首先分享一点数据吧: JavaEye的PV到了140万了,一 ... -
Ruby作为服务器端应用已经成熟了
2009-11-17 14:55 15982JavaEye网站在过去的Ruby on rails实践当中, ... -
基于资源的HTTP Cache的实现介绍
2009-09-05 00:27 17079我们都知道浏览器会缓 ... -
请注意Rails2.3自带的memcache-client有性能问题
2009-03-23 18:05 14522Rails2.3版本发布了,这个版本内部的改动非常大,相关介绍 ... -
监视Rails进程内存泄漏的技巧
2008-12-30 21:56 10975Rails应用比较容易遇到的两类性能问题:一类是Rails执行 ... -
ruby MBARI大补丁性能评测报告
2008-12-23 12:19 5075JavaEye之前的新闻ruby内存泄漏的罪魁祸首 - 幽灵指 ... -
在top监视窗口显示Rails当前正在执行的请求URL
2008-12-01 14:15 9864这是一个从PragDave的博客上面学来的技巧,很实用,很co ... -
对Ruby VM的GC的思考
2008-09-02 23:41 8990Ruby虽然是动态脚本语言 ... -
推荐一篇很好的RoR部署方案性能评测
2008-07-08 11:55 9687今年年初的时候,我写了一篇RoR部署方案深度剖析的文章,分析了 ... -
Ruby和Rails的缺点
2008-06-25 21:08 17411有人说,robbin你说了那么多RoR的优点,你啥时候说说Ro ... -
Skynet --- ruby的类Google Map/Reduce框架
2008-06-02 00:39 8303Skynet是一个很响亮的名 ... -
rmmseg-cpp - 简洁高效的ruby中文分词程序
2008-05-27 00:47 11243我在前一篇文章向大家 ... -
使用libmmseg实现Ruby的中文分词功能
2008-05-24 21:43 11339用Ruby on Rails开发web2.0网站的人都知道,r ... -
mod_rails尝鲜
2008-04-13 14:32 8086Passenger(俗称mod_rails)是 ... -
Lighttpd和RoR安装配置的疑难解答
2008-03-07 11:09 14869之前写过一篇在Linux平 ... -
JavaEye网站的RoR性能优化经验谈
2008-01-20 16:11 18472JavaEye网站从2006年9月11 ... -
RoR部署方案深度剖析
2008-01-14 03:10 14816RoR的部署方案可谓五花八门,有Apache/Fastcgi方 ... -
RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能
2008-01-12 17:45 10274传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应 ... -
Ruby为什么会受程序员的欢迎?
2008-01-07 20:08 15755孟岩最近写了一篇博客 ...
相关推荐
### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...
NULL 博文链接:https://ago520.iteye.com/blog/814571
NULL 博文链接:https://ago520.iteye.com/blog/754087
【JavaEye论坛热点 - 2008年11月 - 总第6期】是2008年11月JavaEye论坛上讨论的热点话题汇总,包含了多个关于Java和软件开发领域的讨论主题。以下将对部分主题进行详细解释: 1. **领域模型的价值与困境** - 领域...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了深入学习Java,了解并掌握其API(应用程序接口)以及使用高效的开发工具是至关重要的。下面,我们将详细探讨Java学习网站、API手册、...
9. **移动开发**:随着Android的崛起,Java在移动开发领域的应用也可能是热点话题之一。 10. **面试与职业发展**:Java程序员的面试技巧、职场经验分享、职业规划等内容,对于求职者和开发者都有参考价值。 通过...
JavaEye新闻月刊2009年3月第13期内容涉及了当时软件开发领域内的一系列重要话题,包括IBM拟收购Sun Microsystems公司的新闻报道、Java社区对此的看法以及各种编程语言、开发工具和技术的新动态。 首先,新闻月刊...
【JavaEye论坛热点推荐 - 2009年09月 - 总第16期】 这期JavaEye论坛的热点推荐涵盖了多个Java相关的技术话题,包括JDK7的新特性、HTTP缓存、Android开发、Java编程面试问题、Hibernate缓存、网页数据存储设计、热...
"JavaEye博文" 本资源摘要信息来自JavaEye博文,作者cutesunshineriver,发布于2010年。...本资源摘要信息涵盖了软件开发、编程、项目管理等多方面的知识点,是软件开发和项目管理专业人士的必读之作。
Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mhtJsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht
【JavaEye新闻月刊 - 2009年2月 - 总第12期】是一本专注于软件行业的专业杂志,主要关注Java及其相关领域的最新动态和技术进展。该月刊从JavaEye新闻频道的海量新闻中精选出精华内容,帮助读者把握国内外软件行业的...
以上就是对JavaEye+技术架构中可能包含的一些核心技术和工具的解析,这些技术和工具共同构成了一个高效、灵活且易于维护的开发环境。具体到每个文件,可能涵盖了上述技术的配置文件、源代码、文档说明等内容,通过...
【Java编程】 1. **Google核心Java类库开源** 在2009年9月,Google宣布其核心Java类库开源,这个类库被称为Guava。Guava项目最初是建立在google ...这些信息对于理解当时的Java开发环境和技术趋势具有重要价值。