2008-04-07

Hook XML/Annotation:一种全新的配置方式

关键字: xml, annotation, hook, configuration
姑且称这种配置方式叫做Hook。 通常,我们会使用xml,properties,或者Annotation来配置我们的应用。但是,这三者,都有很严重的缺陷。 xml,过于严格,一般要详细的指定每一个配置细节,文字繁琐,与对象之间的映射关系维护成本高。 properties,缺乏结构化,过于简单,国际化支持差,需要转码或使用特殊的IDE才可以输入中文信息。 annotation,与对象的映射关系几乎没有维护成本,但编译期绑定,无法在发布后修改配置。 因此我构思了一种全新的配置方式,Hook配置。 1. 配置信息从被配置对象所对应的Hook代码中加载。如MyClass的配置对应于MyClass ...
见图。。。。。
2008-02-16

管理机构

关键字: 管理 战略
商场如战场 道,天,地,将,法 1. 决策机构(道,天,地)   a. 情报机构   b. 外交机构   c. 统筹分析机构 2. 执行机构(管理机构)(将,兵) 3. 人事管理(求兵求将) 4. 监督机构(法)  
at 2007: 1. working harder,and be a PM 2. sadly,more sadly 3. play wow,write jpack 4. try MDD, crazycode ,mice , last a whole year to design and redesign. at 2008: 1. more agile in PM. build PMS, Continuum continuous integration server,Archiva repository and artifact management server. 2. mice , ...
我所说的自己写DB,并不是要写一个像mysql一样功能强大齐全的关系数据库。事实上,只要能够实现增删改查,无论数据是保存在何处,都可以称为DB。 为什么要自己写DB 1. 使用Hibernate,如今是很流行的开发方式。Hibernate可以将关系数据库的映射为pojo对象,那在一些小数据量应用中,我们为什么自己实现一个持久化pojo的数据库呢,并且可以有很强的控制力。 2. 关系数据库不易表达树状数据。当然,关系数据库也可以表达树状数据,但是用关系数据库表示树状数据库,总有拐弯抹角的感觉。 3. 性能提升,在某些特殊的model上,自己写DB 可以使性能有更大的提升。 4. 能够实现 ...
1. js对象式widget 优点:js端可以深度控制widget,动态修改widget属性等。 缺点:html与js之间的关系紧密,后期装饰,需要装饰 如:ext 2. html元素装饰器 优点:html与js分离,页面代码清晰,js可通过css属性来在不了解页面代码的情况下装饰 缺点:需要解析html,后期装饰,速度更慢。 如:jquery plugins 3. 嵌入式js,使用<script> document.write(...)</script>实现 优点:速度快 缺点:页面结构被破坏 如:google ad。 4. 服务器端tag模板 优点:页面代码清晰 缺点:浏 ...
2007-11-04

初涉webservice~~~

