17 dengyunze

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

Log系列:使用log定位多模块系统中出现issue的模块

Log技术在维护一些分布式系统时,是一个很好的手段。特别是在一些分布式/多模块的系统中,Log经常是解决问题首选的方式。因为在分布式/多模块的系统里,发现问题后最复杂的部分往往在于定位上。问题由哪个模块导致,在哪个模块开始体现,出现问题模块的输入数据来源...个人遇到的一个实际的例子是,一个分布式的系统,由时差在6-8小时的3个team分别维护3个模块。3个模块的接口分别是:     1. 一

2006-06-15 13:49:00

C++ Template: 模板参数传递中的切片问题

Effective Standard C++ Library: Explicit Function Template Argument Specification and STL A New Language Feature and Its Impact on Old Programming Techniques       Klaus Kreft and Angelika Langerhtt

2006-06-06 11:54:00

C++ RTTI: 2个宏实现“根据对象名创建对象”

1. 问题提出:C++ RTTI缺乏一些运行时信息,无法根据对象名直接创建对象。所以MFC为了实现序列化,从头构造了自己的RTTI信息,并定义了一整套宏。具体可以参考MFC源代中一下类和宏的实现:CRuntimeClass, CObject, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC2. 需求:个人正在写一个做集成测试的工具,有一个配置文件,用于指定哪些CASE

2006-05-30 15:06:00

文件数据库试用

文件数据库文件数据库又叫嵌入式数据库,将整个数据库的内容保存在单个索引文件中,以便于数据库的发布。文件数据库的3个重要特征(相对于传统数据库)1.  数据操作接口SQL92标准,不管是传统数据库,还是文件数据库,都必须支持SQL92标准。2.  数据保存格式传统数据库(DB2, Oracle, SQL server等)数据保存的方式各异。文件数据库将数据保存在单一文件中

2006-02-15 11:16:00

基于消息分发的多线程程序设计,常见的问题,以及解决方法

商业软件的开发,大部分都需要有一些为其它模块提供服务的底层模块。这些底层模块由于实现的是一些通用功能,需要同时为几个高层模块提供功能,因此通常被设计成一种基于消息队列的框架。任何需要访问这些通用功能的高层模块,都可以通过发送消息并接受返回值来得到需要的服务。这种构架的设计,一般是围绕消息队列来展开的:首先有一个消息队列,并对外暴露发送消息的API;然后实现一个负责维护并调度该消息队列的线程,该线程

2005-12-16 15:31:00

PRB: Catastrophic Error Occurs Referencing ADO Recordset.

MS SQL Server 使用时的一个小问题,事务提交会破坏该数据库连接上的记录集。场景如下:1. 执行一个SQL 查询,产生一个记录集。2. 在同一个数据库连接上执行一个transact的commit或者rollback操作3. 去查询第一步的记录集。ADO会报错:“Using ADO 2.6 and later, the error is Run-time error -214741811

2005-12-01 09:42:00

XML parser如何实现DTD校验之一:Element层次结构的校验

如何做DTD的校验DTD对XML文档的结构定义主要体现在两个方面,对子节点类型的定义和对属性的定义。一个xml parser要实现DTD校验,必然要实现对这两种DTD定义的校验。先考虑DTD子节点类型校验的情况。DTD声明对子节点机构的定义主要分为几种类型: A节点下可以包含任意节点类型,最简单的情况。 A节点只能包含文本信息。 A节点可以而且必须包含B和C节点,并且B节点必须位于C节点之前。 A

2005-08-17 09:35:00

魔兽终于开始了。

魔兽世界终于开始公测了。化了4个小时,升到了7级,感觉还不错,就是地图有点大,刚开始有点晕路,习惯就好。嗯,节奏也有点慢,发个魔法需要准备N秒钟,暴雪不是也向靠这个托玩家时间吧???想当年,暗黑的年代,瞬移到牛牛们中间,嗖嗖的几个nova倒下一片的年代是一去不复返了。唉,还是喜欢高节奏的游戏啊,暗黑,KOF, CS也不错。不过画面效果和游戏内涵倒是没得说,人物动作很自然流畅,网速过得去,没有pk过

2005-04-27 15:37:00

XPath expression language的词法分析和AST树实现。

XPATH 所使用的表达式语言,主要由两个部分组成: 表达式语言和xpath的路径搜索表达式.    1. 表达式语言, 由+, -, *, /, or, and, not和数值,字符串,函数等组成, 符合正规语法.    2. XPath路径搜索表达式, 是指在xml文档中搜索某个xml node的表达式.比如/books/book,搜索books节点下的所有book字节点. 具体可以参考www

2005-04-20 09:20:00

Xml DTD校验中关于external entity的实现策略。

