niyue

Archive for February, 2005|Monthly archive page

eclipse wtp project

In java on February 26, 2005 at 1:45 AM

eclipse wtp project
Eclipse Web Tools Platform (WTP) Project

All About The WTP Project
The Eclipse Web Tools Platform (WTP) project extends the Eclipse platform with tools for developing J2EE Web applications. The WTP project includes the following tools: source editors for HTML, Javascript, CSS, SQL, XML, DTD, XSD, and WSDL; graphical editors for XSD and WSDL; J2EE project natures, builders, and models and a J2EE navigator; a Web service wizard and explorer, and WS-I Test Tools; and database access and query tools and models.

非常酷的工具集,到底是IBM捐献的,功能异常的强大,不过pre-requirements也是非常之多,eclipse的插件要爆炸了

问题跟踪系统

In management, software on February 25, 2005 at 1:18 PM

现在项目的开发的规模越来越大,同时进行开发的人数也越来越多,同时这些人员也往往呈现出分布化办公的趋势,因此在项目开发过程中的人员之间的协同成为项目成功的一个重要因素.我们这次项目中也需要采用一个系统进行任务的分配,进度跟踪以及任务反馈等等.开始是往公文流转系统这方面想,但是考察了一些系统之后,发现我们实际需要的可能只是一个问题跟踪系统.以前,问题跟踪系统大多局限于bug的跟踪管理,而现在的外延已经有所扩大,不仅仅应用于bug的管理,也可以应用于普通的项目管理过程中.这次主要看了一下一些系统:

  • JIRA无疑是我看到的最好的一个,J2EE环境.唯一的缺点是要收费,虽然有很多的license,但是要想免费蹭着用还是要有很高的门槛的.
  • Mantis据说部署很方便,PHP的应用.不过版本号怎么才0.2都不到,有点不可靠的样子,看来要多学学Larry Ellison才行.
  • Bugzilla大名鼎鼎,用Perl编写.但是要部署在windows系统上好像还是很困难,而且据说升级的时候会有很多问题发生.
  • OnTime使用起来也还不错,界面满清楚的,不过有两个缺点,一个是它部署在IIS+ASP.NET+MS SQL Server上,限定了只能部署在windows平台上了其实就,另一点更为致命的是2004版还不支持Unicode,限定了只能用在英语国家了,呼
  • Roundup Tracker没有使用过,主要是因为它的环境太偏了,用Python的是.不过口碑好像还不错.
  • 其他还有一些如Issue Manager, issue track,zentrack,trackstudio等等

developperWorks上面的XML文章

In programming on February 17, 2005 at 2:40 PM

在网上查文章的时候不断的看到IBM的developerWorks 中国网站上面的文章,很多都写的很好。下面这位的文章我已经n次找到了,可以去devoloperWorks上面搜索一下“Uche Ogbuji”,可以找到他写的很多文章,都是XML方面相关的,很不错。

关于作者
Uche Ogbuji 的照片Uche Ogbuji 是 Fourthought Inc. 的顾问兼共同创始人,该公司是专为企业知识管理提供 XML 解决方案的软件供应商和咨询公司。Fourthought 开发了 4Suite,这是一个用于 XML、RDF 和知识管理应用程序的开放源码平台。Ogbuji 先生是一名出生于尼日利亚的计算机工程师兼作家,他生活和工作在美国科罗拉多州博耳德。可以通过 uche.ogbuji@fourthought.com 与 Ogbuji 先生联系。

Storing RDF and RDFS in Sesame Repository

In programming, semanticweb on February 7, 2005 at 8:18 AM

Male jeen
Sesame developer

If you store the files in seperate repositories, you will not be able to do queries that return information from both files (since a query is always evaluated against a single repository). On the other hand, if you keep them seperate it is easier to modify one file without disturbing the other.

So it depends on what you want to do. In most cases where querying is involved, putting files in a single repository is the most logical choice though.

Spring – Java/J2EE Application Framework 参考手册

In java, programming on February 7, 2005 at 6:34 AM

Spring – Java/J2EE Application Framework 参考手册

Sesame Repository 配置

In semanticweb on February 6, 2005 at 1:12 PM

Sesame Repository使用id和title来进行标识,id是Sesame中区repository的唯一标识符,而title则是让人容易识别的一个标
记。Sesame
Repository的配置主要是Sail栈的配置,通过Sail栈的配置,可以对repository的持续层存储、是否进行推理、安全和版本问题等等
进行配置。
Sail栈是一种自顶向下的结构,base sail一共有六种:

  • org.openrdf.sesame.sailimpl.rdbms.RdfRepository:
    an non-inferencing driver for relational database storage.
  • org.openrdf.sesame.sailimpl.omm.versioning.VersioningRdbmsSail:
    an inferencing driver for relational database storage that
    supports change tracking.
  • org.openrdf.sesame.sailimpl.memory.RdfRepository:
    a non-inferencing driver for storage in main memory.
  • org.openrdf.sesame.sailimpl.memory.RdfSchemaRepository:
    an inferencing driver for storage in main memory that support RDF and RDF
    Schema entailment.
  • org.openrdf.sesame.sailimpl.nativerdf.NativeRdfRepository:
    a non-inferencing driver for storage directly on disk.

以上六个base sail中,基于关系数据库的sail有六个参数要进行配置,分别是:

  • jdbcDriver
  • jdbcUrl
  • user
  • password
  • dependency-inferencing
  • commitInterval

基于内存的sail有四个参数要进行配置:

  • file
  • dataFormat
  • compressFile
  • syncDelay

基于native disk的sail有一个参数要进行配置:

  • dir

其中蓝色的参数时必须设置的,而紫红色的参数是可选的。

除了base sail以外,还有一个在base sail层之上构造的sail,org.openrdf.sesame.sailimpl.sync.SyncRdfSchemaRepository。
这一sail不是必要的,但是推荐使用这一sail。这一sail层处理了并发访问的问题,如果没有它的话,Sesame遇到多用户同时访问
repository时可能会以不可预测的方式进行工作。

以上主要参考Sesame 1.1用户手册第四章Advanced repository configuration


使用Apache Common Id生成标识符

In java, programming on February 5, 2005 at 4:10 PM

现在的项目中要用到标识符的生成,早就看到Apache上面Jakarta项目的common子项目下有一个id子子项目(^_^,这就是apache),使用它很容易的就可以完成唯一的标识符的生成。今天稍微花了一点时间试验了一下,很容易就搞定了,基本没碰到什么困难。主要的步骤如下:

  1. 下载Apache-common-id。因为这个sub-sub-project是属于sandbox(沙盒中的项目用户可以自由使用,但是这些项目的维护并不得到保证,很可能会一直处于目前的状态)中的一个项目,所以没有binary的下载。只能下载源代码以后编译得到。我是使用Eclipse中的cvs的客户端访问apache的cvs得到的源代码。cvs站点名称为cvs.apache.org,访问路径为/home/cvspublic,用户名为anoncvs,不需要密码。登录到cvs服务器上后检出id项目的所有相关文件。
  2. 使用ant对源代码进行编译。我开始用Eclipse里面自带的ant进行编译,但是build失败了。编译器报错说我的jre中的类库版本号与需要的版本号不一致(需要的是48.0版的,我用的J2SE5.0,那个类库的版本号显示是49.0)。我满试了一下不用Eclipse里面自带的ant,自己下载一个ant对源代码编译,结果通过编译了居然(编译的时候ant会根据那个build.xml文件从网上下载相关的类库,所以需要连接到Internet才可以成功)。
  3. 然后后面的工作就很轻松了,用jar把编译后的class打包就可以了。
  4. 打包好后就可以很容易的使用了。一行代码就可以生成数字字符混合的id号。
String id=IdentifierUtils.nextStringAlphanumericIdentifier();

编写Javadoc

In java, programming on February 5, 2005 at 1:09 PM

以下是参考的一些文章:

  1. How to Write Doc Comments for the Javadoc Tool
  2. javadoc,在 Java 的注释上做文章
  3. 在java源码中为Javadoc编写文档注释(1)

v4_java_logo.gif  在java编码规范中,提到了文档注释可被javadoc用来生成API文档。具体的写法,另有说明。下面是学习笔记,主要是摘了一些值得注意的要点。

1、javadoc的获取

