Windows程序效率 (转)
Windows程序效率 (转)[@more@] windows是一个庞大的功能丰富的系统,并且为我们提供了强大的应用程序接口,使我们可以编写功能丰富的应用程序,但正因为Windows的复杂性和应用程序接口的强大,我们往往忽视了很多技术细节,使得写出来的程序效率较低,缺乏竞争力。以下是我总结的一些提高程序效率的规则,希望对提高程序质量有帮助。 减少程序在核心态和用户态之间的切换XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 我们知道Windows系统中的应用程序可以在两种状态下运行-用户
Javascript正则表达式测试网页 (转)
Javascript正则表达式测试网页 (转)[@more@]你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉? XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 你可以试一下我这个页面,虽然它很粗糙,但是测试正则表达式也足够了:)) 一、说明: 1. 我的本意为交流技术.本人水平很菜.因此所贴出的代码中,会有不足之处. 2. 代码可任意修改.如果你觉得你修改过的代码比我的好,可将它贴出,我非常
Oracle 10G First Release的新特性简介(下) (转)
Oracle 10G First Release的新特性简介(下) (转)[@more@]ORACLE 10g First Release的新特性简介(下)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> By Fenng 2003-07-10 注:近日Oracle已经正式宣布该版本的Oracle命名为10G,其中的G为Grid之意。特此更正。 高可用性的加强 1、缩短应用和数据库升级的宕机时间 通过使用standby数据库.允许在不同版本的standby和产品数据库间切换.现有的联机重定义功能能够支持一步克隆所有相关的数据库对象. 2、回闪(Flashback)任何错误 该版本的Oracle也扩展了F
使用VB.NET更改WINDOWS 2000的密码 (转)
使用VB.NET更改WINDOWS 2000的密码 (转)[@more@]首先需要添加对System.DirectoryServices名域空间的引用,定位到"项目->添加引用 ->.NET->System.DirectoryServices.dll",添加上即可.下面是代码部分: Dim MyString As String = "WinNT://" + System.Security.Principal.windowsidentity.GetCurrent().Name.Replace("", "/") 'System.Security.Principal.WindowsIdentity.GetCurrent().Name得到的是机器当前的用户名,比如:MyComputerNameAdministratorDim MyDirectoryEntry As New DirectoryEntry(MyString)MyDirector
Attribute在.NET编程中的应用(四) (转)
Attribute在.NET编程中的应用(四) (转)[@more@]Attribute在.NET编程中的应用(四) sqlCommandGenerator类的设计 SqlCommandGEnerator类的设计思路就是通过反射得到方法的参数,使用被SqlCommandParameterAttribute标记的参数来装配一个Command实例。 引用的命名空间: //SqlCommandGenerator.cs using System; using System.Reflection; using System.Data; using System.Data.SqlClient; using Debug = System.Diagnostics.Debug; using StackTrace = System.Diagnostics.StackTrace; 类代码: namespace DataAccess { public
ASP内置对象 (转)
ASP内置对象 (转)[@more@]我收集了一些关于ASP内置对象,现在整理如下: Application.Contents '大部分的应用程序变量存储在Contents集中 Application.Staticobjects '包含用<object>标签声明的应用程序对象 Application.Lock '防止其他用户访问应用程序变量 Application.Unlock '将用Lock锁住的应用程序变量解锁 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> ObjectContext.SetAbort '显式地退出一个事务 ObjectContext.SetComplete '忽略对SetAbort方法的调用 ObjectContext.On
Attribute在.NET编程中的应用(三) (转)
Attribute在.NET编程中的应用(三) (转)[@more@]Attribute在.NET编程中的应用(三)用于参数的Attribute 在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_sql代码,这些代码往往需要传递各种参数,有的参数个数比较多,一不小心还容易写错。有没有一种一劳永逸的方法?当然,你可以使用MS的Data Access Application Block,也可以使用自己编写的Block。这里向你提供一种另类方法,那就是使用Attribute。 下面的代码是一个调用AddCustomer存储过程的
J2me项目实例------网络通讯录(1) (转)
J2me项目实例------网络通讯录(1) (转)[@more@] j2me项目实例------网络通讯录(1)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 整体设计: 把图形界面和网路程序分为2部分设计,网路部分又分为客户端和服务器的.服务器用的是iis,程序用ASP编写.客户端的用一个Javabean封装方法.这样比较容易进行代码的重新利用. Uml图如下: 2003-7-102211190.png" o:title=""> 下面是图形界面的设计: 首先是midpapplicatiop主要是封装了2个方法供以后方便图形界面的
聪明的以色列人(下):LZ78 和 LZW (转)
聪明的以色列人(下):LZ78 和 LZW (转)[@more@]LZ78 的算法描述: for (;;) { current_match = 1; current_length = 0; memset(test_string, '', MAX_STRING); for (;;) { test_string[current_length ++] = getc(input); new_match = find_match(test_string); if (new_match) == -1) break; current_match = new_match; } output_code(current_match); output_char(test_string[current_letgth - 1]; add_string_to_dictionary(test_string); } LZ78 示例: 输入正文: "DAD DADA DADDY DADO..." 输出短语 输出字符 编码后的串 0 'D'
向极限挑战:算术编码 (转)
向极限挑战:算术编码 (转)[@more@]我们在上一章中已经明白,Huffman 编码使用整数个二进制位对符号进行编码,这种方法在许多情况下无法得到最优的压缩效果。假设某个字符的出现概率为 80%,该字符事实上只需要 -log2(0.8) = 0.322 位编码,但 Huffman 编码一定会为其分配一位 0 或一位 1 的编码。可以想象,整个信息的 80% 在压缩后都几乎相当于理想长度的 3 倍左右,压缩效果可想而知。 难道真的能只输出 0.322 个 0 或 0.322 个 1 吗?是用剪刀把计算机存储器中的二进制位剪开吗?计算机真有这样的特异功能吗?慢着慢着,我们不要被表
聪明的以色列人(上):LZ77 (转)
聪明的以色列人(上):LZ77 (转)[@more@]全新的思路 我们在第三和第四章中讨论的压缩模型都是基于对信息中单个字符出现频率的统计而设计的,直到 70 年代末期,这种思路在数据压缩领域一直占据着统治地位。在我们今天看来,这种情形在某种程度上显得有些可笑,但事情就是这样,一旦某项技术在某一领域形成了惯例,人们就很难创造出在思路上与其大相径庭的哪怕是更简单更实用的技术来。 我们敬佩那两个在数据压缩领域做出了杰出贡献的以色列人,因为正是他们打破了 Huffman 编码一统天下的格局,带给了我们既高效又简便的“字典模型”。至
技术准备:概率、模型和编码 (转)
技术准备:概率、模型和编码 (转)[@more@]什么是熵 数据压缩不仅起源于 40 年代由 Claude Shannon 首创的信息论,而且其基本原理即信息究竟能被压缩到多小,至今依然遵循信息论中的一条定理,这条定理借用了热力学中的名词“熵”( Entropy )来表示一条信息中真正需要编码的信息量: 考虑用 0 和 1 组成的二进制数码为含有 n 个符号的某条信息编码,假设符号 Fn 在整条信息中重复出现的概率为 Pn,则该符号的熵也即表示该符号所需的位数位为: En = - log2( Pn ) 整条信息的熵也即表示整条信息所需的位数为:E = ∑En 举个例子,对下面
GML、SVG、VML的比较 (转)
GML、SVG、VML的比较 (转)[@more@]GML、SVG、VML的比较GML、SVG和VML都是基于XML的可用来描述矢量图形的标记语言,都是XML词表,它们的语法并不难理解,但它们都有各自不同的用途和特点,下面简单介绍一下。 GML(Geography Markup Language)是基于XML的空间信息编码标准,由OpenGIS Consortium (OGC)提出,得到了许多公司的大力支持,如ORACLE、Galdos、Mapinfo、CubeWerx等。运用GML,封装的地理数据和图形解释是清楚分离的。 GML基于XML用文本表示地理信息由于GML可看成是XML的一个具体的词表,熟悉了XML就比较容易理解GML。而且随着X
【GNU/Linux实战手记之Emacs篇 上】 (转)
【GNU/Linux实战手记之Emacs篇 上】 (转)[@more@]【gnu/Linux实战手记之Emacs篇 上】作者:叶魏彬 Mailto:msn:fritz_yea@hotmail.com">MSN:fritz_yea@hotmail.comCopyright(C)Free Software Library,Org(http://yea.xiloo.com)本文依照GNU Free Document Lience发布,任何人都可以将本文原封不动的复制、转载,但请务必保留此声明。作者不对本文所导致的任何结果负责。 五、Linux下的常用软件--Emacs 有了上面的基础,你已经可以自由的使用Linux的控制台了。但是,光靠这些,你还不能编辑和修改文件,不能归档和压缩(解压缩)
使用智能优化器提高Oracle的性能极限 (转)
使用智能优化器提高Oracle的性能极限 (转)[@more@]XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 使用智能优化器提高ORACLE的性能极限 消耗在准备新的sql语句的时间是Oracle SQL语句执行时间的最重要的组成部分。但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写是否正确和词序
深入DCOM之DCOM的发展史 (转)
深入DCOM之DCOM的发展史 (转)[@more@] 经过10多年的发展,windows已经成为包含许多子系统的系统,为了使Windows得到更广泛的接受,microsoft需要一个计划,使得添加新的子系统不会增加开发人员的学习难度,解决这个问题的一个主要技术就是分布式对象模型(DCOM)。DCOM不是在一夜之间发展起来的,实际上它是两条技术发展线结合的成果。 从OLE到DCOMXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 从多任务的视窗操作系统发布开始,Microsoft就认识到用户可能想在不同的应用程序之间交换数据
控制台程序的事件處理 (转)
控制台程序的事件處理 (转)[@more@]控制台程序的事件處理XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 作者:彭伟(西方不敢很帅) EMail:pwei@grASP.com.cn 转载请征得作者同意 2003-7-10 控制台程序在windows程序的角色中是非常強大且方便的,像VC,C#,Delphi等等,好多功能強大的語言都支持控制台程序。她沒有複雜的GUI,完全是32位的程序,能夠調用除GDI 函數之外的api,支持多線程,支持MFC等等。用她來調試程序、學習程序設計、做實驗等是再合適不過的了。我經常把我試驗性的程
ASP实现语音分时问候 (转)
ASP实现语音分时问候 (转)[@more@]<bgsound src="wen.mid" loop="0"><% dim wehIf Time >=#1:00:00 AM# And Time < #6:00:00 PM# Then weh = "<bgsound src="1.mid" loop="0">" Else If Time >#6:00:00 AM# And Time < #9:00:00 PM# weh = "<bgsound src="2.mid" loop="0">" Else If Time >#9:00:00 AM# And Time < #12:00:00 PM# weh = "<bgsound src="3.mid" loop="0">" Else If Time >#12:00:00 AM# And Time < #14:00:00 PM#&nb
BCB高手进阶 (十)用Sender参数实现代码重用 (转)
BCB高手进阶 (十)用Sender参数实现代码重用 (转)[@more@]BCB高手进阶 (十)用Sender参数实现代码重用 Mailto:nxyc_twz@163.com">nxyc_twz@163.com 面向对象的编程工具的特点之一就是要提高代码重用性(Reuse),BCB当然可以实现这一功能。我们都知道,在BCB中,大部分程序代码都直接或间接的对应着一个事件,此程序称为事件处理句柄,它实际上就是一个过程。从应用程序的工程到窗口、组件和程序,BCB强调的是其开发过程中每一层次的重用性,可以充分利用已编写过的代码来减少工作量,更会使你的程序变得优美。代码段间
dotnet学习笔记一 - 装箱拆箱 (转)
dotnet学习笔记一 - 装箱拆箱 (转)[@more@]转眼作程序员已经四年了,自己也算是这一行的老人了。回头看看,自己做过的东西不算少,从应用程序到内核驱动,从普通程序到web应用,从windows到Linux。市面上流行的开发工具语言也都用过,VC,VB,Delphi,BCB,JBUILDER,ASP,JSP。不过扪心自问,那些是自己专长的呢?好像没有,找工作的时候也是项目作了不少,算得上精通的,好像没有。.NET以前也接触过,但是没有深入,前一段时间由于一段机缘,对.NET产生了喜欢之情,好强大,C#也是很规整的OO语言。再加上自己对WIN平台的多年的感情,决定