.NET自动化测试---API轻量级测试
自动化测试相对于手工测试有以下优点
a.Speed--快速地进行成千上万个测试用例;
b.Accuracy--不受人为的因素的干扰,例如记录错误的结果;
c.Precision--每次都以同样的方式运行;
d.Efficiency--晚上白天都可以进行测试;
e.Skill-Building--培养技能,手工测试非常枯燥乏味,提高不了技能。
&nbs
http://www.cyqdata.cn/cnblogs/article-detail-35601
QWrap简介之:NodeW ---Node包装
专注于dom的jquery广受欢迎,说明了dom的节点操作在js应用中的沉重份量。节点操作需求多样,如果只局限于节点原型扩展,会阻碍重重束手束脚。针对节点的包装“NodeW”的出现,把节点的操作带到了一个没有边际的新天地。前文也提到,jquery的实质,就是一个nodelist的包装。我们先假设有一个针对Node的Helper:
var NodeH = { setS
http://www.cyqdata.cn/cnblogs/article-detail-35574
一步一步学习C#中的多线程 --- 1、初识线程(3)--前台线程和后台线程
1、前台线程和后台线程的基本概念
MSDN上对前台线程和后台线程有如下描述:
http://msdn.microsoft.com/zh-cn/library/h339syd0(VS.80).aspx
前台线程和后台线程的主要区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在
http://www.cyqdata.cn/cnblogs/article-detail-35324
BatchFileProcessing--流程设计
最近在研究Excel数据处理,感觉能面对大数据量的挑战是一件很愉悦的事情,:)下面是批量创建商品处理流程设计图: 一个商品会包含很多属性,比如商品编号,商品名,商品简介,单价,库存,图片(图片链接,多个链接用逗号分隔)等。如何用UI引导用户创建商品见我的另一篇文章”企业应用之分多步创建商品”。我们可以用Excel中的一行来描述一个商品,比如: 流程设计: 1)
http://www.cyqdata.cn/cnblogs/article-detail-35322
ReportViewer Tip -- 使用Html标签自定义ReportViewer字段显示
跟随VS2010发布的ReportViewer10版本做了很多功能上的改进,有一处改进就是加入了对Html和Style标签的支持,
虽然支持的标签种类有限,但至少可以满足客户的一些个性化的需求了.
目前所支持的标签类型仅限于基本的html和style,清单如下:
Html标签:
· Hyperlinks: <A href>
· Font
http://www.cyqdata.cn/cnblogs/article-detail-35280
ESFramework 与设计模式(01) -- 应用Composite模式
在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中我们介绍的ESFramework提供的消息处理的骨架流程,假设我们有这样的需求,我们需要在网关级消息监控器处放置两个监控器,一个用于对收到的消息进行特殊的验证,另一个用于检查重复的消息。咋一看,可能觉得骨架流程做不到这一点,因为它只为网关级监控器预留了一个
http://www.cyqdata.cn/cnblogs/article-detail-35260
FGMap学习之--自定义标注(示例:核电站离我们有多远)
日本地震引起的核泄漏再一次引起我们对核使用的关注,我们是否知道我们离核电站有多远呢?今天我们将使用FGMap在地图将我们身边的核电站标注出来,使用到的是自己定义标注。这个自定义标注中由一张图片,文字标签,背景图三部分组成。
数据来源来自搜狗地图,本人不知道是否正确。
我们的主程序代码如下:
View Code
1 <?xml version="1.0" encod
http://www.cyqdata.cn/cnblogs/article-detail-35245
应届毕业生生存法则--生活篇
当新人们走出校园的时候,生活才真正多了“生活”这部分,这是区别于工作的生活。生活是一本用一辈子的时间去学习的书籍,内容丰富,是千古谈论不绝的话题啊。所以是不可能用一两篇博文诠释,为了避免泛泛而谈,我把我遇到的一个个小故事写下来,透过这些小故事去拓展,去融会贯通。 问路
http://www.cyqdata.cn/cnblogs/article-detail-35240
再说Csharp(C#) ”整洁代码”那些事 -- 变小[1]
在我之前"优雅代码"的文章中我提到了函数大小规定的问题,
写出优雅简明代码的论题集 -- Csharp(C#)篇[1]
写出优雅简明代码的论题集 -- Csharp(C#)篇[2]
在这篇文章中我还想更详细的谈谈为什么好的代码必然不会有大的函数,-- 写小的函数不是我们的目的,但是为了使你的代码可读性强,你开始花时间重构它们,然后,你发现函数开始缩小,类开始缩小。最后你会发现这才是你
http://www.cyqdata.cn/cnblogs/article-detail-35238
一步一步学习C#中的多线程 --- 1、初识线程(2)--给线程传递参数
给线程传递参数的三种方法 1、一种方式是使用ParameterizedThreadStart委托参数的Thread构造函数。参看如下代码: 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Th
http://www.cyqdata.cn/cnblogs/article-detail-35230
Sliverlight Tip -- 让DataGrid支持Scroll事件
Silverlight4.0的DataGrid标准控件中只开放了极少的控件事件提供给开发者使用,像DoubleClick,Scroll之类比较常见的事件都没有做支持.对于DoubleClick的处理,可以通过Behavior进行变通,这不是本次要讲解的技术内容. 这次要讲解的是如何注册Scroll事件到DataGrid的垂直或水平滚动条.
先通过Refector查看了DataGri
http://www.cyqdata.cn/cnblogs/article-detail-35202
ESFramework 4.0 进阶(08)-- 挂接P2P通道
在ESFramework 4.0 进阶(07)-- 消息同步调用一文中我们介绍了客户端与服务器进行交互的一种常见情况:客户端向服务器发送请求消息,服务器处理完毕后返回应答消息给客户端。还有一种常见情况是,客户端需要发送一个消息给另外一个在线的用户。一般,这样的P2P消息是通过服务器中转的。很多情况下,中转不会有很大的问题,但是对于那种类
http://www.cyqdata.cn/cnblogs/article-detail-35200
Mongodb源码分析--日志及持久化
在本系列的第一篇文章(主函数入口)中,介绍了mongodb会在系统启动同时,初始化了日志持久化服务,该功能貌似是1.7版本后引入到系统中的,主要用于解决因系统宕机时,内存中的数据未写入磁盘而造成的数据丢失。其机制主要是通过log方式定时将操作日志(如cud操作等)记录到db的journal文件夹下,这样当系统再次重启时从该文件夹下恢复丢
http://www.cyqdata.cn/cnblogs/article-detail-35198
C# Tip -- 如何优雅的控制线程状态
先问读者一个问题,如果想控制一个线程(Thread)挂起,继续,结束你会优先选择如何处理?
从面试的经验来看,多数的面试者都会说Thread不是提供了Suspend,Resume,Abort等方法吗,直接调用就好了,简单快捷.但很多情况下简单就是美只是一个谎言而已.
Suspend和Resume方法已经被MS标注过时(Obsolete),不建议用户使用,MS同时推荐通过同步控制来管理线程状态.
http://www.cyqdata.cn/cnblogs/article-detail-35189
ESFramework 4.0 进阶(07)-- 消息同步调用
分布式系统的构建一般有两种模式,一是基于消息(如Tcp,http等),一是基于方法调用(如RPC、WebService、Remoting)。深入想一想,它们其实是一回事。如果你了解过.NET的Proxy,那么你会发现,方法调用和消息请求/回复实际上是可以相互转换的,.NET的Proxy的实现,就是在方法调用的堆栈帧和消息之间相互转换的过程。
在ES
http://www.cyqdata.cn/cnblogs/article-detail-35188
应届毕业生生存法则--工作篇
由于草草地写了一篇《应届毕业生生存法则》,园友如此强烈的反响令我受宠若惊,在此致以谢意!博客园是一个谈论技术的好平台,在我写这样的文章的时候,必定会受到他人的鄙视与冷眼,本人诚心接受批评及指正,因为我爱这个家园,如果我的博文能帮助他人,不亦乐乎?当然我也会努力学习园友的技术,努力写好技术博客。
尽量记住别人的名字,尊重他人。
新人刚进公司,往
http://www.cyqdata.cn/cnblogs/article-detail-35174
ESFramework 4.0 进阶(06)-- 正规消息发送器
在ESFramework 4.0 进阶(04)-- 驱动力:通信引擎(下)一文末尾我们已经将通信引擎以及整个消息骨架流程组装起来了,只要通信引擎一接收到消息,框架就会按照规定的流程进行运转。到这里,自然想到一个问题,如何来发送消息了?没有发送,何谈接收,就更不会有后续的驱动整个消息处理的骨架流程了。
一.发送消息时遇到的问题
&nbs
http://www.cyqdata.cn/cnblogs/article-detail-35164
mongodb源码分析--查询
在之前的一篇文章中,介绍了mongodb的主程序入口main()的执行流程,其实main只是实始化一些参数信息并做了些后台线程任务的启动工作(包括数据准备和恢复),并最终启动一个线程进行循环侦听。今天将会介绍在mongodb中数据查询 (find)的流程,以了解mongodb是如果对message进行拆包分析,以及数据进行表扫描及索引使用的。 &n
http://www.cyqdata.cn/cnblogs/article-detail-35143
.Net中的Interception--一个简单的AOP框架学习
最近翻手头的dll文件时无意中发现了一个Interception实现,这个框架比起目前流行的AOP框架显的比较简漏,但却很好的体现出了.net下AOP是怎么实现的,于是就整理出来。
在.Net Unity2.0中的Interception,按三种方式实现:
1.TransparentProxy/RealProxy Interceptor 即Remoting代理机制。
2.Interface Int
http://www.cyqdata.cn/cnblogs/article-detail-35136
ESFramework 4.0 进阶(03)-- 驱动力:通信引擎(上)
(ESFramework 4.0 快速上手 系列文章介绍的是属于ESFramework的傻瓜式应用,对于开发一般的通信程序已经足够了,但是如果要构建更高性能更灵活更具扩展性的应用,还是必须要从基础开始了解ESFramework的内核机制。《ESFramework 4.0 进阶》系列是为通向ESFramework内核的一条路。)
在E
http://www.cyqdata.cn/cnblogs/article-detail-35130