`
robbin
  • 浏览: 4812698 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:136395
社区版块
存档分类
最新评论

JavaEye3.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,执行就可以获得整个项目的测试覆盖率,不错吧?

分享到:
评论
6 楼 xxboy 2007-08-17  
受益了
5 楼 nonocast 2007-08-17  
tks!
4 楼 edge_hh 2007-08-17  
谢谢提供30mb的netbeans的信息
3 楼 caibaohua 2007-08-17  
学到很多 不过我习惯了textmate, 改填装一下netbeans看看
2 楼 kaven 2007-08-17  
我比较头痛RMagick这类需要调用本地c lib的库,如果在win32下开发,
就必须先装一份win32版本的ImageMagick,到发布的时候linux下面还要
装另外一套,通常win32下面版本要老很多,如果到时候再发生2个版本兼
容问题就更加痛苦了。
此外thread,deamon之类win32上面没有完整实现,虽然简单rails开发
不会遇到,但是总是会有很多麻烦事情,所以我一直考虑把开发环境移到和
发布环境一致的linux上面。
可能ubuntu+netbeans或者vim是一个不错的选择。
1 楼 深蓝_ 2007-08-16  
很有帮助!
不过下载了netbeans并短暂试用之后,暂时还未发现它相对于RedRails的优势。。。

相关推荐

    JavaEye3.0开发手记

    ### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...

    基于JavaEye-API实现的Gerry-聊天Dos版v1.0-lib库

    NULL 博文链接:https://ago520.iteye.com/blog/814571

    基于JavaEye-API实现的Gerry-聊天QQ版v1.0 (全)

    NULL 博文链接:https://ago520.iteye.com/blog/754087

    JavaEye论坛热点_-_2008年11月_-_总第6期

    【JavaEye论坛热点 - 2008年11月 - 总第6期】是2008年11月JavaEye论坛上讨论的热点话题汇总,包含了多个关于Java和软件开发领域的讨论主题。以下将对部分主题进行详细解释: 1. **领域模型的价值与困境** - 领域...

    Java学习网站---API手册下载---开发工具---项目源码---学习资料汇总

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了深入学习Java,了解并掌握其API(应用程序接口)以及使用高效的开发工具是至关重要的。下面,我们将详细探讨Java学习网站、API手册、...

    javaEye论坛热点09年1月-09年10月

    9. **移动开发**:随着Android的崛起,Java在移动开发领域的应用也可能是热点话题之一。 10. **面试与职业发展**:Java程序员的面试技巧、职场经验分享、职业规划等内容,对于求职者和开发者都有参考价值。 通过...

    JavaEye新闻月刊_-_2009年3月_-_总第13期

    JavaEye新闻月刊2009年3月第13期内容涉及了当时软件开发领域内的一系列重要话题,包括IBM拟收购Sun Microsystems公司的新闻报道、Java社区对此的看法以及各种编程语言、开发工具和技术的新动态。 首先,新闻月刊...

    JavaEye论坛热点推荐_-_2009年09月_-_总第16期.pdf

    【JavaEye论坛热点推荐 - 2009年09月 - 总第16期】 这期JavaEye论坛的热点推荐涵盖了多个Java相关的技术话题,包括JDK7的新特性、HTTP缓存、Android开发、Java编程面试问题、Hibernate缓存、网页数据存储设计、热...

    Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht

    Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mhtJsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht

    JavaEye新闻月刊 - 2009年2月 - 总第12期.pdf

    【JavaEye新闻月刊 - 2009年2月 - 总第12期】是一本专注于软件行业的专业杂志,主要关注Java及其相关领域的最新动态和技术进展。该月刊从JavaEye新闻频道的海量新闻中精选出精华内容,帮助读者把握国内外软件行业的...

    JavaEye+技术架构

    以上就是对JavaEye+技术架构中可能包含的一些核心技术和工具的解析,这些技术和工具共同构成了一个高效、灵活且易于维护的开发环境。具体到每个文件,可能涵盖了上述技术的配置文件、源代码、文档说明等内容,通过...

    JavaEye新闻月刊 - 2009年09月 - 总第19期.pdf

    【Java编程】 1. **Google核心Java类库开源** 在2009年9月,Google宣布其核心Java类库开源,这个类库被称为Guava。Guava项目最初是建立在google ...这些信息对于理解当时的Java开发环境和技术趋势具有重要价值。

Global site tag (gtag.js) - Google Analytics