论坛首页 编程语言技术论坛

JavaEye3.0开发手记之一 - 我的开发环境

浏览 53074 次
该帖已经被评为精华帖
作者 正文
   发表时间:2007-08-16  
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,执行就可以获得整个项目的测试覆盖率,不错吧?

   发表时间:2007-08-16  
很有帮助!
不过下载了netbeans并短暂试用之后,暂时还未发现它相对于RedRails的优势。。。
0 请登录后投票
   发表时间:2007-08-17  
我比较头痛RMagick这类需要调用本地c lib的库,如果在win32下开发,
就必须先装一份win32版本的ImageMagick,到发布的时候linux下面还要
装另外一套,通常win32下面版本要老很多,如果到时候再发生2个版本兼
容问题就更加痛苦了。
此外thread,deamon之类win32上面没有完整实现,虽然简单rails开发
不会遇到,但是总是会有很多麻烦事情,所以我一直考虑把开发环境移到和
发布环境一致的linux上面。
可能ubuntu+netbeans或者vim是一个不错的选择。
0 请登录后投票
   发表时间:2007-08-17  
学到很多 不过我习惯了textmate, 改填装一下netbeans看看
0 请登录后投票
   发表时间:2007-08-17  
在Netbeans 中多个丑陋的线 

他太短了,习惯了IDEA,他应该是80个字符左右,但是在NETBEANS中似乎间距太短了,不知到怎么去掉,或者变大...
0 请登录后投票
   发表时间: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,不知道大家的下载速度怎么样?
0 请登录后投票
   发表时间:2007-08-17  
xxj 写道
在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"/>
0 请登录后投票
   发表时间:2007-08-17  
问以下:netbeans的rails开发不是供jruby开发用的么?
btw:Thoughtworks好像有个新的产品,mingle啥的,用来管理agile开发的,它就是基于jruby的,跑在tocmat上,相当的cutting edge
0 请登录后投票
   发表时间:2007-08-17  
robbin回复的真快,多谢了

我修改了base下的properties,但是依然无效,x-ruby目录下的properties也有该值,value为true,似乎覆盖了base的值,我删除了该行才生效...
0 请登录后投票
   发表时间: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)
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics