剑花 烟雨

   江南  好 风景旧曾谙 日出江花红胜火 春来江水绿如蓝 能不忆东北

理想中的建筑师应该是一个诗人、数学家、精通历史、精通心理学、熟悉音乐、了解医学、还要具备天文学和计算的基本知识。
                                                                                                                         ------------------公元前25年,罗马建筑学家Vitruvius
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2007年6月8日

摘要: This error occurs when trying to run an ASP.net project comprising an Infragistics UltraWebGrid component: Compiler Error Message: CS0234: The type or namespace name 'BorderDetails' does not exist in the class or namespace 'Infragistics.WebUI.Shared' (are you missing an assembly reference?) The name 'BorderDetails' IS in the Infragistics.WebUI.Shared assembly. The assembly in question was added to the project's references when an UltraWebGrid was place 阅读全文

posted @ 2007-06-08 16:50 落花人独立 阅读(2358) 评论(0) 推荐(0) 编辑

摘要: 三个问题: 1,对于所编写的代码,你在调试上花了多少时间? 2,对于以前你自认为正确的代码,而实际上这些代码却存在重大的Bug,你花了多少时间在重新确认这些代码上面? 3,对一个别人报告的bug,你花了多少时间才找出导致这个bug的源码位置? 对于单元测试,要分类进行,花时间的频率低些,不花时间的频率高些。 测试代码本身也是你的工作。 assertion 计划你的测试 阅读全文

posted @ 2007-06-08 14:42 落花人独立 阅读(630) 评论(12) 推荐(0) 编辑

2007年6月2日

摘要: 在我们使用NHibernate进行软件开发的时候,最初的例子会告诉我们用CodeSmith来生成Mapping,但是没有告诉你是按什么规则生成的,在使用的过程中你会发现根据不同的情况会有不同的问题出现。出现这些问题的原因就是CodeSmith中的NHibernate Template生成的代码是按默认的值生成的,当你的系统在全盘不是默认的值的时候就要根据情况做不同的配置。这些都在NHibernate的相应的文档中有提到,只是一不小心就忽略过去了,在网上搜索来的中文的帖子,可读性都很强,但是技术的细节做的不够,总是忽略了初学入门的时候那种懵懵懂懂的状态。既然是我们是为了让别人少走些弯路,那就要做的细些,不要做什么做了一半,觉得这也简单,那也简单,小问题也会影响大结果。所以在写文档的时候,无所不细,无所不到,就当我们什么也不会吧;) 阅读全文

posted @ 2007-06-02 14:46 落花人独立 阅读(3681) 评论(1) 推荐(1) 编辑

2007年6月1日

摘要: http://community.codesmithtools.com/forums/ CodeSmith Forum http://sourceforge.net/project/showfiles.php?group_id=101411 DotNetDALLib is a Data Access Layer library for .NET applications. Either by hand, or using templates for CodeSmith, users can create attributed objects which they can simply serialize to/from the database with minimal work. 阅读全文

posted @ 2007-06-01 19:37 落花人独立 阅读(427) 评论(0) 推荐(0) 编辑

摘要: 常量类型的表示 系统中常常有一些属性的属性值是固定的一组值,它们的值域是封闭的(有限数量),比如国家代码(每个国家具有唯一的代码,而在一定时期国家的数量是确定的)、性别类型(男、女)。在现代 程序语言中,一种典型的表示方式是枚举类型(Enum)。Enum表示封闭值域的类型,常常由程序语言作为一种数据类型直接支持,例如C,C#等。C#支持的enum在C的基础上提供了类型安全的能力,下面是用C#定义的性别枚举类型: public enum Sex { Male, Female, } 阅读全文

posted @ 2007-06-01 09:37 落花人独立 阅读(2235) 评论(0) 推荐(0) 编辑

2007年5月31日