只能从相应的JDK中取得,安装后在bin目录下。具体如下:
* Javadoc 1.4 is included in Java 2 SDK, Standard Edition v 1.4
* Javadoc 1.3 is included in Java 2 SDK, Standard Edition v 1.3
* Javadoc 1.2 is included in Java 2 SDK, Standard Edition v 1.2
* Javadoc 1.1 is included in JDK 1.1

2、文档注释编写(principles)

  • Java平台API文档由源码中的文档注释定义,且任何此类文档皆从此类注释取得
  • Java平台API文档是调用者(caller)和实现之间的契约(contract)
  • 除非另有说明,Java平台API文档声明(assertion)应为与具体实现无关(implelementation-independent)
  • Java平台API文档应有足够的声明,以使得软件质量保证部门能写出完全的JCK (Java Compatibility Kit)测试。

3、文档注释编写细则

  1. 每个文档注释的第一句,应是个概要句,简明但无遗地描述API项。第一句在第一个后跟空格的点号前结束。当句中出现非结束意义的点加空格时,需要空格进行转义,如 等。
  2. 自动重利用父类/接口方法(method)的注释,当(1)一个类方法重写(override)父类的方法时,或(2)一个接口方法重写父接口的方法时,或(3)一个类方法实现一个接口方法时。如果当前方法没文档注释,则从父方法复制,如果有,则不复制而是前两者有小标题 “Overrides”,后者有”Specified by”.
  3. 用<code>…</code>来标注关键词或名字
  4. 节约使用行内链接{@link}
  5. 对方法和构建函数的说明,要去掉括号
  6. 可以为了简短使用短语而不是句子
  7. 使用第3人称而不是第2人称
  8. 以一个动词短语开始对一个方法的描述
  9. 对类/接口/字段(field)的描述,可以忽略主语
  10. 用”this”而不是“the”来引用从当前类生成的对象
  11. 不要仅是简单地把API名字里的单词展开来做描述,要增加一些信息。
  12. 当作用”field”一词时,注意它易引起混淆
  13. 避免拉丁语缩写
  14. 标签顺序
    1. @author,多个作者时按参考修改代码的年代为序
    2. @version
    3. @param,多个参数时以方法声明中的顺序为序,单个@param后跟参数名(不要相应的类型),再加描述
    4. @return
    5. @exception,多个异常时以异常名字的字母顺序为序
    6. @see,多个参见时据 #field,#Constructor(Type, Type…),#Constructor(Type id, Type id…),#method(Type, Type,…),#method(Type id, Type, id…),Class,Class#field,Class#Constructor(Type, Type…),Class#Constructor(Type id, Type id),Class#method(Type, Type,…),Class#method(Type id, Type id,…),package.Class,package.Class#field,package.Class#Constructor(Type, Type…),package.Class#Constructor(Type id, Type id),package.Class#method(Type, Type,…),package.Class#method(Type id, Type, id),package排序
    7. @since
    8. @serial
    9. @deprcated
  15. @param和@return(当返回不是void时)都是必须的

在线HTML编辑器

In programming on February 4, 2005 at 3:52 PM

内容管理系统中不可避免的会涉及到内容的在线编辑问题,这两天看了不少在线的HTML编辑器。我主要是从车东的内容管理系统(CMS)的设计和选型一文中提到的一篇文章TTW WYSIWYG Editors里面介绍的那些编辑器开始的。虽然文中列举了不少的编辑器,但是也没发现特别满意的。车东推荐的是aynhtml,但是我看了一下,发现它只支持Internet Explorer 5.5以上,并且已经停止开发了似乎(最新版本是2002年的)。我觉得在线编辑器的最重要的一个特性就是TTW WYSIWYG Editors一文中列出的cross platform特性,因为B/S相对与C/S的一个很大优势就在于B/S部署方便,如果编辑器强迫用户使用IE,那么这一优势也就荡然无存了。

于是自己又找寻和比较了一阵,最后感觉比较好的如下:

1 FCKeditor

This HTML text editor brings to the web many of the powerful functionalities of known desktop editors like Word. It’s really lightweight and doesn’t require any kind of installation on the client computer.
As it is Open Source, you are allowed to use it for free wherever you want.

2 Kupu

