-
2004-05-31
M$ SQLServer DTS
一直为把文本文件内容导入到SQL Server数据库中而苦恼,苦寻无良方,只能自己编写程序来搞定.这样的做法,耗时耗力. 想不到,今天经人指点,SQL Server中还有这么好的功能.那就是它的DTS(数据转换服务).这个功能很强,可以把文件,其它数据库中的数据转换SQL Server数据库中来. 打开SQL Server的"企业管理器",在控制台中选择你创建的SQL Server连接.连接成功以后,在树行菜单中就有一项"数据转换服务".这就是我要说.............. -
2004-05-27
几个有用的ant task
一直想写一个持续集成的ant build.xml,可惜试了一阵子也没有成功,也懒得去查文档了.今天偶然看到一个网友写的build.xml,从中借用并修改后就搞定了.记录一下几个有用的task,免得忘记. 1.cvs 进行cvs操作的有关task: cvs,cvspass等. <target name="cvs"> <delete dir="${app.name}" /> <cvspass cvsroot="${cvsroot}" password="anonymous"/>.............. -
2004-05-26
Groovy scripts
Groovy脚本文件的扩展名是".groovy",在脚本文件中可以书写一般的Groovy语句,没有类的方法定义和类定义,并且一个脚本文件中可以定义多个方法和类. 一个简单的例子: // These are loose statements. println 'loose statement' myMethod 'Mark', 19 println new MyClass(a1:'Running', a2:26.2) &.............. -
2004-05-25
使用Groovy Closure生成JS脚本
动态表单中的另一大功能就是javascript脚本,在我的表单中,动态表单主要由三部分组成: 1.视图,主要是一下HTML页面属性,如字符集,注释,标题和css等 2.Form,主要是使用表单设计器生成的HTML文件,该文件会直接嵌入到最后动态表单中 3.脚本,主要是javascript脚本,脚本主要是取得数据,并为每个HTML中的网页控件赋值脚本中主要包括两个方法: on_load()和on_submit(),前一个方法是页面显示时赋值,而后.............. -
2004-05-24
使用Groovy's MarkupBuilder生成HTML网页
Groovy真是一个不错的面向对象的动态脚本语言,它的语法与Java非常类似.Groovy结合了很多脚本语言的优点,并且它还可以在任何JVM中运行. 脚本语言相比于一般的系统语言(Java, C, C++等),主要的优点就是:语法的复杂性较低,动态typing(不需要声明,即可使用),交互性非常好,可嵌入其它系统语言中,并且它的功能非常强大,写相同功能所需的代码比系统语言会少得多. 在我的动态表单中,模型对象是非常少的,主要的功能都集 -
2004-05-21
TDD faq continued
☆项目一开始没有采用TDD,在项目中期再引入TDD,可行吗? 一般来说不推荐在项目中期再引入TDD,这是由于TDD内在特性决定的. 1.TDD是一种新的开发方法,在开发过程中就需要你转变思想,需要在实践不断完善自己,而且它本身就具有一个较陡学习的坡度,这一点在很多文章中都提到过.因此在项目中期引入TDD,会立即拖延项目进展,对项目本身帮助也不会太大. 2.TDD在你开始写测试时,会驱动你对问题进.............. -
2004-05-19
TDD faq
在TDD中煎熬了已有一阵子了,所谓吃得苦中苦,方为人上人.回首这段旅程,需要总结的东西很多,我只理理曾经出现在脑海中的疑问,并提供本人的对该问题的理解.以后随时补充. ☆写测试的时间比写代码的时间还多? 在有些情况下的确如此,但是不要太担心.为什么呢? 根据我的体会: 1.有了测试,你会少写很多本来不需要(初看起来应该是有用)的代码 2.写测试的过程就是在解决问题的过程,因 -
2004-05-18
AOP and annotations
我发现是否在代码级加入annotations,讨论得非常积极,可以引起我们强烈的关注.下面是几个有关的blog: AOP and annotations: just say no Are we heading for annotation overkill? Time for AOP to save the day? .............. -
2004-05-17
Jetty
"LightWeight"越来越成为软件开发界的主题,在开发过程中速度和效率是我们竭力要解决的主要问题.当今任何一项新产品(project)的出现,无论它是改变开发过程中的编码,调试,构建或这部署等阶段,但它们都促使开发速度和效率得到了极大提升. Jetty是一款集HTTP和Servlet的LightWeight Server,它是一个轻量级、高性能和可靠的、可嵌入的、可扩展的HTTP服务器。 在我的动态表单项目中,HTTP Server是.............. -
2004-05-14
Groovy killed the XML file?
非常好的创意:Groovy Spring,如果按照他的想法,就不需要再写spring的xml配置文件了,而是通过groovy来达到xml文件同样的效果.在picocontainer中,同样可以加入groovy的支持.这样,微容器就更灵活了. 类似于Groovy等脚本语言,发展潜力非常大,它非常灵活,扩展性很强,语法简单,功能又非常强大,是典型的"取其精华,去其糟粕",将与AOP一 -
2004-05-13
potain的"此IoC和彼DIP"
看到potain写的"此IoC和彼DIP",非常认同他的观点,IoC(DI)与DIP是不一样的概念,或者可以说设计思路是不同的.DIP是指依赖本身或者依赖的结构,而DI却是如何管理依赖:是主动(我自己来搞定)还是被动(容器来提供). Bob Uncle的DIP是OO设计的一个基本原则,也就是依赖于抽象而不是具体实现.正像potain所说的,这很明显是描述依赖关系的结构的.如果你想?............. -
2004-05-12
JS parseInt函数的问题
今天意外发现JS中parseInt与Java中Integer.parseInt是不等价的. 在Java中: Integer.parseInt("09") = Integer.parseInt("9") = 9 而在JS中: parseInt("09") = 0 parseInt("9") = 9 两者明显是不同的,多注意呀............... -
2004-05-11
Tomcat HttpConnector
今天,我的一位朋友的应用系统出了问题,这是tomcat的一个比较难以出现的问题: No processor available, rejecting this connection 要解决这样的问题,就首先需要了解tomcat关于HttpConnector本身以及相关配置,下面是从网上找到的有关HttpConnector非常好的解释. 在server.xml中HttpConnector的配置: <Connector className="org.apache.catalina.connector.............. -
2004-05-10
PicoContainer constructor of parameters
一个很不错的IoC微型容器,用于组织单元测试非常合适.它可以支持类多层次构造,在构造时自动选择期望的构造方法.见code snip(这是我的动态表单其中的一个testcase): protected void setUp() throws Exception { super.setUp(); pico.registerComponentImplementation(HibernateJdbcSupport.class); pico.registerComponentImplement.............. -
2004-05-09
Informix JDBC奇怪的问题
今天碰到了一个奇怪的问题: 在informix9.4中有lvarchar和text两种数据类型,都可以存储字符,lvarchar它最大可以存储30k的字符,text最大可以存储2g的字符.并且与它们对应的jdbc type都是longvarchar类型. lvarchar类似于varchar,在ResultSet中可以用getString()来获取;text只能通过getAsciiStream()来获取,中文没有乱码出现.lvarchar也可以通过getAsciiStream()来获取,可是经过我试验,始终存在中文乱码问题...............







