综合应用
iteye_7872
这个作者很懒,什么都没留下…
展开
-
Appfuse是个好东西
发现一个好东西,Appfuse,这是个集成多个开源框架的好东西。有点像Rails的味道,只是它的菜单中是Struts, Spring, Hibernate, iBatis……,而Rails是ActiveRecord,ActionController……突然记起来,以前项目组在讨论未来产品基于的架构选型的时候就有人提到使用Appfuse。 Appfuse我觉得它不是一个框架,...2006-11-16 20:33:18 · 82 阅读 · 0 评论 -
Content is not allowed in prolog
没有办法,这个问题我现在还没有解决它。 我不知道在什么地方加入了一些不好的字符,现在看不出来。估计应该是在什么地方放入了一些字符吧,可是,我就是按照HibernateSync生成的configure文件,还会有什么错误吗? 升级到dom4j1.6.1就没事了?显然是鬼扯。另外,bs一下javaeye的管理员,太tmd的霸道了。不过,谁教自己用他们的论...2007-05-23 14:05:27 · 127 阅读 · 0 评论 -
异常的处理层次
其实,正如Rod Johnson所说,一般数据库异常的话,我们确实只能是无能为力,只能在业务层或者Action层进行处理。如果把异常定义为运行时异常的话,那就不用被编译器检查,如果架构中没有对异常处理给出严格的处理规则,那么既又可能我们这个异常就会造成程序整个报错。 这样,显然不是我们想看到的事情。 那么,就需要我们在架构中定义出我们的异常处理规则,...2007-05-31 19:56:28 · 142 阅读 · 0 评论 -
代码评审
以前没有做过代码评审,昨天刚刚开始实施代码评审,受益颇丰。代码评审的好处实在是太多了,不仅仅能够提高代码质量,发现很多潜在的问题,而且可以提高大家的编码水平,让大家沟通软件开发的思想,有太多好处了,实在是应该在各软件企业中积极推行。 这次是评审我的BUG导入模块的代码,代码量1200LOC。在评审前,我自认为写的还算是不错的啦。当然不是很完美,仅仅花了两天的时间编好的J...2007-06-05 11:40:01 · 136 阅读 · 0 评论 -
日志处理:承重的代价
客户那边出了点问题,我以前编写的一个功能老是在第二步的时候出错。具体是什么原因呢?我首先连到客户应用,使用正确的账号和密码进去了,重现了该问题。 由于是在APPLET端的开发,我查看了APPLET中的出错信息,这个很明显,就是在获取用户数据库的时候出错了。具体是什么原因呢?还是需要得到客户那边的日志信息。 日志信息非常重要。以前对日志系统没有太深刻的...2007-06-06 18:50:32 · 200 阅读 · 0 评论 -
现场办公
今天做了回技术支持,去给直真公司解决我们产品使用过程中出现的问题。可以看到,其实问题还是挺多的。他们从2.9.4升级到3.0版本,使用了一个星期左右的时间。这次去,我主要是去解决我以前那部分代码的问题,测试不充分,居然这个问题就没有发现。 1. 导入的数据包含重复的记录。这个以前在测试中发现过,但是从来没有觉得MemberReport表通过多个项目选择也能选择到同样的...2007-06-07 13:15:12 · 110 阅读 · 0 评论 -
IT Support
一个客户那边又出问题了,这次和上次的问题就是同一个问题,但是在我们这边就重现不了,只有在用户的环境下才能够重现。很简单的两个表之间的查询操作。 一个表和另外一张表是外健关联关系,需要将含有外健的那张表给取出来。在正常情况下,是不可能取得出来重复数据的,这一点已经做了N次测试,没有发现问题。 下午从用户那边回来,因为这个原因搞了很久。老大说是程序逻辑的...2007-06-18 21:23:15 · 215 阅读 · 0 评论 -
软件架构设计
先推荐一本书:《软件架构设计》温昱著。今天刚拿到这本书,非常高兴。这本书非常好,它对软件架构描述得非常清晰,理论包含了很多实践的例子,看上去很爽呀,嘿嘿。 上次讲QMP架构的问题,现在要进行QMP升级的话,可能会对架构做比较大的修改。以我的视角看,QMP升级难度比较大。特别是要进行产品推广的话,目前产品设计基于的需求和约束条件大概都是自己想出来的,而没...2007-06-28 23:57:34 · 91 阅读 · 0 评论 -
软件架构设计--读书心得
抓紧时间把温昱的《软件架构设计》这本书给看完了,实在是佩服呀。 知识渊博,经验丰富,理论联系实际,特别务实,这是我最喜欢的风格。我离他的层次实在是太远了,看见高人了,我辈还需要多加努力才行。 对于现在的系统而言,就缺少了软件架构设计。其实,项目的其它方面,比如需求获取,需求分析,编码,设计,测试,哪一块又是做得比较好的呢?可能确实是水...2007-07-02 23:19:00 · 351 阅读 · 0 评论 -
领域模型 And 事务脚本
事务脚本和领域模型之间的区别还是很明显的,显然,我们常见的系统中没有太多是采用领域建模来实现的;而大部分是采用事务脚本来实现。 我承认事务脚本在解决简单问题方面确实是简单,特别是只是简单的CRUD问题。 事务脚本的一个最重要的特征是: 1. 简单的过程模型。也就是一个Service方法就对应着用户的一个命令,该命令...2007-07-06 17:54:02 · 271 阅读 · 0 评论 -
UML培训
下午Leader Yuan请了UMLCHINA的站长,潘家宇先生来给我们做一个培训,主要讲解利用UML来理解业务,进行业务建模,如何从涉众中寻找需求,进行系统建模,如何进行USE CASE用例描述,如何做分析和设计等等。总而言之,今天的培训是对UML的一个概要介绍。 我觉得收获还是蛮多的,一些东西自己之前也想过,但是没有想得那么深。比如在做业务建模那块,如何去寻找需求。“...2007-07-22 20:33:41 · 142 阅读 · 0 评论 -
答复: 美工和开发人员同步开发的问题
呵呵,也看看别人是怎么做的吧。 这个看上去不错。 [quote="chbest"]1 给美工建个文件服务器,美工实行自己上传下载。 2 项目开发的时候引用服务器上的css 3 开发做逻辑,美工做页面,需要修改直接服务器上css文件 4 有个东西叫firebug 直接在上面调试样式就可以了。 5 改好了叫开发更新,美工不负责更新[/quote] 我以前做的一个项目就是这样的...2008-06-01 10:45:08 · 149 阅读 · 0 评论 -
配置管理
这两天不清闲,前后比较了VSS,CVS以及SVN三个源代码管理工具。之前的.NET项目一直是使用VSS来进行管理,只是现在需要向VSS服务器添加大量的文件和文件夹,但是没有找到任何有效的方式能够让我们快速添加,要知道,要添加的文件数量在三万个,通过VSS添加实在是太慢。通过VS2005将项目添加到VSS中去,也是一样,添加几个文件夹,VS2005就死掉了。不知道有其它更好的添加方式。...2007-09-12 22:21:26 · 98 阅读 · 0 评论 -
配置管理
Label和Branch在配置管理过程中是很重要的两个概念。 Label:用于对文件进行标记特定的版本,对一堆文件标记之后,可以将具有同样标记的文件给取出来。 Branch:分支。建立分支,形成可以物理独立的空间,这样每个Branch就可以单独演化,如果有需要的话又可以融合。 为什么需要Branch呢?这个得回答配置管理的根本问题,是为了...2007-09-21 16:44:07 · 97 阅读 · 0 评论 -
非习惯用法
getText public String getText() Returns the text value of this element without recursing through child elements. This method iterates through all Text,CDATA and Entitynodes that this element contai...2007-09-26 14:19:08 · 112 阅读 · 0 评论 -
项目 OR 产品
http://www.blogjava.net/rocket/archive/2007/09/09/143842.html 今天看到的一篇文章。加上自己最近一直在忙的项目,以及自己以前一直在做的产品,对于产品还是项目,确实是有一些体会。 who,what,why?我想这是我们必须要问的问题,如果产品已经作出来了,我们要向用户推销我们的产品:不能老说我们的产品被成功的应用到了那个哪个地方,用户关心...2007-09-27 18:14:32 · 153 阅读 · 0 评论 -
读《质量·软件·管理》有感
以前这本书是读过的,现在再来读又是别有一番滋味。特别是读到什么是质量,质量的重要性的时候,真的为作者的精辟见解而拍案惊奇。 质量是什么?质量不是一个空洞的概念,质量是符合需求的能力。具体的说,就是符合某个用户的需求的能力。因为需求并不是从天上直接掉下来的,是我们进行了需求获取,需求分析得到的。软件的需求不是所有的需求涉众都有同样的权重。很早以前听到Berry Boe...2007-10-06 10:57:31 · 357 阅读 · 1 评论 -
需求:远近高低各不同
下午对BUG导入工具进行了需求讨论。之前,我已经做了应该说非常详细的需求分析,画了USE CASE,写了系统的主要过程,以及备选过程,并且画了用户和系统的交互过程。 应该说,我认为一切都做得比较完美。但是,在下午进行需求讨论的时候,还是提出了一些新的需求,主要不是开发人员提的,而是咨询人员提出的。 可以说:他们提出的需求是有一定道理的,只是从我的角...2007-05-22 22:59:50 · 139 阅读 · 0 评论 -
两个小命令
1. sc delete 服务名称 sc的话就可以看到相关的服务操作。卸载了mysql之后,直接sc delete mysql,就可以将mysql服务给删除。 2. svn status 这个命令可以查看到工作区中文件的状态更改情况。 还可以将统计结果输出到文件,方法,重定向 > svn status > conflict.txt ...2008-03-20 17:12:05 · 103 阅读 · 0 评论 -
Eclipse的几个有用插件
最近在做项目组的代码编写规范,同时,也接触到了几个比较好的Eclipse插件,能够检查我们的代码,以及可以更方面的查找方法。 findbugs findbugs读取代码的字节流,去分析代码中是否存在错误或者编写不好的地方。它定义了BUG Pattern:也就是我们比较经常出现错误的地方,这种模式可不要去学,哈哈。 比如说:I...2007-05-13 14:11:10 · 98 阅读 · 0 评论 -
读pojo in action有感
书是这么读的,呵呵:) 一般的书是不用去精读的,特别是现在这么多的技术书籍,真正值得去好好读一番的很少,更不用说值得全部都通读的。这本pojo in action是主要是讲pojo的几个开发框架:Struts, Spring, hibernate, iBatis, JDO等等。在实际编码的时候有用到这些技术的时候再去查查就好了,一般都很简单,没有什么特别困难的内容。 ...2006-11-18 23:28:40 · 254 阅读 · 0 评论 -
技术总结:关于数据库数据的导出功能
解决的问题:要把原始数据库中的数据导出到其它的数据库表中去。 原始数据库可能是MYSQL, SQLSERVER或者其它的数据库,这些数据库的Schema是根据实体定义文件以及类型定义文件的。 数据要导入的数据库是HSQLDB,现有的ORM工具要求先建立对象到数据库结构的隐射,以及需要建立配置环境才能实现将对象隐射到数据库中的表结构中去。 因此,要解决数据导出导入问题,首先,要根据...2007-01-14 21:36:46 · 489 阅读 · 0 评论 -
Eclipse构建项目时需要注意的地方
这个本来应该是写在项目组开发BLOG上的。但最近换了办公环境之后,项目组原来的BLOG服务器搬到其它地方去了。现在还没有恢复项目组内部BLOG,所以,记在这里,待日后再恢复吧:) 昨天代码从一个分支Merge到主干版本,我的本地开发环境建立上有问题。连续出现在新开发环境中无法运行测试用例。跟踪发现是项目中使用的实体工具的问题。究其原因在于系统无法找到hibernate.cfg...2007-01-16 10:12:59 · 121 阅读 · 0 评论 -
HSQLDB MEM内存数据库使用总结
1. MEM内存数据库只能在当前的应用进程中存在,如果当前的应用程序进程关闭了的话,那这个内存数据库也随之消亡了。 2. MEM内存数据库如何导出?由于MEM并不向Standalone的文件数据库一样存在.script文件,因此,不能简单的根据.script内容生成又一个数据库。因此,如果需要将内存数据库中的内容给传输出来,必须要在内存数据库关闭之前,查询出所有的数据对象,转换成相应的Cac...2007-01-26 13:36:03 · 476 阅读 · 0 评论 -
Applet和Web Service
下午调Applet和Web Service程序,竟然遇到了一堆问题。问题本不可怕,对于我这个Applet新手和Web Service新手来说,出一两个问题那简直就是一定的。所幸,一个一个解决调了。 1. Applet数字签名 Applet要访问客户端本地资源的话,客户端必须接受Applet的数字签名。要不然,Applet是不能对客户端的本地资源进行访问的。google这个问题的时候,200...2007-01-31 19:46:50 · 108 阅读 · 0 评论 -
JProfile调优程序
刚回来上班,还没有进入工作状态,今天看程序明显觉得自己的头脑反应比较慢。不过,在节前做性能测试的时候,使用了一下JProfile这个工具,发现了程序的性能问题。 [quote]14.7% - 166,897 ms - 206,861 inv. cn.ac.iscas.pm.metrics.entityGenerateApplet.Generator.CommonAlgorithm.DAO.g...2007-03-05 23:05:08 · 146 阅读 · 0 评论 -
xampp设置以及项目组wordpress维护
OS: Server2003 xampp: 完全绿色解压版本,并且xampp的用户已经设置好了,只是我忘记了用户名和密码了。 在Server2003中,要先安装,执行setup_xampp.bat文件,不然的话,在该系统中会出现莫名奇妙的问题。 建议在安装xampp之前不安装MYSQL,wordpress模板直接配置进去之后要修改MYSQL的用户名和密码,建议使用MySQLAdmin...2007-03-09 21:23:31 · 105 阅读 · 0 评论 -
确定对象的职责:实际例子
初写程序的时候,我们总是尽可能的使用JAVA的API,从这个角度来看,我们是类的用户。作为用户来讲,我们希望类的使用简单。 当我们在解决实际问题的时候,我们需要对客观世界进行建模,设计结构良好的类,并且使得类的职责尽可能的清楚和单一,类和类之间的关系能够正确建模客观世界。从这个角度来看,我们是类的作者。作为类的作者,我们设计好了类,供其他人所调用。 因此,在类的设计者...2007-03-19 10:22:52 · 98 阅读 · 0 评论 -
DWR的同步和异步使用方式
想要异步的时候,想要同步的时候同步,在不同的情况下我们有不同的需求。dwr是ajax的服务器端框架,它封装了服务器端的调用,我们可以在JAVASCRIPT中直接调用服务器端的代码,完成想要的功能。 但是,由于AJAX是异步实现的,并且AJAX确实是为了异步的实现才引入近来的。但是,AJAX仍然也支持同步的调用。在纯粹的XMLHttpRequest中可以设置调用是...2007-03-24 09:35:50 · 113 阅读 · 0 评论 -
页面调试
编辑JSP的时候试了试MicroSoft出的Express Web工具,保存页面的时候引入了一些乱码。为了确定乱码所在位置。 1. 首先查看JSP编译后的JAVA代码,确实发现了有乱码,在输出之前。 2. 在页面中添加字符,发现乱码仍然还在。 3. 使用ultraedit,查看二进制代码。发现在之后有三个... 哈哈,终于发现乱码在什么地方了。去掉这三个点就可以了。 于是...2007-03-24 09:49:33 · 95 阅读 · 0 评论 -
GUI 多线程编程
其实我对界面编程是不触的,只是用JAVA开发以来很少开发桌面程序,于是对界面编程慢慢生疏,除了在毕业设计的时候用SWT搞了个比较丑陋的SPEM(过程定义语言)到(XPDL)工作流语言的转换器之外,好像很少编写界面程序,连小APPLET都很少碰。 日子久了,居然也心里慢慢有点发憷了, :D 想想看,也实在是挺搞笑的。 前些天开发的JAVA APPLET界面很简单,但是,因...2007-03-24 10:24:07 · 167 阅读 · 0 评论 -
性能调优
最近又修改了一个有关性能的BUG。 虽然在一般情况下,效率不是什么大问题,只要程序结构良好,在测试期间发现有性能瓶颈在做相应的性能调优是可行的。但是,不要忽视一点,能够在数据库中完成的操作,尽量不要放在程序中进行处理;能够用一条SQL语句完成的操作,尽量不要用多条SQL语句去完成。毕竟数据库系统已经发展了很多年,非常成熟,性能也是非常高。 最近修改的几个BUG,...2007-03-26 21:31:09 · 84 阅读 · 0 评论 -
导入数据库中记录的时候,一定要记得检查主键是否惟一
数据库中存储的记录必须保证主键惟一,这是数据库的约束条件。 将记录存储到数据库中的时候,如果没有带主键的话,一般数据库都会生成惟一主键;但是,如果是将数据从一个数据库导入到另外的数据库,并且希望保证数据库主键相同的话,那么我们导入数据的时候,一定要记得检查数据库主键的唯一性。 错误代码: [code] List result = new ArrayList(); result...2007-03-27 20:37:38 · 296 阅读 · 0 评论 -
Can you believe it?
上次做了几个优化之后,发现系统当中如果有800个BUG的时候,显示测试报告详细信息的那个页面还是比较慢,大约要18s,实在是难于忍受。 虽说显示这个页面需要做很多的统计查询。但是,我已经对统计查询做过优化优化了,怎么还会花费这么长时间呢?拿出具体的数据看看是解决问题的最好方法,看具体那个方法执行得比较耗时。 结果出来,几个我认为比较耗时的数据库查询,其实根本就不耗时啊……一个是90ms...2007-03-29 10:58:34 · 157 阅读 · 0 评论 -
性能继续提升
嘿嘿,今天改BUG,又发现了一个性能问题。在显示所有BUG列表的打印页面下,显示800个BUG居然要花26s的时间,看上去已经是另人难于忍受了。在显示测试报告页面,由于不需要显示BUG列表,因此,成绩从18s一下子提升到了0.8s,现在这个打印页面需要将所有的BUG都打印出来,需要显示所有的BUG,因此,时间飕飕的往上彪,到了26s,实在是让人难于忍受。 原因在什么地方呢? ...2007-03-30 14:18:35 · 82 阅读 · 0 评论 -
maven初体验
之所以看Maven,是因为看到一些文章,讲Maven是如何支持项目构建的,是下一代Ant……。于是乎,经不起诱惑,也开始接触了一下Maven。 Maven的基本概念先不讲,这里主要记录我的一些体会。 我对Maven印象最为深刻的是:Maven其实不是Ant,Ant通过Task完成很多关于项目编译,打包之类的问题,然后提供了很多的Task,完成其它的工作...2007-04-18 14:14:50 · 275 阅读 · 0 评论 -
需求分析师的职责
项目快要启动了,感觉很兴奋,终于快要到战场了。需求是这次的头等大事,必须要搞清楚。良好和有效的需求获取要求我们必须搞清楚客户的实际工作范围,要明白他们是如何工作的,他们工作的实质是什么,怎么才能将工作做得最好,他们希望我们做哪些事情才能帮助他们,我们自己也需要知道我们的系统在他们的工作中是处于什么样的使用场景。 当然,要搞清楚这些所有的信息,我们需要和客户进行深入和细...2007-10-10 16:12:21 · 700 阅读 · 0 评论