摘要: 在开发.NET应用程序的时候,会遇到DateTime时间的格式问题,我现在用的是英文版本的操作系统,所以在向Access中写入数据的时候,由于Access对时间日期数据类型的转换的原因,与中文的年月日的格式不相符,导致应用程序出错。所以才会用这个方面的知识,上网上找了找,有一篇文章 Coding Best Practices Using DateTime in the .NET Framework,在http://msdn2.microsoft.com/en-us/library/ms973825.aspx上。 阅读全文

posted @ 2007-05-31 14:29 落花人独立 阅读(6220) 评论(7) 推荐(0) 编辑

2007年5月30日

摘要: 前言 用传统的导出方法:只是将DataGrid信息用html输出,文件名后辍是.xls而已。 如果想将这个方法导入到Sql Server 中,会提示出错。因为它不是标准的Excel格式文件。 用本例中的导出方法:会输出标准的Excel格式文件,非常稳定,不会死锁Excel进程,支持中文文件名,支持表头导出, 支持大多数数据库导入。 实现算法: 利用Excel组件将DataGrid控件内容生成Excel临时文件,并存放在服务器上,然后用Response方法将生成的Excel文件下载到客户 端然后再将生成的临时文件删除。 具体步骤: 1.在项目中引用Excel组件 Interop.Excel.dll 文件版本1.3.0.0 2.项目中应有一个目录(本例中Template目录),以便存放Excel文件(名字自己定) 3.导入方法类 阅读全文

posted @ 2007-05-30 21:45 落花人独立 阅读(1163) 评论(1) 推荐(0) 编辑

2007年5月29日

摘要: vs 2003跨页多选的方法,一般的地方都有,但是又常用,所以做在这里,当笔记吧:) 阅读全文

posted @ 2007-05-29 21:32 落花人独立 阅读(512) 评论(0) 推荐(0) 编辑

摘要: 经常遇到这种问题,而且问题出现感觉是随机的,很多时候必须重启才有效,就算在web.config加了 也不行.今天终于找到解决方法,感觉怎么跟index server有关,原因还不明,有人知道具体原因不? 转载一下: 感谢乔本生涯 原地址在http://qiao198.cnblogs.com/archive/2005/08/11/212246.html “/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 访问被拒绝:“Iesi.Collections”。 源错误: 阅读全文

posted @ 2007-05-29 10:46 落花人独立 阅读(532) 评论(0) 推荐(0) 编辑

2007年5月28日

摘要: Baya Pavliashvili 07.31.2003 Rating: --- (out of 5) Reseeding identities in SQL Server IDENTITY columns are commonly used as primary keys for SQL Server tables. If you're not familiar with IDENTITY columns, they are automatically incremented columns with numeric data types, such as INT, BIGINT, FLOAT, etc. When you add an IDENTITY column to a table you must specify two values: SEED: the starting value for this column INCREMENT: how much to add to the current 阅读全文

posted @ 2007-05-28 21:25 落花人独立 阅读(519) 评论(0) 推荐(0) 编辑

2007年5月25日

摘要: 要使用ASP.NET中使用Microsoft的TreeView控件,必须由用户下载控件安装到本地才能使用.下载页面: 下载到本地后,执行安装程序会在c:\program files\创建目录IE Web Controls,点击开始-所有程序-.net 2003-.net 工具-Visual Studio .NET 2003 命令提示,执行C:\Program Files\IE Web Controls目录下的build.bat批处理文件(在批处理文件中,有可能存在csc的路径不全的问题,需要自己去找到csc的路径,然后进到C:\Program Files\IE Web Controls下,执行批处理文件中的内容就行了)自动会建立build目录,然后执行命令: xcopy /s /i C:\Program Files\IE Web Controls\build\Runtime c:\inetpub/wwwroot/webctrl_client\1_0 /y 请根据用户的安装路径修改源文件夹,但目标文件夹不能改动.请确认你的I 阅读全文

posted @ 2007-05-25 22:19 落花人独立 阅读(758) 评论(2) 推荐(0) 编辑

