摘要:
做ERP或者其它应用软件,有很多的时候都是在做增加,修改,删除,基本上每个模块都有很多 重复性的代码,人得学会"偷懒",设计一个好用的代码生成工具,会让我们的工作事半功倍。 1:选用一个合适的数据库设计软件 这里我推荐用powerdesign,因为powerdesign的结构很简单,就是xml,要弄清楚它的结构,你只要 设计一个关联表,然后用文本文件打开进行研究就可以. 2:设计一个数据结构,存储从powerdesign中读出的表结构.我觉的至少应该要四个类: 表(Table),字段(Column),主键(PrimaryKey),外键(FriendKey) 3:设计代码生成 阅读全文
摘要:
要实现多语言,大多数人是使用properties文件来的,比如struts,每种语言建一属性文件,命名一般是message.zh_cn.properties,message.en_us.properties,但这有三个我讨厌的点在:1):如果语言很多,我查找key很麻烦2):如果语言修改了,需要重启服务。3):不能在软件界面上修改 当然,上面三点还是可以通过编程来实现的,但做起来没有用数据库来的熟悉和方便,改用数据库来实现多语言,首先要设计数据库表,我建议是采用主明细,主表langs字段为:编号(code)|名称(name)明细表langsdtl字段为:编号(code)|关键字(messag. 阅读全文
摘要:
去年公司选型,我写了份选型的技术评估点让乙方填写,共享出来供大家参考:评估项评估要点回答性能评估相对于同行业的软件,你们的软件在性能方面有什么优势.曾经做过什么样的优化动作是否进行过压力测试,请提供相关方面的压力测试报告。请标明压力测试工具和测试环境.平台架构调查系统中表的个数其中:基础表的个数其中:业务表的个数传输的方式是ftp,webservice,直连,其它?传输时如果出现丢包现象,系统怎么保证数据的一致性.系统架构分为几层?业务处理模型评估(公司模型请见说明2)A、B(B1,B2,B3) 、C(C1,C2)、D(D1,D2),物理的数据库需要几个?传输服务器需要建几个?如果B3做了零. 阅读全文
摘要:
如果你开发过纯HTMLWeb报表,你一定会感觉到很烦,很难,因为它不像C/S程序,往一个控件填入数据集就可以. 现在来看一下有哪些报表工具吧,国内我认为比较好的有:润乾,FineReport,开源的有JasperReport,Birt,Birt我不熟,所以没有什么时候发言权.润乾,FineReport,本来是我首先想到采用的,第一,润乾有一个快逸报表,FineReprot本来就是免费,它们的设计器都很好, 也多支持从源分片,不规则分组等, JasperReport是开源的,我曾经看过它的源代码,如果做一些简单的还可以,做复杂的就难,还需要写Plugin,就算这样,这些报表都有一些致命的弱点:. 阅读全文
摘要:
有人问我,怎么去做系统架构?当听到这句话的时候,可能不同的人具有不同的回答,你到网上一搜,可以得到一些标准的回答.在这里我只想谈谈我的感受, 1):系统架构做得好,一定可以事半功倍. 2):注意软件框架的设计,不要一味的按照标准走,有时候合适就行.但是MV C还是一定需要3):注意业务框架的设计,可能有人没有这种感觉.是的,这个非常重要.能做这件事的人一定需要懂业务,还要 懂数据库,还要懂J2ee,最好全熟悉.因为,如果这人不懂技术,设计出来的业务流程,程序员不一定能懂,,如果这人不懂客户需求,即使再好的技术,也可能是闭门造车.4):多看一些开源知识,有条件尽可能钻研一下,讲句实话,国外的一些 阅读全文
摘要:
曾经对一个系统进行了全部的检测,并进行了优化,深有感触.1):数据库索引一定要建,并且要管理好.不能盲目的建.2):代码的结构要注意.注重算法...每一次的操作应尽量少访问数据库.3):注意cache的合理利用.4):注意视图,存储过程的写法..存储过程尽量少写cursor 阅读全文
摘要:
一个朋友问我,为什么我写这个简单的html文件,点增加老是出错呢?Html文件如下<html><body><script. language="javascript">function add(){ var form=document.forms[0]; form.method.value='add'; alert(1);}function update(vl){ var form=document.forms[0]; form.method.value='update'; form.sysid.value 阅读全文
摘要:
这是09年写的一个笔计,放在这里,供自已以后参考. 今天将在Jetty下开发的WEB程序用Tomcat发布,系统出现了乱码,百思不得期解,因为以前做过多套的系统,从没出现过乱码. 晚饭过后,静下心来仔细的思考,还是找不到哪儿出错,没办法只有采用老方法,从头开始测: 1):写一个极其简单的jsp自已调用自已,看看会不会出现乱码,结果是会. 2):拿这个jsp放到其它正确的系统下,结果不会出现,由此可以确定系统的servlet的环境有问题. 3):删掉web.xml中所有内容,再启动,这个jsp能够正确,不会出现乱码. 4):依次增加web.xml中的内容,结果发现是自已写的listen出问题了. 阅读全文
摘要:
表示层我们选用的是struts1.1,为什么选用它,而不选用spring MVC或者是struts2,没什么特别的原因,主是因为我们熟,因为struts1.1里面的代码我们都有研究过. 直接用表示层肯定不能满足业务需求,现在任何一个系统,都可能会用大量的Ajax,所以我们进行了改写,改写重要参考就是springside2. 1):我们把ActionForward抽象出来,进行封装,以便可以支持不同类型的数据格式,比如:jsp,json,Excel,pdf,velocity等 定义一个struts Forward接口 public interface IStrutsForward { publ. 阅读全文
摘要:
有的人说,业务层就是一堆的Manager(或者叫service),为什么还要设计呢?前一句讲的没错,后面这一句就有点欠思考了.我自已总结了一下,如果做一个系统,Manager之间共性的东西还是很多的:1):都需要写操作日志 2):都需要写操作消息,比如保存某个模块的时候,显示“保存成功”的信息给用户. 3):对于一些简单的模块,简单指的是这个模块只需要对一个表操作(为了方便,称为CRUD模块),比如说ERP信息里的,员工,单位等等。具有通常的功能有:增加,修改,删除,查找,打印等. 4): 对于一些复杂的模块,复杂指的是主子表结构的模块(为了方便,称为CRUDLine模块),比如说ERP信息里 阅读全文