AsmL: 可执行的软件规格 (转)
AsmL: 可执行的软件规格 (转)[@more@]AsmL是一种以抽象状态机(Abstract State Machines, ASM)为基础的软件规格语言。它由微软研究院的软件工程基础小组开发并维护,目前的版本是AsmL2(AsmL for microsoft.NET),此版本能够嵌入Microsoft word 和Microsoft Visual Studio.NET中,并可在.NET环境下编译执行。你可以在以下地址找到它:http://research.microsoft.com/foundations/asml/XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> AsmL通过规模最小的但是完整的方法创建一个系统操作的人类可读(
构建安全的企业内部WEB程序 (转)
构建安全的企业内部WEB程序 (转)[@more@]构建安全的企业内部web程序XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 为了保护企业内部的敏感信息、方便用户管理、确保用户只访问他们应该访问的地方。我一直在寻找最便捷的方法…… 查询了一些资料,下述是我个人的一些理解。我们集合IIS和ASP.NET,通过验证(authentication)和授权(authorization)来实现企业WEB程序的安全。客户端对page.aspx的请求是这样发出的: 这里涉及到两个重要的概念,它们定义如下: 验证(Authentication):标
偶破解了Jive.Forums.Enterprise.v3.0.9 (转)
偶破解了Jive.Forums.Enterprise.v3.0.9 (转)[@more@]这个老外的好东东,真是一个不错的BBS,偶在0DAY中找到了3。08版的CCF破解,但是大家看看3。09改的问题吧: Fixed OutOfMemoryError when viewing a watch summary page with forum watches. This problem only affected 3.0.8. Fixed incorrect URLs on watch icons. Fixed "null" display of the parent message body on the post foRM page (replies only). This problem only affected 3.0.8. Added a section about the optional custom-actions.XML file in the developer docs
用程序设置COM+应用程序的属性。 (转)
用程序设置COM+应用程序的属性。 (转)[@more@] 用程序设置COM+应用程序的属性。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 今天从别人机器上导出了个代理程序,注册在自己的机器上,在组件服务里查看COM+应用程序的属性,发现代理程序有一个属性是可以修改的,就是远程服务器名称,在更改了此名称后,程序中不需要用CreateRemote函数,也可以申请到远程接口指针。可是我们应该给用户一个友好的界面,不能总让用户打开组件服务吧,来,我们写个程序吧。 这次我们只用Delphi控件好啦(唉,懒
huffman编码&解码器 (转)
huffman编码&解码器 (转)[@more@]/*huffman coder & decoder*/ include<stdio.h> #ifndef N #define N 27 #endif #define M (2*N-1) #define Max (100*N) #define Min 5 /*define each node's imformation*/ typedef struct nodetype { int weight ; int lch; int rch; int parent; char data; }node; /*structure code*/ typedef struct codetype { int bits[N];/*0,1*/ int start;/*1..n*/ }code; /*assistant variable*/ typedef struct sign { int wt; int num; }tag; /*typedef node huftree; typedef code huf
JDO能给我们带来什么 (转)
JDO能给我们带来什么 (转)[@more@]JDO能给我们带来什么 - 成本,管理,快速开发,随需应变…… (本文的版权属作者本人,欢迎转载,但必须注明出处和原作者)JDO规范的出台,给了传统的数据库应用,尤其是web方式的数据库应用一个新的机会,就是采用透明的中间件存储技术,减少传统开发的繁琐工作,提高开发和维护的效率,使我们能够应对新的互联网时代的日益迅速的需求变化。从开发的角度来看,我们进行J2EE标准的Web应用开发时,如果涉及到数据库,一般具有一定经验的开发团队都不会采用JSP+JdbC的方式直接进行数据库操作,那样做一方
微软在使用Linux? (转)
微软在使用Linux? (转)[@more@]张贴于Slashdot的一篇文章(http://slashdot.org/article.pl?sid=03/04/29/2310238)发现了一件有趣的事:“我的一位朋友正好买了台微软路由器(http://www.microsoft.com/hardware/broadban.NETworking/wiredbasestation.ASPx),然后要我帮他检测一下这玩意的安全性。ping denial攻击并未奏效,而一次端口扫描却让我发现了非常有趣的东东,TCP/IP栈指纹里包含了这么一条字符串:‘i586-pc-Linux-gnu’。是否这意味着微软必须提供Linux源代码给该产品的购买者?(译注:因为Linux是遵循GPL发布的,所以基于
使用多线程使软件界面具有较好的响应性 (转)
使用多线程使软件界面具有较好的响应性 (转)[@more@] 软件界面的响应特性是判断一款软件的非常重要的方面。一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题。 要提高界面的响应特性,最好的办法莫过于使用多线程,并把呈现界面的线程独立出来。以前只有使用C++才能实现的多线程功能,现在在.NET框架下,所有的语言(包括VB)都可以使用了。不过,使用多线程比使用单一线程要麻烦得多,比如线程之间的同步问题,做得不好很容易出错,而有的时候这
Struts 学习笔记1 -Struts Framework 概览 (转)
Struts 学习笔记1 -Struts Framework 概览 (转)[@more@]作者: Mailto:jrbruce@vip.sina.com">bruce -- Javaresearch.org/">Java研究组织Tuesday, January 21 2003 11:06 AM struts开始于2000年3月,1.0在2001年7月发布。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。MVC设计模式把一个系统分成3个相互协调的部分: .NET.com.cn/ads/image/advert_mu_stat.gif" width=336> Model(模型)模型用于封装系统的状态View(视图)是模型的表示,提供用户交互界面。当模型状态发
在应用程序中监视剪贴板的变化和内容 (转)
在应用程序中监视剪贴板的变化和内容 (转)[@more@]在应用程序中监视剪贴板的变化和内容XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> Mailto:stove@vip.sina.com">stove@vip.sina.com 剪贴板是windows中系统级的堆空间,系统中任何一个应用程序对剪贴板都有访问权,可以通过剪贴板消息和使用剪贴板api来读写剪贴板内容。因此使用剪贴板不仅可以在同一个应用程序内交互数据,也可以在不通应用程序之间交互数据。尤其是在不通应用程序之间交互时,应用程序往往需要对剪贴板内容的变化做到实
跟踪标记全攻略 (转)
跟踪标记全攻略 (转)[@more@]跟踪标记 一 概述跟踪标记用于临时设置服务器的特定特征或关闭特定行为 二 分类 1. BOL记载的跟踪标记 描述 260 打印有关扩展存储过程动态链接库 (DLL) 的版本信息。 有关 __GetXpVersion() 的更多信息,请参见创建扩展存储过程。 1204 返回参与死锁的锁的类型以及当前受影响的命令。 补充 此参数将把死锁产生的相关信息(锁类型,sql查询等)写入Error Log 2528 通过 dbCC CHECKDB、DBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 禁用对象的并行检查。 默
编程修养(七) (转)
编程修养(七) (转)[@more@]28、||和&&的语句执行顺序————————————条件语句中的这两个“与”和“或”操作符一定要小心,它们的表现可能和你想像的不一样,这里条件语句中的有些行为需要和说一下: express1 || express2 先执行表达式express1如果为“真”,express2将不被执行,express2仅在express1为“假”时才被执行。因为第一个表达式为真了,整个表达式都为真,所以没有必要再去执行第二个表达式了。 express1 && express2 先执行表达式express1如果为“假”,ex
编程修养(四) (转)
编程修养(四) (转)[@more@]11、出错信息的处理—————————你会处理出错信息吗?哦,它并不是简单的输出。看下面的示例: if ( p == NULL ){ printf ( "ERR: The pointer is NULL " ); } 告别学生时代的编程吧。这种编程很不利于维护和管理,出错信息或是提示信息,应该统一处理,而不是像上面这样,写成一个“硬编码”。第10条对这方面的处理做了一部分说明。如果要管理错误信息,那就要有以下的处理: /* 声明出错代码 */ #define ERR_NO_ERROR 0 /* No error
编程修养(六) (转)
编程修养(六) (转)[@more@]23、static的使用————————static关键字,表示了“静态”,一般来说,他会被经常用于变量和函数。一个static的变量,其实就是全局变量,只不过他是有作用域的全局变量。比如一个函数中的static变量: char*getConsumerName(){ static int cnt = 0; .... cnt++; ....} cnt变量的值会跟随着函数的调用次而递增,函数退出后,cnt的值还存在,只是cnt只能在函数中才能被访问。而cnt的内存也只会在函数第一次被调用时才会被分配和初始化,以后每次进入函数,都不为static分
编程修养(五) (转)
编程修养(五) (转)[@more@]16、把相同或近乎相同的代码形成函数和宏————————————————————— 有人说,最好的程序员,就是最喜欢“偷懒”的程序,其中不无道理。 如果你有一些程序的代码片段很相似,或直接就是一样的,请把他们放在一个函数中。而如果这段代码不多,而且会被经常使用,你还想避免函数调用的开销,那么就把他写成宏吧。 千万不要让同一份代码或是功能相似的代码在多个地方存在,不然如果功能一变,你就要修改好几处地方,这种会给维护带来巨大的麻烦,所以,做到“一改百改”,还是要形成函数或是宏
编程修养(三) (转)
编程修养(三) (转)[@more@]6、if 语句对出错的处理———————————我看见你说了,这有什么好说的。还是先看一段程序代码吧。 if ( ch >= '0' && ch <= '9' ){ /* 正常处理代码 */ }else{ /* 输出错误信息 */ printf("error ...... "); return ( FALSE ); } 这种结构很不好,特别是如果“正常处理代码”很长时,对于这种情况,最好不要用else。先判断错误,如: if ( ch < '0' || ch > '9' ){ /* 输出错误信息 */ printf("error ...... ")
微软二十五年(比尔·盖茨) --- 前 言 (转)
微软二十五年(比尔·盖茨) --- 前 言 (转)[@more@]微软二十五年 比尔·盖茨 前 言 我总是惊异于我们竟然能够走这么远。2003-5-51728481.jpg" align=right> 微软的故事开始于1975年。当时我的朋友保罗•艾伦和我在《大众电子》(Popular Electronics)上看到了一篇描写MITS Altair 8800的“个人计算机”的文章。Altair与我们那时使用的大型机很不同。这是一种为电脑爱好者准备的自己动手组装的东西 - 它在邮寄来的时候并未完全组装好,只是一些散件和一张复印的说明。经过几天(或几个星期)的焊接、组装才能最终完成这个大小
编程修养(一) (转)
编程修养(一) (转)[@more@]编程修养———— 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。 5、写出的代码质量高。包括:代码的稳定、易读、规范、易维
编程修养(二) (转)
编程修养(二) (转)[@more@]1、版权和版本———————好的程序员会给自己的每个函数,每个文件,都注上版权和版本。 对于C/C++的文件,文件头应该有类似这样的注释:/************************************************************************** 文件名.NETwork.c** 文件描述:网络通讯函数集** 创建人: Hao Chen, 2003年2月3日** 版本号:1.0** 修改记录:*************************************************************************/ 而对于函数来说,应该也有类似于这样的注释: /*=========
用PHP实现验证码功能 (转)
用PHP实现验证码功能 (转)[@more@]用PHP实现验证码功能 by hutuwoRM ??目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了 验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输 入表单提交网站验证,验证成功后才能使用某项功能。 ??我们这里展示了如何编写PHP程序实现验证码功能: ??代码一: <? /* * Filename: authpage.php * Author: hutuworm &nb