关键字: webservice xfire spring
之前搞过一次webservice,在weblogic下搞得,头大啊,完全被晕乎了,没办法,被逼的,(真搞不懂,weblogic这么臃肿而且垃圾的玩意还敢收费) 这两天因工作需要,了解了一下webservice,并要搭建一个webservice项目框架. 初步选定 xfire+spring的方式, easy,非常的easy,不需要gen wsdl,而是在runtime自动生成的 web.xml 中加入: xml 代码 <servlet> <servlet-name>XFireServletservlet-name&g ...
我一向是不屑于php和ror的,对于脚本的执行速度,我表示怀疑,而且脚本运行于解释器上,他可执行的操作也被解释器所限制了,正如jvm对java的限制。 我深信,作为一种语言,java 1000%优于php和ror。 迫于无奈,我还是要学习php和ror。 因为java太强了,以至于没有人会提供java的主机服务。运行于jvm上的代码,严重的威胁着主机的安全。如果想要架设一个java的服务器,可以选择vps,或者服务器托管,或者就是自己把服务器和网络都包了。。。对于业余的网站建设而言,,太浪费时间了。 php和ror则不然,php和ror却有大量廉价、容量大且流量大的主机资源。~ ...
freemarker  模板语言,用于生成页面代码 guice  轻量ioc db4o   对象数据库,摒弃hibernate + jdbc模式 miceframework,自己写的mvc框架,使用,ognl,freemarker,guice dwr  ajax 服务器端 jquery + plugins 浏览器端js框架 sitemesh 装饰器框架 oscache 页面缓存框架
我除了是一个很懒惰的人,更是一个很吝啬的人,更加是一个不愿被约束的人。在挑选开源表示层框架时,因为懒惰,我要求:1. 好学,我不希望花一个月的时间去学习如何配置2. 好用,要真的能够提高开发的效率,而不是把自己绕进去因为吝啬,我要求:3. 不要过于庞大,过多的依赖其他项目,占用过多的内存4. 执行效率高因为不愿被约束,我要求:5. 可配置6. 易扩展别人总问我“为什么放弃了struts2,选择了webwork,不都是一样吗?而且struts2是最新的!”答案是“Struts2 太强大了,有很多不必要的功能,对他与webwork的整合是否天衣无缝也表示怀疑,我 ...
决定把在javaeye上最后一点积分用光,大家投隐藏吧,投新手吧,不过我还是要说,盲从--中国程序员的悲哀。 尝试是好事,盲从就不好了。 现在我开始尝试使用一种简单的方式来构建对象,获取对象。可称之为ContextHolder模式。 /** * 2007-6-5 下午02:27:03 */ /** * @author <a href="mailto:guileen@gmail.cn">桂健雄</a> * @since 2007-6-5 */ public abstract class ContextHolder { static{ //i ...
我们已经被框架所包围,我们已陷入了学习之苦。 了解算法,设计模式,语言特性,就可以成为一名合格的程序员了吗?理论上是的,但仅仅如此,却不足以找到一份理想的差事,因为众多的招聘信息上都明确注明,应聘者应当熟悉xx框架,yy组件。 由于长期接受中国式教育,所以我们已经习惯了学习,学习几个框架,对于国人来说也不是什么大不了的事情,然而我们也发现,相对于我们的学习能力而言,我们的创造性显得有些不足,我们有了继承他人的能力,我们也缺乏一种颠覆他人的精神。 谦虚的说,我是一名java的初学者,狂妄的说,我并不比所谓高手差多少,他们不过是多了解一些框架,走的路比我过的桥多一些。 作为一名初学者,这大 ...
1. 建立svn项目,以前是先建项目再导入,发现这样并不好 2. 建立工作区项目,此处可以借助代码生成工具 3. 建立domain model,先不要写完整的model代码,需要的是Class Name信息 4. 建立interface,如Service interface,Dao Interface,此处也可借助代码生成工具 5. 建立接口所对应的Impl Class,此处也可以借助代码生成工具 6. 针对每个interface的impl建立testcase,testcase要针对interface的每个method 7. 编写测试用例->test->编写impl->完善model->完善i ...
1.鲁莽的追求新的开发框架 2.没有让组员提前学习必要的知识 3.低估项目难度,没有想到潜在的需求和技术难点。 4.项目没有时间性的计划 5.任务没有很好的分割 1.项目争取阶段:做好demo 2.项目准备阶段:选择开发框架,让组员了解相关知识 3.制定项目计划:计划应该逐层分割,如:首先确定 1.0版,2.0版发布时间,然后将1.0版按迭代周期划分,2.0版按迭代周期划分,每个迭代周期,再按功能模块进行划分 4.分割任务:被分割的任务要尽量保持无关性,任务关联性强的尽量分配给同一个人。
1. GWT ,它是个javascript的编译器,生成的是浏览器端的HTML和js,但他和服务器端的交互让人痛苦,他有自己的调试器,但集合到服务器端代码一起发布调试,真是让人痛苦。生成垃圾文件多,执行速度慢,总之,它带来了多少快感,就带来了多少痛苦。(补充:他可以ajax,但它生成的只是静态html+js页面,是静态的,想让它接受参数是不可能的。当然我曾试过把他的html再变成jsp接受参数,将接受到的信息放到html的head meta中,然后再用GWT的DOM在meta中取信息,再用RPC到服务器上取信息填入各个元素,上帝饶恕我的SB吧。) 2. Tapestry 5,我试用了两周 ...
2007-03-06

[转]Spring 配置要点

关键字: spring
原文: http://wiki.javascud.org/display/springs/SpringConfig 1.DTD xml 代码 > 以上是Spring 2.0的标准DTD,相比之下不是很喜欢用schema xsd文件式的定义,一大堆太长了。 2.default-lazy-init Spring的lazy-init,可以使单元测试与集成测试时的速度大大加快,不过要留意一些 BeanPostProcessor和BeanFactoryPostProcessor的子类如 PropertyPlaceHolderConfigurer ...
jasongreen
搜索本博客
我的相册
11781fd7-22a6-3502-8b1a-98219460b849-thumb
分形大厦
共 10 张
存档
最新评论