Let's go inside

this blog is deprecated as a result of laziness.
posts - 59, comments - 2, trackbacks - 0, articles - 0

项目选型笔记

Posted on 2006-08-01 15:56 Earth 阅读(764) 评论(0)  编辑  收藏 所属分类: Java
1、开发框架
参考springside,但是把其中的hibernate换为iBatis。

原因:iBatis只是在jdbc的基础上封装了薄薄的一层,完成javabean<->row之间的转换,很快能上手。如果用hibernate,新手半个月都不一定能学会,还不知道会出什么问题。只是iBatis的开发效率明显要比hibernate低不少。

hibernate与iBatis有一个非常明显的区别,即hibernate是透明持久化,让你感觉不到数据库的存在,以对象的形式思考,你的持久层不会在某种具体的数据库。而iBatis,正好相反,它就是让你紧紧绑在某一个数据库,并充分该数据库提供的扩展功能。hibernate的抽象层次比iBatis要高一层。

考虑使用hibernate还是iBatis,应该从下面两个方面考虑:
1。你的项目是全新的,还是在以前的系统上做。如果是前者,并且有足够的技术储备,不妨用hibernate,因为它的开发效率比较高,以对象的角度操作数据库,会让人觉得心情舒畅。而如果是后者,则可考虑iBatis,因为遗留系统的数据库的设计一般难以转换为对象形式。但不论如何,最好不要直接使用jdbc的api来做,因为你往往需要在jdbc上进行自己的封装,这时候,你其实实现了一个不太完善及可靠的iBatis。

2。技术人员水平。如果没有一个对hibernate相当熟悉有相当经验的人在,最好还是用iBatis。因为hibernate里的那些细节问题,往往能把新手搞得半死。

其它的部分尽力参考springside,牛人作品,有详细的文档,而且真的感觉非常实在、实用。

2、开发工具
eclipse:
优点多多,免费、开源、重构功能强、插件一大堆,用得很顺手。

要使用的插件列表:
MyEclipse--该用的都有了,必备
Subclipse--subversion插件
xmlbuddy--xml编辑器,用起来比较顺手
FindBugs--动态提示JAVA代码中的潜在bug,http://findbugs.cs.umd.edu/eclipse
安装后要启用:项目点右键->属性->FindBugs->Run FindBugs automatically

3、版本控制
subversion:
eclipse的Subclipse插件做的不错,使用了一下,感觉与eclipse自带的CVS不相上下。但是以前用CVS的时候,有些地方觉得不太舒服,所以用它试试。不行的话,再换成CVS。毕竟CVS已经有很多年了,书也比较多。

svn安装:
http://blog.sina.com.cn/u/48f4d1d9010002s7
http://xfspeed.cnblogs.com/archive/2006/07/14/433043.html
注意两点:1. svnserve.conf中等前面不要加空格,否则一定出错
          2. 文中的“svnadmin create D:\repository\subversion\projectname”时,如果在eclipse使用svn插件,则为:svnadmin create D:\repository\subversion
          3. svnserve.conf中的“# authz-db = authz”,它是SVN与apache结合时才用的

与subversion对应的工具:
ViewCVS (http://viewcvs.sourceforge.net/)
基于 Python 的 CGI 脚本,用来浏览 CVS 和 Subversion 仓库
WebSVN (http://websvn.tigris.org/)
基于 PHP 的 Subversion 第三方仓库浏览工具
上面两个东西还没下载使用,先写在这里,等试用后再改。

安装了WebSVN,感觉不错,有中文语言包,很好。
1。把压缩包解压后放到GreenAMP的www目录下
2。把include/distconfig.inc改名为include/config.inc
3。在config.inc中:
   $config->setServerIsWindows();
   $config->addRepository("name", "svn://localhost/name", NULL, "pass", "pass");
   $config->parentPath("G:\\SVNROOT");
   $config->setInputEncoding("GBK");
   $config->setContentEncoding("GBK");

还有一个叫Trac的东西,听起来很强:基于 Web 的软件项目管理、漏洞跟踪、发布系统,使用版本控制系统接口,并且集成了 Wiki 支持。但是安装时要先后安装好几个不同的东西,光看安装说明便把人吓着,想都不用想。

4、Bug管理
Mantis:http://www.mantisbt.org/
下载安装了,还不错。并且有中文语言包,用了下感觉挺好。而且是免费的。
注意:
安装后,要改以下几个地方
a.登录密码:不知道怎么回事,用给出的administrator用户登不上去,得手动到数据库中改个密码
b.使用中文语言:core\lang_api.php中"function lang_get( $p_string, $p_lang = null )"改为"function lang_get( $p_string, $p_lang = "chinese_simplified" )"即可。
c.使用中文后,有的汉字比较小,很虚。找到css\default.css,把里面所有的8pt改为9pt即可。

它使用的是PHP,这里有个一站式的PHP的WEB服务器程序:GreenAMP
只是它似乎只支持mysql4.0.x的版本(主要是因为mysql4.0.x与之后的版本管理员密码加密方式改变)

在mysql4.1以后的版本上设置为以前的加密方式时,使用:
set password for root@"localhost"=old_password('newPass');

另外:下面的几个排除
a.BugFree,国产的,但是用了下,发现不太好用,一是界面不好看,二是新建项目的时候,会出问题,排除
b.bugzilla,虽然是老牌的东西,而且eclipse还有插件客户端,但是它的安装说明,有几千字,我估计是没办法把它装好了。排除。

另外,有两个东西真是特别想用
Jira -- bug管理系统中的No.1,可是商业版,太贵了。
Confluence -- 也是出Jira的那个公司出的,算是wiki中的No.1,可惜,也是商业版。

5、wiki或内容管理
Confluence.... 唉,可惜不免费
再找别的吧
JSPWiki:下载安装后,发现界面不太好看,而最关键的是,试了半天,不知道怎么去发表新的文章
Xoops: http://www.hiweed.com/xoops/,php的
这个看起来不错,在sourceforge上,是同类系统的下载最多的。看起来不错。

6、持续集成(每日自动构建)
OpenDoc-CruiseControl.pdf -- redsaga网站上,由张辰雪写的中文使用说明
官网 -- http://cruisecontrol.sourceforge.net/
下载一个.exe的安装包,安装后就可。
这个东西还真有点麻烦,搞了三天才弄完。
开始把它想复杂了,其实它的功能主要都是调用ant来实现的,所以你还得根据项目的需要手写ant文件,cruiseControl帮不了你多大忙。另外,它提供了一个不错的测试结果查看的网站。

详细的内容得看我的那个示例工程才行(在我自己的电脑上)。 

只有注册用户登录后才能发表评论。


网站导航: