架构深渊

慢慢走进程序的深渊……关注领域驱动设计、测试驱动开发、设计模式、企业应用架构模式……积累技术细节,以设计架构为宗。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

09 2008 档案

摘要:2008-06-13 12:21 作者: cnqing 软件说明: 可突破任意ARP防火墙,以限制流量为目标的简单网络管理软件。 使用方法: 1.在参数设置中选择... 阅读全文

posted @ 2008-09-30 23:15 chen eric 阅读(2042) 评论(6) 推荐(0)

摘要:[它山之石]看看C#中用lock关键实现同步的原理 我们知道C#的关键字都对应着.net Framework的类型,对象,比如string 对应String。那么“Lock”是如何对应的呢,似乎不能像string一样那么明显地找一个对应的东西。但是通过使用“ildasm”工具,察看.net生成的中间代码,很容易能发现lock的工作机制:调用了System.Threading.Monitor.E... 阅读全文

posted @ 2008-09-27 23:05 chen eric 阅读(1952) 评论(3) 推荐(0)

摘要:由于模版页比较长,这里只登出AJAX代码部分,即标签前面的部分 $Chapter$-->>$Order$-->>$Title$ 阅读全文

posted @ 2008-09-17 22:44 chen eric 阅读(184) 评论(0) 推荐(0)

摘要:网页中用TextBox让用户输入文本,然后存入数据库,再从数据库中读出显示在页面上。常常这样做会遇到不少问题,因为TextBox实际上是一个Windows组件,和网页显示标记如:,,等,对字符的解析方法是不同的。比如前者的换行标记为“"r"n”,而后者为“”。这就带来一个转换的问题。 在做转换之前,先来考虑几个问题: 1、 TextBox用“"r"n”来标记换行而网页中以“”标记 2、 网... 阅读全文

posted @ 2008-09-17 22:36 chen eric 阅读(332) 评论(0) 推荐(0)

摘要:HttpHandler实现了类似于ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response)。HttpHandler功能的实现通过实现IHttpHandler接口来达到。而HttpModule实现了类似于ISAPI Filter的功能。 HttpModule的实现 HttpModules实现了类似于ISAPI Filter的功能,在开发上,通... 阅读全文

posted @ 2008-09-17 22:14 chen eric 阅读(162) 评论(0) 推荐(0)

摘要:Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->话说List,Dictionary初始化大小 一、List List也就是泛型集合。看它的大小分配方式,要看两段代码 1 private void EnsureCapa... 阅读全文

posted @ 2008-09-15 20:38 chen eric 阅读(1454) 评论(0) 推荐(0)

摘要:用decorate模式画一张画 我对decorate模式的理解: 1-首先要有一个Interface,提供一个通用的方法; 2-其次有n多个class来实现这个接口中的方法,这些实现方法在功能上应该是并列的,但不是必须的,从而可以根据需要decorate那个需要被修饰的初始对象。 3-最后这些class都有一个带有Interface作为参数的构造方法和一个Interface的属性,这样在构造... 阅读全文

posted @ 2008-09-15 16:05 chen eric 阅读(466) 评论(1) 推荐(0)

摘要:Analysis Analysis模块主要提供了文本解析的功能,输入为TextReader的字符流,最终解析成TokenStream形式的结果返回给调用端。由前文的NLucene架构图可以看出,Analysis主要为Index和QueryParser模块提供解析服务,分别是在Indexing原始文件和解析搜索语句中的Term的过程中。 要了解这个包,首先需要明确几个概念: Ø ... 阅读全文

posted @ 2008-09-15 15:34 chen eric 阅读(248) 评论(0) 推荐(0)

摘要:Microsoft Windows 2003集群攻略(下) 设置群集用户帐户 群集服务需要一个属于可运行群集服务的每个节点上的本地管理员(Local Administrators)组成员的域用户帐户。因为安装需要用户名和密码,所以该用户帐户必须在配置群集服务前予以创建。该用户帐户只能专门用于运行群集服务,而不能属于个人。 注意:群集服务帐户不需要一定是域管理员(Domain... 阅读全文

posted @ 2008-09-15 13:29 chen eric 阅读(410) 评论(0) 推荐(0)

摘要:Microsoft Windows 2003集群攻略(上)1、Microsoft Windows 2003集群介绍 服务器群集是一组协同工作并运行Microsoft群集服务(Microsoft Cluster Service,MSCS)的独立服务器。服务器群集为资源和应用程序提供高可用性、故障恢复、可伸缩性和可管理性。 服务器群集允许客户端在出现故障和计划中的暂停时,依然能够访... 阅读全文

posted @ 2008-09-15 13:28 chen eric 阅读(333) 评论(0) 推荐(0)

摘要:服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行 一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。下述各节简要介绍了群集创建和群集操作中的节点行为... 阅读全文

posted @ 2008-09-15 13:17 chen eric 阅读(353) 评论(0) 推荐(0)

摘要:MSMQ是Windows自带的标准组件,可以通过控制面板来安装: 添加/删除程序 -> 添加/删除Windows组件,选择MSMQ 利用 MSMQ(Microsoft Message Queue),应用程序开发人员可以通过发送和接收消息方便地与应用程序进行快速可靠的通信。消息处理为您提供了有保障的消息传递和执行许多业务处理的可靠的防故障方法。 MSMQ与XML Web Service... 阅读全文

posted @ 2008-09-15 13:09 chen eric 阅读(837) 评论(0) 推荐(0)

摘要:什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft? .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独... 阅读全文

posted @ 2008-09-15 12:56 chen eric 阅读(230) 评论(0) 推荐(0)

摘要:1:创建类库: using System; namespace RemoteHello { /// /// Hello 的摘要说明。 /// public class Hello : System.MarshalByRefObject { public Hello() { // // TODO: 在此处添加构造函数逻辑 // Console.Write... 阅读全文

posted @ 2008-09-15 12:49 chen eric 阅读(168) 评论(0) 推荐(0)

摘要:(1)手工测试(显示在一个测试界面上----MUnit不推荐) using System; using MbUnit.Core.Framework; using MbUnit.Framework; [TestFixture] public class ManualFixture { [Test] public void DoSomething() { ... 阅读全文

posted @ 2008-09-15 12:48 chen eric 阅读(436) 评论(0) 推荐(0)

摘要:NCover, MbUnit, CCNet NCover and MbUnit play very nice togther, either from the command line, TD.net or ccnet. From the command line its ncover.console mbunit.cons.exe myassembly.dll Don't forget th... 阅读全文

posted @ 2008-09-15 10:59 chen eric 阅读(434) 评论(0) 推荐(0)

摘要:每个.NET 开发人员应该下载的十个必备工具 原著:James Avery 原文出处:.NET Tools:Ten Must-Have Tools Every Developer Should Download Now 本文自发布以来已经增加了新的... 阅读全文

posted @ 2008-09-14 19:20 chen eric 阅读(239) 评论(0) 推荐(0)

摘要:看法: 1. NUint确实是一个简单但实用的东西,整个功能都很好的体现了自动化测试的思想,而没有什么花里胡哨的功能和界面,(嗯,有内涵),就是所谓经典了,值得大家学习。 2. 工具归工具,如何写出一个好的testcase,关键还是看“人”的。 测试程序中使用的attribute [TestFixture]:Test class's attribute. NUint根据这个attribu... 阅读全文

posted @ 2008-09-14 19:18 chen eric 阅读(450) 评论(0) 推荐(0)

摘要:lucene.net 2.0 中文分词后语法高亮问题 lucene.net 2.0 src包里自带了Highlighter.Net-2.0.0,可以用来实现语法高亮。 //定义多条件搜索分析器 BooleanQuery bquery = new BooleanQuery(); //定义分词器 Analyzer analyzer = new Standar... 阅读全文

posted @ 2008-09-14 16:58 chen eric 阅读(387) 评论(0) 推荐(0)

摘要:create table r_test ( a int, b varchar(255) ) insert r_test values(0, null) insert r_test values(1, 'abcd') select a, CASE WHEN b is null THEN '' ELSE b END as b from r_test 查询结果 0 '' 1 '... 阅读全文

posted @ 2008-09-14 14:52 chen eric 阅读(256) 评论(0) 推荐(0)

摘要:Lucene Hack之通过缩小搜索结果集来提升性能(2) [收藏此页] [打印] 作者:佚名 2007-06-04 内容导航: 第1页 第1页: 第1页 【IT168 技术文档】 五、原则 1、不改动lucene-core的代码 肆意改动lucene-core的代码实在是很不道德的事情,而且会导致后期维护升级的大量问题。如果真的有这等迫切需求,还不... 阅读全文

posted @ 2008-09-14 02:55 chen eric 阅读(337) 评论(0) 推荐(0)

摘要:Lucene Hack之通过缩小搜索结果集来提升性能(1) [收藏此页] [打印] 作者:佚名 2007-06-04 内容导航: 第1页 第1页: 第1页 【IT168 技术文档】 一、缘起 Lucene在索引文件上G之后的搜索性能下降很严重,随便跑个搜索就要上0.x秒。如果是单线程搜索那么性能尚可,总可以在0.x秒返回结果,如果是Web式的多... 阅读全文

posted @ 2008-09-14 02:54 chen eric 阅读(262) 评论(0) 推荐(0)

摘要:Lucene搜索的api的类主要有4个 IndexSearcher ,Query(包括子类),QueryParser,Hits IndexSearcher是搜索的入口,他的search方法提供了搜索功能 Query有很多子类, 各种不同的子类代表了不同的查询条件,下文详述 QueryParser是一个非常通用的帮助类,他的作用是把用户输入的文本转换为内置的Query对象(大多数web搜索引... 阅读全文

posted @ 2008-09-14 02:18 chen eric 阅读(864) 评论(0) 推荐(0)

摘要:(2007-5-22更新)Lucene(Nutch)距离商业文本搜索引擎还有多远? 作者:冲出宇宙 http://lotusroots.bokee.com 时间:2007.2.13 更新:2007.5.9 更新:2007.5.22 注:转载请注明作者。 注(2007-5-22): 最新一次更新的时候,我再次研究了一下Lucene,读完了Lucene In Action,并且实际的使用Luce... 阅读全文

posted @ 2008-09-13 19:38 chen eric 阅读(442) 评论(0) 推荐(0)

摘要:lucene.net 2.0 中文分词后语法高亮问题 文/birdshover 出处/博客园 lucene.net 2.0 src包里自带了Highlighter.Net-2.0.0,可以用来实现语法高亮。 //定义多条件搜索分析器 BooleanQuery bquery = new BooleanQuery(); //定义分词器 Analyzer analyz... 阅读全文

posted @ 2008-09-13 19:07 chen eric 阅读(457) 评论(0) 推荐(0)

摘要:在家无聊。便研究一下 Lucene.net。 Lucene.net 是 lucene在java下移植到.net上来的。 于是 我打算做一个实验看看效果如何 以下是简单代码 1:建立索引 Lucene.Net.Analysis.Standard.StandardAnalyzer a=new Lucene.Net.Analysis.Standard.S... 阅读全文

posted @ 2008-09-13 17:37 chen eric 阅读(726) 评论(0) 推荐(0)

摘要:lucene.net开发教程与总结(一) Lucene是有名的开源搜索框架,具体细节自己查。对于英文来说,其对分词的处理已经比较不错,但是对于日文,中文等的处理太差,所以对我们中文来说,分词是瓶颈。因为不是按照间隔区分“词汇”的,我才接触,到项目中,使用,已经是快一年了,因为自己很喜欢c#,所以,一直就关注的是LUCENE.NET,没有时间看lucene(java)版本的。当然,我的java... 阅读全文

posted @ 2008-09-13 17:36 chen eric 阅读(1602) 评论(0) 推荐(1)

摘要:关于C#在lucene.net下的中文切词 2007-09-27 10:50 作者: 佚名 出处: 论坛整理 责任编辑:>幽灵 以下是引用片段: using System; using System.Collections.Generic; using System.Text; ... 阅读全文

posted @ 2008-09-13 17:16 chen eric 阅读(744) 评论(0) 推荐(0)

摘要:Lucene Lucene.Net 系列一本文介绍了什么是Lucene,Lucene能做什么. 如何从一个文件夹下的所有txt文件中查找特定的词? 本文将围绕该个实例介绍了lucene.net的索引的建立以及如何针对索引进行搜索.最后还将给出源代码供大家学习. 源代码下载 What’s Lucene Lucene是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的... 阅读全文

posted @ 2008-09-13 15:11 chen eric 阅读(4504) 评论(0) 推荐(1)

摘要:Code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->本文仅记录一些简单的使用方法,供初学者参考。 以下例子采用 Lucene.NET 1.9 版本,可取去 Lucene.Net 下载。 1. 基本应用 using System; u... 阅读全文

posted @ 2008-09-13 14:21 chen eric 阅读(585) 评论(0) 推荐(0)

摘要:using System; using System.Data; using System.IO; using System.Text.Reg... 阅读全文

posted @ 2008-09-13 14:19 chen eric 阅读(901) 评论(0) 推荐(0)

摘要:lucene使用与优化 1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 1.2 lucene能做什么 要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后... 阅读全文

posted @ 2008-09-13 14:17 chen eric 阅读(264) 评论(0) 推荐(1)

摘要:内存映射文件是32位windows程序中多进程同时共享一个数据块的唯一方法,CreateFileMapping 可以让程序对待一个文件一样对待一块内存区域,以后就可以把该内存看作用malloc得到的指针 来用。下面是一个例子,其中一个程序负责向共享文件写数据,另一个程序则创建一个线程,监视该内存文件的内容是否发生改变。若改变则通知程序显示: 1.写数据的程序 ... 阅读全文

posted @ 2008-09-12 16:57 chen eric 阅读(492) 评论(0) 推荐(0)

摘要:http://topic.csdn.net/u/20080624/12/78e85273-149e-4b43-80cf-6dad3cdec54b.html 在Forums中,有些内容是不固定的,例如用户资料,除了一些基本资料,可能还要有一些其他资料信息,例如MSN、个人主页、签名档等,一般对于这样的都是每一个属性对应于数据库中的一个字段。但是如果以后我们因为需要增加一些属性,例如QQ号、Blog... 阅读全文

posted @ 2008-09-12 15:50 chen eric 阅读(238) 评论(0) 推荐(0)

摘要:使用微软消息队列实现C#进程间通信 开发者在线 Builder.com.cn 更新时间:2007-04-05作者:builder.com.cn 来源: 本文关键词: Zach Smith 消息队列 CSHARP csharp C# c# C# 顾名思义,微软消息队列(MSMQ)是一种给队列发送消息以便稍后进行处理的方法。消息由一个“Producer”(生产者)应用程序发送出去,再由一个“Cons... 阅读全文

posted @ 2008-09-12 15:39 chen eric 阅读(1513) 评论(0) 推荐(0)

摘要:Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->使用微软消息队列实现C#进程间通信 开发者在线 Builder.com.cn 更新时间:2007-04-05作者:builder.com.cn 来源: 本文关键词: Zach Smith 消... 阅读全文

posted @ 2008-09-12 15:29 chen eric 阅读(575) 评论(0) 推荐(0)

摘要:开发者经常遇到需要异步执行操作的情况(即过程不等到操作完成就开始)。消息队列提供一个中心位置或池,您可以在其中放置或从中提取数据,从而满足了这一要求。一个应用程序能够把消息存放在队列中,然后继续自己的业务,另一个应用程序在运行时再提取这些数据。 队列名称的消息组件常常令开发者感到迷惑,因为他们习惯于处理邮件消息,但消息队列的消息部分却由数据组成。它为应用程序提供有保证的消息传输。 本文将说明如何利... 阅读全文

posted @ 2008-09-12 15:26 chen eric 阅读(528) 评论(0) 推荐(0)

摘要:第七节、覆盖虚接口 有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。C#作为一个面向对象的语言,必然也会引入抽象类这一概念。接口和抽象类使您可以创建组件交互的定义。通过接口,可以指定组件必须实现的方法,但不实际指定如何实现方法。抽象类使您可以创建行为的定义,同时提供用于继承类的一些公共实现。对于... 阅读全文

posted @ 2008-09-12 14:12 chen eric 阅读(182) 评论(0) 推荐(0)

摘要:第六节、接口转换 C#中不仅支持.Net 平台,而且支持COM平台。为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性。一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息。属性使 C# 能够支持特定的技术,如 COM 和 .Net,而不会干扰语言规范本身。C# 提供将COM接口转换为 C#接口的属性类。另一些属性类将 COM类转换为C# 类。执行这些转换不需要任何 I... 阅读全文

posted @ 2008-09-12 14:12 chen eric 阅读(188) 评论(0) 推荐(0)

摘要:第五节、实现接口 1、显式实现接口成员 为了实现接口,类可以定义显式接口成员执行体(Explicit interface member implementations)。显式接口成员执行体可以是一个方法、一个属性、一个事件或者是一个索引指示器的定义,定义与该成员对应的全权名应保持一致。 using System ; interface ICloneable { object Clone(... 阅读全文

posted @ 2008-09-12 14:11 chen eric 阅读(206) 评论(0) 推荐(0)

摘要:第四节、访问接口 对接口成员的访问 对接口方法的调用和采用索引指示器访问的规则与类中的情况也是相同的。如果底层成员的命名与继承而来的高层成员一致,那么底层成员将覆盖同名的高层成员。但由于接口支持多继承,在多继承中,如果两个父接口含有同名的成员,这就产生了二义性(这也正是C#中取消了类的多继承机制的原因之一),这时需要进行显式的定义: using System ; interface I... 阅读全文

posted @ 2008-09-12 14:10 chen eric 阅读(195) 评论(1) 推荐(0)

摘要:第三节 定义接口成员 接口可以包含一个和多个成员,这些成员可以是方法、属性、索引指示器和事件,但不能是常量、域、操作符、构造函数或析构函数,而且不能包含任何静态成员。接口定义创建新的定义空间,并且接口定义直 接包含的接口成员定义将新成员引入该定义空间。 说明: 1、接口的成员是从基接口继承的成员和由接口本身定义的成员。 2、接口定义可以定义零个或多个成员。接口的成员必须是方法、属性... 阅读全文

posted @ 2008-09-12 14:10 chen eric 阅读(245) 评论(0) 推荐(0)

摘要:第二节 定义接口 从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。 定义接口的一般形式为: [attributes] [modifiers] interface identifier [:base-list] {interface-body}[;] 说明: 1、attributes(可选):附加的定义性信息。 2、modi... 阅读全文

posted @ 2008-09-12 14:09 chen eric 阅读(229) 评论(0) 推荐(0)

摘要:接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。 接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以... 阅读全文

posted @ 2008-09-12 14:08 chen eric 阅读(312) 评论(0) 推荐(0)