自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (9)
  • 收藏
  • 关注

原创 Windows防火墙居然阻止了微软消息队列服务

从昨晚到今天上午,为了调试MQ通信不正常的问题花了好几个小时,最终还是关闭了Windows防火墙才把问题解决掉。

2009-08-19 11:20:00 1004

原创 发现一种简单高效的Hash算法,比常用的几种算法效率高出一倍以上

最近研究Hash算法,在网上查了些资料,发现目前常见的几种Hash算法在效率上几乎差不多。为了提供更快的效率,我尝试了一些算法,终于让我找到更好、更快的算法。代码非常简单:int GetHashCode(const string& key){ int hashcode = 0; int kelength = (int) key.length(); int COUNT =

2009-06-26 15:57:00 6332 1

原创 软件设计三要素

三个基本元素:架构(系统)、脉络、变元。架构:描述了系统包含的基本模块以及模块之间的关系。脉络:描述了系统中数据或者功能的处理流程。变元:用于改善系统各个方面所引入的元素,可能是模块、数据或者任何可能的因素。脉络包括功能脉络和数据脉络,功能脉络描述了系统实现某个功能所经过的处理过程,数据脉络描述了系统中某个数据或者某部分数据在各个模块经过的处理过程。变元包括例外变元、时间变元、

2009-05-26 16:37:00 3218

原创 XML中的5个转义字符

 转义前        转义后---------------------->                >                 '"                "&               & 特征:转义后的字符串以&开始,以;结束

2009-05-12 11:08:00 781

原创 光环国际教育集团的免费讲座——项目管理与经理人的成功之路

前几天参加了光环国际教育集团在上海举办的免费讲座,地点是金水湾大酒店顶层会议室,时间约两个小时,主讲人是光环的总经理。到场的听众大概150人左右,多为30岁左右的男士。整个讲座的过程并没有多少实质性的内容,也没有多少可圈可点的精彩之处,感觉还是比较失望的。到场的听众,每人拿到了一本袖珍版的PM手册,内容挺丰富的,感觉这是最大的收获了吧。讲座结束之后,不少人围着光环的工作人员咨询,大多数人关心的是P

2009-04-28 11:42:00 2717

原创 C++中实现对象的SOAP封装

SOAP封装本质上是一种特殊的XML封装,在.NET中使用XmlTextWriter可以很方便的构造XML文本流。所以,本文首先实现SoapWriter类,然后再提供对象的SOAP封装范例。class SoapWriter{public: SoapWriter(size_t nTabOffset = 0); virtual ~PMESoapWriter();

2009-04-03 15:55:00 1254

原创 用C++模板实现事件模型

C#语言中的委托模型封装了函数指针的用法,而事件模型又在委托的基础上实现了观察者模式。这些在程序开发中有着非常好的应用。C++语言本身没有为我们提供事件模型,如何在程序中实现自己的事件模型呢?本文将试着抛砖引玉……首先,我们需要定义一个基本的事件模型,支持函数指针的注册和注销:templateclass BasicEvent{public: typedef T Fun

2009-03-27 13:29:00 1277

原创 软件架构的完美原则

 软件架构主要包括需求分析和系统设计两方面的内容。Perfect原则可以作为这些工作的参考。P -性能 (响应时间、吞吐量、资源利用率)E -扩展 (引用外部接口、提供对外接口)R -可靠 (故障率、备份、可恢复性)F -功能 (必要的、可选的、隐藏的)E -错误 (日志)C -裁剪 (模块定制、功能定制)T -工具 (配套、服务)

2009-01-12 14:16:00 661

原创 Tonix 2.0.0 性能参数(对象数据库存取系统)

对象数据库Tonix 2.0.0相对于版本1.0.1有了很大的改进,包括类型系统更加健全,所有类型都是object的子类,并且增加了bool类型,还能够支持类的数组等复杂类型。本产品的性能测试结果如下:环境:测试用表结构为2个整数和1个字符串。性能:插入1000个对象耗时0.16秒;删除1000个对象耗时0.20秒;更新1000个对象耗时0.28秒。结论:总的来说,性能还是比较理想

2009-01-09 00:02:00 787

原创 对象数据库第2版开发进行时

Tonix 2.0.0目前正在紧张的开发中,架构上有了较大的改进,类结构更加有体系了。增加了object作为所有类的根基类,除了第1版的基本类型之外又增加了bool类型。第2版还增加了对类结构数组的支持。在查询分析器中新增了可选的预定义类结构,并且定义了纯面向对象的对象查询语言。本文对这种语言做一些简单的介绍。1、插入类或者表class.Insert(Point)table.Inser

2009-01-03 21:10:00 570

原创 热烈庆祝:对象数据库开发包(版本1.0.0)正式出炉

经过一个多月的“苦战”,我的对象数据库产品Tonix终于修成正果了,欣慰啊~开发手册和库文件已经上传到CSDN了,可以在http://download.csdn.net/user/dz_huanbao上免费下载和使用。经过初步的测试,性能表现优异,千条记录的插入、删除和读取,耗费时间在0.15秒左右。下载时请同时下载开发包和补丁包,如果希望版本升级时能够得到通知,请给我发Email:trueman

2008-12-31 22:19:00 600

原创 对象数据库开发手册

本文对TODB 1.0.0作了详细的介绍,若对此感兴趣,可以来邮免费索取:[email protected] 一、         类库本数据库产品提供了以下5个类作为应用编程接口:类名功能OdbVisitor创建数据库访问数据库(支持密码保护)OdbClass创建和删除类结构维护类的名称、父类、对

2008-12-29 17:04:00 845

原创 用C#开发的对象数据库应用范例

基于自己开发的对象数据库的API,制作了简单的查询分析器软件。本文描述了API的用法,绝对会使程序员感到亲切。以下代码分别演示了对PointTable的增删改查操作。static void Main(string[] args){    OdbVisitor odb = new OdbVisitor();    // open the database   

2008-12-26 17:25:00 844

原创 对象数据库的初步研究成果

近期研究对象数据库有半个多月的时间了,也进行了一些尝试,对这个领域越发感兴趣了。这两天利用自己提供的API开发了简单的查询分析器,本文将部分截图拿出来共享,当然目前的功能还非常简单,本人将会进一步研究下去。将来有机会还会考虑成立公司来经营相关产品。有兴趣的朋友可以多多交流。设计对象数据库的初衷有两个,一是常见的DBMS无法方便的支持编程语言对应的数据类型,比如:数组

2008-12-23 19:35:00 661

原创 C#语言未来需要支持的新功能

 我们知道,定义一个类时是可以从另一个类继承的,并且还能同时继承自若干个接口。但这些接口必须是已存在的,并且从接口的继承只能是静态的。在现实世界里,我们有必要为类动态的新增接口,这就是未来的C#语言应当支持的功能。比如下面的示例代码——public class SpecialException : Exception, ICloneable{    public int[]

2008-12-17 22:48:00 577

原创 关于面向对象设计中继承与组合的选择

这个标题似乎有些奇怪,初学者可能会无法理解。先来看看面向对象中组合和继承的基本概念:组合——在某个类中定义了另一个类的实例,对其进行数据维护和操作。继承——某个类从另一个类继承,则自动“拥有”了父类的的数据和方法。可见,在本质上两者是有很大的共性的,就是利用另一个类已有的数据和方法。看看下面的例子——首先,我们来定义一个常见的类Point。public clas

2008-12-17 22:07:00 532

原创 求解13的13次方的末三位(10进制)

 今天有朋友突然打电话问我这个问题,我考虑了一会儿,给朋友回了一封邮件:13^13 = *???// 个位数很容易判断,周期为4,取值1、3、9、7 // 十位和百位暂时没有找到规律,只好用下面的笨办法 // An = 13^n; Bn = 13^(10+n) // 运算依据:An = (13 * Ak) % 1000;其中n = k + 1 A0 = 00

2008-12-12 00:04:00 1277

原创 C#中对象串行化技术的探讨

在C#中,利用SerializableAttribute可以很方便的实现对象的串行化,缺点是占用空间大。本文除了介绍该属性的用法之外,还将介绍一种自定义串行化功能的实现方案。以下代码展示了SerializableAttribute的基本用法:using System;using System.IO;using System.Runtime.Serialization;u

2008-12-11 23:09:00 3647 2

原创 课题研究:面向对象的数据存储与交换技术

摘要:关系型数据库管理系统功能强大,且发展到了很成熟的阶段。但是在实际的应用开发中,还是发现其明显的不足。主要有三点,一是表中存储的每一行数据具有固定的字段结构;二是表字段的类型不能与流行的编程语言提供的数据类型直接匹配;三是表的组织过于简单,在复杂的应用中通常是利用不同的命名前缀来区分不同的范围。在数据交换方面,XML已经成为这一领域的标准,本文也从面向对象的角度对其进行研究。 (一)面

2008-12-06 21:56:00 1186

原创 C#中利用ADO.NET存储图片、文件等二进制数据

利用ADO.NET可以很方便的在各种数据库管理系统中存储数据,通常是字符串或者数值类型。在少数应用中需要使用更高级的数据类型,比如SQL Server中的Image、Text等类型。本文以Image类型为例介绍相关的数据库操作方法。 下图为SQL Server 2000中自定义的一张表:这张名为tbl_Member的表定义了两个字段:Name(varchar对应C#中的string

2008-12-03 20:49:00 2002

原创 C#中实现全屏幕无标题栏的应用程序

通常游戏软件、视频播放软件等都会有这样的需求。本文介绍了这方面的入门知识,供大家参考学习。步骤1、我们创建一个名为Game的WinForm应用程序,如下图所示:步骤2、修改Form1的两个属性,分别是FormBorderStyle设置为None,TopMost设置为True步骤3、添加Form1的Load事件处理代码: 步骤4、编译并运行,呈现在你面前的将是一个空白的全

2008-11-29 21:36:00 1085

转载 项目计划书的编写说明

1 引言1.1 编写目的说明编写这份项目计划的目的,并指出预期的读者。作用:本节是为了说明编制“项目计划书”亦即本文档的意图和希望达到的效果。注意这里的“目的”不是“项目目标”,而是为了说明本文档的目的与作用。“项目目标”在2.1中说明。意义:使项目成员和项目干系人了解项目开发计划书的作用、希望达到的效果。开发计划书的作用一般都是“项目成员以及项目干系人之间的共识与约定,项目生命周期所有活动的行动

2008-11-26 15:35:00 1099

转载 中、小型软件企业的项目管理

  目前软件的应用已经深入到企业、政府及我们日常生活的方方面面,其中大量的开发是由中、小型软件企业承担的。由于中、小型软件企业在体制,人力资源投入力度和关心程度等方面存在差异,开发软件产品时与专业软件企业有很大的不同,因此对中、小型软件企业的软件项目管理进行研究,有助于提高软件项目管理水产,增强客户的满意度。   软件项目管理既具有一般项目管理的属性,又具有其特殊性,软件项目管理的重点在于标准的制

2008-11-26 15:08:00 765

原创 我的工作感言:1+1=0与1+1=1

有两个团队A和B,同时研制新产品P并投放市场。团队A设计了两套方案a1和a2,团队B设计两套方案b1和b2。各个方案从优到劣依次是a1、a2、b1、b2。 看起来团队A将会赢得产品P的市场,但实际上却常常并非如此。因为,团队A就两套方案争论不休,讨论了半年之后最终不了了之;而团队B却很快达成了按照方案b1执行,最终赢得了市场。 如此简单的教训,在我们身边的企业或者组织中

2008-11-25 17:19:00 878

原创 用Visio绘制UML中的静态类图

 以MFC类库作为练习的材料实在是太合适了。下图省略了类的字段和方法,意在突出类的继承体系。个人感觉,使用UML设计类图,有些情况下无法达到与某种特定编程语言较为舒适的匹配关系。所以,从UML转为实际的代码,还需要经过相关程序编制人员的润色和优化。 

2008-11-25 16:56:00 8750 1

原创 用Visio绘制UML中的用例图

用例图是最简单的UML图,但是要想全面的表达所有用例是十分困难的。所以,选取用例的技巧就十分的重要。本文就以Windows操作系统中自带的绘图软件为例,绘制我的第一个用例图。 

2008-11-25 16:14:00 8275 3

转载 CMM适合哪些企业?

什么企业适合全面实施CMM? 1.外向型的,特别是向北美市场出口的企业。这些企业都是市场导向明显的企业,应该全面实施CMM。 2.为解决问题而实施CMM。企业在自己的业务实践中,确确实实感觉到需要改进自己的过程,而且自己有一些教训,这些教训很深刻。在这种情况下,企业领导者要下决心,实施CMM,从根本上解决存在的问题。 3.企业需要有一定的实力。实施CMM的企业少的要花费几十万元,多的要花近百万元,

2008-11-25 15:48:00 1175

原创 用Visio绘制switch-case流程图

2008-11-25 15:28:00 47905 4

转载 软件建模的误区

无论你遵从的是重量级的方法,比如Enterprise Unified Process(EUP),还是轻量级的开发过程,如Extreme Programming(XP),建模在软件开发中都是不可或缺的。但不幸的是其中充斥着各种谬误与迷思。 这来自于各个方面,有从理论家错误的研究、数十年来信息技术领域内的文化沉积、软件工具开发商天花乱坠半的市场宣传以及象Object Management Group

2008-11-18 22:26:00 1333

转载 怎样成为优秀的软件模型设计者

我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?    将下列原则应用到你的软件工程中,你会获得立杆见影的成果。      1. 人远比技术重要      你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(En

2008-11-18 22:21:00 426

转载 标准建模语言UML的动态建模机制

1. 消息 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。在UML的四个动态模型中均用到消息这个概念。通常,当一个对象调用另一个对象中的操作时,即完成了一次消息传递。当操作执行后,控制便返回到调用者。对象通过相互间的通信(消息传递)进行合作,并在其生命周期中根据通信的结果不断改变自身的状态。在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类

2008-11-17 17:29:00 990

转载 标准建模语言UML的静态建模机制

任何建模语言都以静态建模机制为基础,标准建模语言UML也不例外。UML的静态建模机制包括用例图(Use case diagram)、类图(Class diagram)、对象图(Object diagram )、包(Package)、构件图(Component diagram)和配置图(Deployment diagram)。 1. 用例图(1) 用例模型(Use case model)

2008-11-17 12:43:00 1905 4

转载 标准建模语言UML概述

1. 标准建模语言UML的出现公认的面向对象建模语言出现于70年代中期。从1989年到1994年,其数量从不到十种增加到了五十多种。在众多的建模语言中,语言的创造者努力推崇自己的产品,并在实践中不断完善。但是,OO方法的用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点选择合适的建模语言,于是爆发了一场"方法大战"。90年代中,一批新方法出现了,其中最引人注目的是Booch 1

2008-11-17 12:21:00 725

原创 C#源码——CRC16循环冗余校验码的实现

// 计算字节流数据的CRC值,crcOrigin使得CRC结果可以累积运算 public static ushort CRC16(byte[] data, ushort crcOrigin){    ushort crcResult = crcOrigin;    ushort crcExpress = 0x1021; // CRC16 expression   

2008-11-16 22:54:00 1930

转载 CMM中的基本概念

 软件过程(Software Process)过程是人们使用某种方法和工具按照一定次序将定量的输入变成输出。软件过程则可定义为企业设计、研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动。理解包括SEI在内的美国过程学派的一个核心概念就是——只要过程上正确及构成过程的解决方法正确,产品就会正确。 软件过程能力(Software Process Capability)企业实

2008-11-16 22:11:00 692

转载 CMM二级适用于25至100人的研发团队

随着企业CMM成熟度登记的提高,项目开发中的风险可以得到逐步减低,开发时间也大大缩短,开发成本得以减少并大大降低软件产品中的错误发生率。CMM不仅可以提高企业在国际市场上的软件出口竞争力,也可提高企业自身的软件管理与开发水平,有助于客户对企业生产能力树立信心。目前,欧美等国的大型软件用户与软件供应商共同采纳CMM作为供需双方认定软件产品质量及工程预算的标准。印度软件企业更是对CMM全力投入,每年定

2008-11-16 21:55:00 572

转载 C#的反射机制

反射是一个普通术语,描述了在运行过程中检查和处理程序元素的功能。例如,反射允许完成以下任务:●       枚举类型的成员●       实例化新对象●       执行对象的成员●       查找类型的信息●       查找程序集的信息●       检查应用于类型的定制特性●       创建和编译新程序集这个列表列出了许多功能,包括.NET Framewo

2008-11-16 20:50:00 2235

转载 C#的内存管理知识

本章介绍内存管理和内存访问的各个方面。尽管运行库负责为程序员处理大部分内存管理工作,但程序员仍必须理解内存管理的工作原理,了解如何处理未托管的资源。如果很好地理解了内存管理和C#提供的指针功能,也就能很好地集成C#代码和原来的代码,并能在非常注重性能的系统中高效地处理内存。本章的主要内容如下:●       运行库如何在堆栈和堆上分配空间●       垃圾收集的工作原理●  

2008-11-16 20:36:00 3094

DebugView V4.74

调试好帮手,比日志方便。 大于20字符了吧,哈哈

2009-07-14

对象数据库开发包(Tonix 2.0.0)

包含对象数据库DLL库、TonixManager、开发手册和TonixManager的源代码(方便大家更好的理解库的用法)。1个资源分换1个完整的代码绝对超值。

2009-01-09

对象数据库开发手册(Tonix 2.0.0)

对象数据库Tonix 2.0.0相对于版本1.0.1有了很大的改进,包括类型系统更加健全,所有类型都是object的子类,并且增加了bool类型,还能够支持类的数组等复杂类型。1000个对象的增删改耗时在0.16~0.28秒之间。

2009-01-09

对象数据库开发包补丁程序 (ODB.dll V1.0.1)

很高兴的告诉大家,经过初步的测试,本数据库产品的性能比较优秀:1000条记录(包含2个整数和1个长度50字节的字符串)的插入、删除和读取,耗费时间均在0.15秒左右。测试环境:Windows XP;Pentium(M) 1.6GHz;内存为768MB;VS2005。本补丁包修正了开发库的1个BUG:Rebuild功能某些条件下会失败(但不会损坏原始数据)。

2008-12-31

对象数据库开发包(版本1.0.0)

本开发包的内容齐全,包含了开发指南、开发手册、查询分析器和开发包。您可以自由的使用并获得一定的技术支持。国产系统软件的推广需要大家的共同努力。

2008-12-30

对象数据库开发包(版本1.0.0)

本开发包的内容齐全,包含了开发指南、开发手册和开发包。您可以自由的使用并获得一定的技术支持。国产系统软件的推广需要大家的共同努力。(抱歉,忘记加入查询分析器了。重新上传……)

2008-12-30

对象数据库开发手册.pdf

本开发手册详细说明TODB 1.0.0的类库接口、多个代码示例、查询分析器用法图解,可以指导用户快速开发基于数据存储的应用程序。

2008-12-29

对象数据库开发指南.ppt

由于对象数据库能够存取复杂类型的数据,可以将程序员从繁重的数据结构和文件存取任务中解脱出来。本对象数据库面向单机单用户,没有复杂的机制,效率很高。它除了实现对象的存取以外,还能自动生成大量的代码。如果你的应用程序要需要保存数据到文件,那么就进来看一看吧……

2008-12-29

C#语言参考,详细讲解了C#语言的基本特性和语法

C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。C#(发音为“C霎普”)牢固地植根于C和C++语言族谱中,并且会很快被C和C++程序员所熟悉。C#的目标在于把Visual Basic的高生产力和C++本身的能力结合起来。

2008-11-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除