在Xml parser的实现中,DTD的实现是一个比较麻烦的地方。麻烦之处不在于DTD的逻辑部分,而在于如何处理DTD的外部Entity,比如,DTD文件间的相互调用。比如如下的DTD声明:%imported-file;上面两段DTD语句,首先声明一个参数化的external Entity, 紧接着引用该external entity,表示导入该DTD文件作为整个DTD的一部分。那么,当Xml P

2005-04-18 13:39:00

用C++实现一个XML parser的必要工作。

考虑一个完整的XML Parser一般由几部分组成:必要组件:1. DOM 接口定义,以及DOM MODEL的实现。2. 一个XML词法分析器,用于将XML字符流转换成TOKEN流。3. 一个XML PARSER,将TOKEN流组织成DOM MODEL.4. 一套在DOM NODE中遍历的数据结构和算法,NodeIterator,TreeWalker.5. 一个DTD的词法分析器和DTD PARS

2005-04-14 12:34:00

一个最最简单的xml sax writer.

    JAVA 的xml包不少,可就没找到一个包提供了SAX writer的功能,正好需要按照SAX方式输出xml文件,所以自己写了一个,包含注释大约100行,使用起来也颇为简单。    /*     * Created on 2005-1-29     *     *  Mininal sax writer. you can use it like that:     *   XmlWrite

2005-02-19 22:55:00

一个简单生成Excel文件格式的java包。

    作为学习Excel 2003 Xml文件格式的过程,实现了一个Excel xml writer,可以生成Excel xml file.基本上提供了Excel 2003 xml文件格式完整支持,列表如下:    Row    Cell    Styles(Font,Alignment,Interior,NumberFormat)    NamedRange    Formula(not co

2005-02-16 14:36:00

Excel 2003的XML文件格式

    表格软件的的层次结构一般都比较简单,整个文件是一个Workbook节点,Workbook中可以包含多个Worksheet,Worksheet有多个Row对象,每个Row包含多个Cell.    Workbook             Worksheet                      Row                           Cell             

2005-02-16 14:27:00

java 5.0:范型导致的容器不兼容性。

        将代码移到java 5.0上,发现根本无法编译通过,原来是由于java 5.0由于引入“范型”而带来得不兼容。具体来说就是,Collections得许多static函数成了范型专用版本,无法继续作用于以前版本得容器Collection类。       比如函数sort( List list, Comparator comp),在以前版本中能够用于对任何List类型得容器进行排序,而

2005-01-30 00:54:00

org.apache.commons.beanutils---操作javabean的工具

        org.apache.commons.beanutils是Apache的Commons下的一个子项目,因为跟踪struts的原因,深入跟踪了一下这个包,发现其中的BeanUtils类提供的一些静态工具函数还是很好用的。这个工具包在struts中大量被使用,用于操作struts的ActionForm对象。       cloneBean:复制一个Bean对象。使用reflect方式,

2005-01-08 23:26:00

孟岩的C++培训课

        因公司安排参加了2天C++的培训,孟岩老师的主讲。        课讲的很好,第一天是一些C++的一些原理,如对象内存布局,多重继承,等等,第二天主要是STL和范型。内容不少,讲的也很透彻,很久没有这么探究C++的理论,咋听之下,感觉还是不错的。        唯一的遗憾是,好像现在C++领域除了这些东西以外,好像真的是找不到新的课题了。关于C++的对象布局,在lipman的书里,

2005-01-08 23:19:00

Log4j配合Apache Commons Logging

        Apache的Common Logging是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的java.util.logging。可以通过配置文件来设定最终使用log4j还是java.util.logging。        默认使用的是java.utl.logging,如果要使用Log4j,需要做一些配置,分3各步骤, 1. 

2005-01-08 02:01:00

java解惑:揭开Struts MVC Model2的面纱。

        所有关于Struts的帖子,总是将MVC Model2描叙的特别神乎,俨然是新一代的设计模式。本人新学,翻了几篇帖子,还是没能弄明白什么是Model2,于是下载Struts源码,原来是在原有视图( html )和Control(jsp/servlet)之间,添加了一个ActionSerlvet作为新的Control,所有其它动作,都要经过ActionServlet来分发。     

2004-12-29 19:46:00

Eclipse Tip:Restore from Local History.

       今天用Eclipse写代码时,不小心把一个核心代码文件删除。苦苦想办法,垃圾箱中没有,Norton文件恢复中也没有,试试反编译.class文件,结果也不太理想,注释啊什么的,一个都不见了。万般无奈之下,想到说不定Eclipse本身已经考虑到这个问题了。一边查帮助,一边google,终于发现了Project Explorer视图右键菜单上的”Restore from Local His

2004-12-21 20:03:00

查看更多

勋章 我的勋章
    暂无奖章