Kupu is a ‘document-centric’ open source client-side editor for Mozilla, Netscape and Internet Explorer. Inspired by Maik Jablonski’s Epoz editor, it was written by Paul Everitt, Guido Wesdorp and Philipp von Weitershausen (and several other contributors, for a complete list refer to the CREDITS.txt file) to improve the JavaScript code and architecture, pluggability, standards support, support for other webservers than Zope (which was the original target platform for Epoz), configurability and a lot of other issues.

3 Cross-Browser Rich Text Editor

The cross-browser rich-text editor implements the Mozilla Rich Text Editing API included with Mozilla 1.3+. There is NO LICENSE, so just take the code and use it for any purpose. This code is 100% free. Enjoy!

Requires: IE5+/Mozilla 1.3+/Mozilla Firebird/Firefox 0.6.1+/Netscape 7.1+ for all rich-text features to function properly. If browser does not support rich-text, it should display a standard textarea box.

4 TinyMCE

TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other CMS systems.

推荐FCKeditor,是sourceforge.net上面最活跃的项目之一,功能十分强大,外观做的也很不错,还支持多语言,最重要的跨平台或者说跨浏览器也还不错。现在出到FCKeditor 2.0 RC2,就是bug似乎还多了一点,希望能尽快改善到稳定的可用版本。

部署FCKeditor时注意,如果部署为客户端Javascript的话,需要:

1. 修改fckeditor.js中的BasePath变量为editor目录所在的目录路径。

2. 调用页面中可以参照_samples目录里面的例子,不过也需要将页面中JavaScript的调用的BasePath做如上更改。同时,页面中的css样式表的路径要使用绝对路径(这个我在一般打开时相对路径可以用,但是部署为Struts应用时就不行了,改成绝对路径才可以,不知道为什么还,应该是和Struts有关)

可爱的小闹钟

In other on February 3, 2005 at 12:35 PM

看到一个可爱的flash小闹钟,做的满精致的,链一个

simple and& nbsp;clean
http://www.butabon.com/Clock/clock_015.swf http://www.rainbowsoft.org/FLASH/clockb.swf http://www.chatziandreou.de/flash/clock.swf

又发现两个,^_^
http://www.clocklink.com/Clocks/0001-Blue.swf?TimeZone=EST http://www.clocklink.com/Clocks/0002-White.swf?TimeZone=EST http://www.clocklink.com/Clocks/0003-Green.swf?TimeZone=EST

colorful
http://www.kaoru.gg/flash/clock/clock.swf http://202.101.236.114/web/user/qcxw/flash/clock4.swf http://52q.net/clock/leehoo_clock_104.swf http://www.colclocks.com/top/fc6/0.swf http://www.colclocks.com/top/clock/Clock.swf http://www.colclocks.com/top/colclock1/colclock1.swf  http://www.colclocks.com/FlashClocks/2/fc7/cable_clock.swf http://www.colclocks.com/SD/microsoft3/microsoft3.swf http://www.colclocks.com/SD/ColclocksZ51/ColclocksZ51.swf http://blog.china-pub.com/uploadfile/20041028215251316.swf http://bbs.smgbb.cn/Skins/Default/clock.swf

还有一个,dog  clock
http://www.clocklink.com/Clocks/TheDog001-Beagle.swf?TimeZone=EST  http://coppermine.sourceforge.net/demo/albums/userpics/10002/clock.swf

超酷的,handwrite& nbsp;clock
http://www.lares.dti.ne.jp/%7Eyugo/storage/monocrafts_ver3/03/hand.swf

3D Clock,别看倒了
http://www.tecnoufficio.biz/immagini/3dclock.swf

Retangle Clock
http://52q.net/clock/leehoo_clock_101.swf
http://52q.net/clock/leehoo_clock_39.swf
http://52q.net/clock/leehoo_clock_22.swf
http://www.id02.com/clock/clock.swf
http://www.ammo.jp/gallery/tokei/t0302/clock02.swf
http://www.colclocks.com/FlashClocks/2/fc12/clock.swf
http://www.colclocks.com/FlashClocks/3/fc23/myclock_guts.swf
http://www.colclocks.com/FlashClocks/3/fc17/cj_15948.swf
http://www.colclocks.com/FlashClocks/3/fc19/clockblock.swf
http://52q.net/clock/leehoo_clock_1.swf