摘要: 由于文章的主体内容来自于飞鹰,只是我在Vs 2005下将其实现了。所以说转的吧,不过前面的是转的,后面的都是俺自己的体会了。 使用NHibernate开发主要有下面的四个步骤: ① 创建实体层的类(Cool Coder工具生成) /**//* 1,在这步就用CodeSmith来生成吧,觉得Cool Code生成的数据类型都是原来长度的一半,另外主要的原因是我用cool code生成的代码没有成功,当然大部分是我的原因。随着对其了解的深入,一些问题也得到了解决。但是,到了解决的时候我就用的是CodeSmith工具了。 *************************************************** 2,用这些自动代码生成工具的时候,生成的代码还是要手工去改的,不是生成了就完事大吉了。还是需要我们去了解NHibernate的映射原理,知道哪部分是做什么的,这样改的时候才能够得心应手。主要的参考文献就是NHibernate的帮助和NHibernate的官方网站。查文档 阅读全文

posted @ 2007-05-25 19:06 落花人独立 阅读(2123) 评论(10) 推荐(0) 编辑

2007年5月24日

摘要: 本文为一些泛型反射技巧的简单罗列,为日后的文章做准备。 1、如何获得一个封闭构造类型(closed constructed type)的Type对象? 假设有如下的类型: class TestType class TestType如果要获得封闭构造类型的Type对象,那么只需要用C#的typeof运算符,或者VB的GetType运算符作用于具体类型即可: //C# Type t1 = typeof(TestType);'VB Dim t2 As Type = GetType(TestType(Of String)) 2、如何获取一个泛型类型(generic type)的Type对象? 所谓泛型类型,就是有类型参数,但类型参数还未指定的原始定义。我们不能用TestType这样的语法,因为T在我们的上下文中不存在。这时,可以用空的尖括号(C#)或空的Of语句(VB)来获取。 Type t1 = typeof(TestType); Type t2 = typeof(T 阅读全文

posted @ 2007-05-24 15:16 落花人独立 阅读(695) 评论(0) 推荐(0) 编辑

2007年5月23日

摘要: 了解一个公司的及其相关业务是非常困难的。您需要了解公司的业务及其涉及的行为、存在哪些信息、有哪些顾客和合作者等。 您不仅要了解公司现在的业务,还要了解其发展方向及短期目标和远景目标。 需要获取的基本信息: 工作人员对业务的看法 他们觉得公司的哪些行为是成功的,哪些行为是错误的 每个人的工作方式 用例图描述业务。 活动图给出了业务的基本工作流程,了解人们的工作方式及隶属的系统和流程。 活动图适用于许多目的: 理解现存业务 识别出将要发生变化的业务领域 发现业务过程中的冗余 发现业务过程中的瓶颈 识别出可以更好地在内部完成或外部完成的行为 建立起特定的行为或业务用例的信息需求 建立活动图或其它类型的分析图时,要避免“分析瘫痪”。即花费大量时间来分析业务,从而导致开发开作停顿在分析阶段的不正常现象。 明白何时结束分析而开始系统设计是非常重要的。 用例:一个完全的行为流程,由业务参与者发起,被系统执行,服务于发 阅读全文

posted @ 2007-05-23 09:31 落花人独立 阅读(505) 评论(2) 推荐(0) 编辑

2007年5月17日

摘要: 假设:   如何知道哪些任务要回收呢?人工传递信息吗? 目标:   把组员不能完成的任务会受益后重新再分派,保证能顺利完成工作。 如何被启动:   通过选择需要回收的任务,执行回收任务的命令来启动。 角色和用例间的信息:   回收任务以后,相应的信息项在浏览列表要做上需重新分派的标记 回收的任务要及时进行重新分派 用例执行方案:   选择要回收的任务,可以批量选择。 执行回收任务命令, 在列表上做上标记 刷新信息列表 阅读全文

posted @ 2007-05-17 14:26 落花人独立 阅读(333) 评论(0) 推荐(0) 编辑

2007年5月15日

摘要: 索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。 在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分配和检索值的方法)。Program 类为存储字符串创建了此类的一个实例。 class SampleCollection { private T[] arr = new T[100]; public T this[int i] { get { return arr[i]; } set { arr[i] = value; } } } // This class shows how client code uses the indexer class Pr 阅读全文

posted @ 2007-05-15 09:45 落花人独立 阅读(1653) 评论(3) 推荐(0) 编辑

2007年5月14日

摘要: 绪论 特性(Attributes)是一种崭新的声明性信息。我们不仅可以通过特性来定义设计层面的信息(例如help file, URL for documentation)以及运行时(run-time)信息(例如使XML与class相联系),而且我们还可以利用特性建立自描述(self-describing)组件。在这篇教程中,我们将会看到如何建立和添加特性到各种程序实体以及如何在运行时环境中获取特性信息。 定义 正如MSDN中所描述的那样----- “特性是被指定给某一声明的一则附加的声明性信息。” 使用预定义(Pre-defined)特性 在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 using System; public class AnyClass { [Obsolete("Don't use Old m 阅读全文

posted @ 2007-05-14 21:05 落花人独立 阅读(6821) 评论(6) 推荐(1) 编辑

2007年5月10日

摘要: This messages may be accompanied by one of the following error messages: Unable to configure ODBC driver . The setup routines for the could not be loaded due to system error code 126. Driver could not be loaded due to system error code 1157. These message may include a driver name, such as "Microsoft Access Driver {*.mdb}" RESOLUTION WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may 阅读全文

posted @ 2007-05-10 21:36 落花人独立 阅读(928) 评论(0) 推荐(0) 编辑

2007年5月8日

摘要: 数据流:在功能组件之间数据流 独立的组件:组件之间的执行是并行的,偶尔会有通信 虚拟机:解释程序+专用语言编写的程序 储存库:主要围绕大型数据集合来构建 分层:子系统,每个子系统都单向依赖其他的子系统 阅读全文

posted @ 2007-05-08 16:30 落花人独立 阅读(415) 评论(0) 推荐(0) 编辑

2007年5月2日

摘要: With three services:Definition,Execution,Adminitration. One Engine:JBoss JBpm Engine BPM solutions typically include three components: an engine that executes process definitions,services that allow the engine to interact with the outside world, and tools that aid process development and monitoring. BPM (business process management) offers a programmatic structure for designing transactions and executing them using automated decisions, tasks and sequence flows. 阅读全文

posted @ 2007-05-02 13:03 落花人独立 阅读(416) 评论(0) 推荐(0) 编辑

2007年4月30日

摘要: Active Record(M) 是Rails采用的ORM层。它完全遵循标准的ORM模型:表映射到类,记录映射到对象,字段映射到对象属性。与其它的配置方式不同:它根据人们常用的命名惯例提供了很有意义的缺省配置,因此将需要开发者编写的配置量降到了最低。 Rails采用MVC框架,其结构是多加了一个路由。 Action Pack:The View and Controller 在MVC架构中,视图和控制器是密不可分的:控制器为视图收集数据,然后又接收来自页面的事件——这页面正是由视图生成的。在Rails中,视力和控制器的支持被绑定在同一个组件中,那就是Action Pack。 View Support 视图负责创建在浏览器中显示的页面,生成给用户看的响应内容。 动态内容的生成都是控制器中的Action方法制造的。动态内容由模板生成的。模板有两种形式:一是用ERb(Embedded Ruby)的工具,将Ruby代码片段嵌入到视图的HTML代码中。 Rails还支持Builder-style的视图。借助这种视 阅读全文

posted @ 2007-04-30 11:23 落花人独立 阅读(791) 评论(9) 推荐(0) 编辑

摘要: ORM库可以将数据库表映射到类、将记录映射到对象、将字段映射到对象的属性。类方法用于执行表级别的操作,实例方法用于执行针对单条记录的操作。 在一个典型的ORM库中,你可以提供配置数据来指定数据库端与应用程序羰之间的映射关系。使用这些ORM工具的程序员常会发现:他们不得不忙于创建和维护一大堆的XML配置文件。 一般的ORM包括以下四部分: 一个对持久类对象进行CRUD操作的API; 一个语言或API用来规定与类和类属性相关的查询; 一个规定mapping metadata的工具; 一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。 二、对象-关系映射模式 从《公共仓库元模型:开发指南》一书第8章CWM元仓库中摘录出来的内容,实现了公共仓库元模型(CWM)的UML图到Microsoft SQL Server数据库的映射,是一种 阅读全文

posted @ 2007-04-30 10:52 落花人独立 阅读(587) 评论(0) 推荐(0) 编辑

2007年4月28日

摘要: 在JBPM中动作(actions)就是一段程序逻辑,也就是工作流模型中的应用服务。 状态是JBPM的一个核心概念,也是业务流程的基本元素,状态代表了一种对外部参与者的依赖。定义状态时需要指定该状态的执行者,也就是该状态依赖的外部参与者。多个状态可能依赖同一个参与者,工作流管理系统根据这些信息构建该参与者的任务列表。当开始在JBPM中进行流程建模时,首先需要考虑业务流程的状态,状态将会成为你定义的流程的基本框架。 JBPM允许在数据库中多个同名的流程定义共存,流程实例以当时最新的版本来启动,并且在它的整个生命周期中将保持以相同的流程定义执行。 版本控制机制可归结为以下几条原则: a)当一个流程存档被部署时,将在JBPM数据库中创建一个新的流程定义。 b)当一个被命名的流程定义被部署,部署器将分配一个版本号。为了分配版本号,部署器将查询同名流程定义的最高版本号,并且在其上加1. c)当一个新的版本被部署,新的流程实例以新版本启动,而老的流程实例则以老的流程定义继续执行,直到它结束为止。 阅读全文

posted @ 2007-04-28 16:55 落花人独立 阅读(1554) 评论(0) 推荐(0) 编辑

摘要: 因为NetBpm是基于JBpm的,所以JBpm的原理也同样适用于NetBpm。因为JBpm涉及到了Petri网的知识,所以在这里查了网络的资料,记录在这里,以备查看: Petri网的规则是: Connection是有方向的 两个Place或Transition之间不允许有Connction Place可以拥有任意数量的Token Action 如果一个Transtion的每个Input Place都拥有Token,该Transition即为enable。一个Transition为enable时,Transtion将fire,input place的Token被消耗,同时为output place产生Token。 注意: Transition的发生是原子的; 有两个Transition都enable可能,但是一次只能发生一个Transition; 如果出现一个Transition,其Input Place的个数与Output Place的个 阅读全文

posted @ 2007-04-28 15:46 落花人独立 阅读(5113) 评论(2) 推荐(0) 编辑

2007年4月26日

摘要: 为什么需要一个过程 首先,我们希望改进自己的工作方法,那么我们就要知道我们是如何工作的,采集工作的数据。 其次,为了完成分配的任务,你需要一个工作计划。 最后,为了应对复杂的大项目中的工作也需要一个过程。 过程就是计划如何工作的定义。 什么是过程 过程是做一项工作的步骤序列。过程定义就是该过程的描述。 为了将一些方法、工具和人应用于软件任务中,软件过程建立了一个技术和管理框架。过程定义识别了角色、指定任务、建立试题以及主要步骤的入口和出口准则。 一个已定义的过程:标识了一项工作的主要步骤、度量、为项目管理提供了基础、为过程管理和改进提供了基础。 定义自己的过程 当定义自己的过程时,那些抽象的任务变成结构化的和分析的对象。然而只有把任务分解到足够细的情况下才能够对它进行改进。 基线过程(PSP0)的内容 主要目标是提供一个框架,这个框架帮助人们编写第一 阅读全文

posted @ 2007-04-26 19:45 落花人独立 阅读(702) 评论(5) 推荐(0) 编辑

2007年4月25日

摘要: 当在连需求也不知道的情况下,就会不知道如何去做计划。用下面的这句话来说服自己吧,“也许现在制定的计划很不准确,但是现在是你最需要一个你能控制的计划的时候。为此你必须有一个详尽的计划。” PSP的目的 帮助控制、管理和改进自己的工作方式。是一个结构化的框架,包括软件开发中使用的表格、准则和规程。如果使用得当,PSP将提供所需的数据来帮助软件工程师做出承诺并实现它,同时它可以让个人的工作变得更加有效和可预测。唯一目的帮助个人提高其软件工程水平。 PSP不是所有软件工程问题的万能答案,但是它能帮助识别哪些地方可以改进及如何改进。无论如何你都必须自我改进。 软件工程规范的逻辑 提高软件工程师的实践技能。一个有规范的软件工程组织都会有良好定义的实践。 使用规范的开发实践 我们需要符合我们项目的需要且容易使用的已定义和试题的过程的指南。 可操作的过程 要做什么和怎么样去做。学习如何定义并且遵循你选择的可操作的过程。 阅读全文

posted @ 2007-04-25 16:16 落花人独立 阅读(551) 评论(0) 推荐(0) 编辑

2007年4月24日

摘要: The Personal Software Process (PSP) shows engineers how to manage the quality of their projects make commitments they can meet improve estimating and planning reduce defects in their products Because personnel costs constitute 70 percent of the cost of software development, the skills and work habits of engineers largely determine the results of the software development process.The PSP can be used by engineers as a guide to a disciplined and structured approach 阅读全文

posted @ 2007-04-24 10:36 落花人独立 阅读(715) 评论(2) 推荐(0) 编辑

2007年4月23日

摘要: 用例模式 业务规则:大多数企业或组织的规则、规范、政策以及公司遵循的最佳经验。 模式 静态定义:业务规则在系统中硬编码。 动态修改:包含一个在系统升级和运行过程中改变规则的用例。 用例描述: 首先,不再在系统流程描述中描述各业务决策,而是在流程描述中引用业务规则集合来组成决策。 其次,业务规则描述与用例描述不出现在同一份文档中,而是用单独的文档或知识库来描述各个规则。 业务规则的实现:独立组件、知识库、已有的规则产品、数据库。 业务规则的分析模型: 具体各类意义参见fivestepsModel(在我的分析模型中)。 阅读全文

posted @ 2007-04-23 20:02 落花人独立 阅读(555) 评论(3) 推荐(0) 编辑

2007年4月20日

摘要: Use cases can capture the funtion requirements of your systems and definate the border of the system. One use case can simulate one of the using ways of your system,that is,the event that triggered by users from outer system what sequence actions will be adpted. 每个用例都是系统的一种完整的使用方法。包括由用户输入和系统对这些输入的响应所引起的内部事件的描述,还可以包括内部计算以及给用户的一些输出。用例实例即场景(scenario):用实际的值描述用例的一个执行路径。 每个用例都有一个目的,并且为涉众提供一个值。用例的名字是一个从系统观点以主动现在时态给定的动词短语,通常包括几个单词。 有些时候将用例根据其对系统的重要性分类 阅读全文

posted @ 2007-04-20 21:34 落花人独立 阅读(945) 评论(12) 推荐(0) 编辑

2007年4月19日

摘要: The Open-Closed Principle Calsses should be open for extension,but closed for modification. Our goal is to allow classes to be easily extended to incorperate new behavior without modifying exsiting code.Following the Open-Closed Principle usually introduces new levels of abstraction,which adds complexity to our code.You want to concentrate on those areas that are most likely to change in your designs and apply the principles there.Experience in designing OO systems and a matt 阅读全文

posted @ 2007-04-19 15:16 落花人独立 阅读(357) 评论(4) 推荐(0) 编辑

count hit
欢迎您到紫阁阳光坐客