.NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
本文首发在IT168 写这个系列原本的想法是讨论一下.NET中异步编程风格的变化,特别是F#中的异步工作流以及未来的.NET 5.0中的基于任务的异步编程模型。但经过三篇文章后很多人对IO异步背后实现的原理以及为什么这样能提高性能很感兴趣。其实我本不想花更多的文字在这些底层实现的细节上,一来我并不擅长这些方面,二来我们使用.NET的异步IO就不需要关心这些底层东西,因为已经为
http://cyqdata.cn/cnblogs/article-detail-35258
一步一步学习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://cyqdata.cn/cnblogs/article-detail-35230
Asp.Net大型项目实践(13)-尽可能的去掉项目中的大量XML配置文件
在此系统的项目中我们采用NHibernate实现了ORM;采用Unity来实现了DI和AOP。这2个技术方案应该说都很不错。但随之而来的是,在较大规模系统中产生了大量的XML配置文件。在我们的实际开发中发现编写和存在大量的XML配置文件有以下几点不利:
1.我们需要在XML中编写大量项目中的数据表名,数据库字段名,命名控件,类名等 ,但由于各种因素我们很难保证在XML的纯文本文件编辑器里键入的准确
http://cyqdata.cn/cnblogs/article-detail-35199
报表中的Excel操作之Aspose.Cells(Excel模板)
本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件。这个组件的强大之处,就不多说,对于我们的报表总是会有导出Excel的处理,如果你使用微软Excel的com组件,那么对于简单的操作还行,但是多余复杂的模板,那将是一个令人头疼的事。在Aspose.Cells之下,将是一个简单的事情。他可以导入导出excel操作,在本
http://cyqdata.cn/cnblogs/article-detail-35171
.Net中的Interception--一个简单的AOP框架学习
最近翻手头的dll文件时无意中发现了一个Interception实现,这个框架比起目前流行的AOP框架显的比较简漏,但却很好的体现出了.net下AOP是怎么实现的,于是就整理出来。
在.Net Unity2.0中的Interception,按三种方式实现:
1.TransparentProxy/RealProxy Interceptor 即Remoting代理机制。
2.Interface Int
http://cyqdata.cn/cnblogs/article-detail-35136
JavaScript中的隐式类型转换
如果把通过函数或方法调用,明确的将某种类型转换成另一种类型称为显示转换 ,相反则称为隐式类型转换 。google和维基百科中没有找到“显示类型转换”,“隐式类型转换”的字眼。暂且这么称呼。
一、 运算中存在的隐式类型转换 1, “+”运算符
var a = 11, b = '22';
var c = a + b;
这里
http://cyqdata.cn/cnblogs/article-detail-35090
T4+VSIX 打造Visual Studio 2010 中的Entity代码生成自定义工具(下)
在上一篇文章中主要介绍了如何开发根据“文本模板”生成代码的自定义工具,后面有人反应说写得比较混乱,看完了也不知道说啥,自己也回头去看了下,文章的讲述的思路确是存在比较大的问题,所以进行了修改,如果还有什么疑问或者意见希望能够提出来,那么接下来继续如果在前面开发的自定义工具的基础上进行修改,变成ADO.NET Entity的实体生成自定义工具。 在这之前首先简单介绍下Ent
http://cyqdata.cn/cnblogs/article-detail-35062
工作流系统之三十八 工作流软件中的定时器处理
工作流软件中的定时器处理,一般分为两种:
应用服务启动就启动的定时器
这种类型和通常的web系统中的定时器处理一样。应用服务器启动后,定时器就启动了,然后按照定制的时间段轮询处理。当应用服务器关闭的时候,这种定时器才会关闭。这种定时器通常是对所有需要定时处理的记录来做的,在工作流软件中,就对应到所有的业务流程,所有的流程实例。
这种类型的定时器,在报表软件,报表产品中经常有用到,比如 每天晚上定时
http://cyqdata.cn/cnblogs/article-detail-35037
SQL Server 2008中的代码安全(八):透明加密(TDE)
SQL Server 2008中SQL应用系列--目录索引
SQL Server 2008引入透明数据加密(Transparent Data Encryption),即TDE,它允许你完全无需修改应用程序代码而对整个数据库加密。当一个用户数据库可用且已启用TDE时,在写入到磁盘时在页级实现加密。在数据页读入内存时解密。如果数据库文件或数据库备份被盗,没有用来加密的原始证书将无法访问。这
http://cyqdata.cn/cnblogs/article-detail-35032
SQL Server 2008中的代码安全(七):证书加密
SQL Server 2008中SQL应用系列--目录索引
证书可以在数据库中加密和解密数据。证书包含密钥对、关于证书拥有者的信息、证书可用的开始和结束过期日期。证书同时包含公钥和密钥,前者用来加密,后者解密。SQL
Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库
http://cyqdata.cn/cnblogs/article-detail-32737
淘宝开店过程中的技术应用——【线程池】实现【图片下载】
09年就开了淘宝店,因为工作忙没时间打理开开停停,最近有空了,准备认真的搞一回,朋友家是卖鞋的,自己穿过他店卖的4,5双跑鞋觉得还不错,所以决定向他要货,请允许我给自己的淘宝店鞋内鞋外做个广告,有需要的朋友请多多捧场,谢谢大家~ 在开淘宝店过程中需要批量下载图片时,利用【线程池】实现多线程【图片下载】功能,解决问题,这篇文章主要介绍此功能的实现细节。 工具主要可以细分为以下几个子部
http://cyqdata.cn/cnblogs/article-detail-32736
Google Map 在产品中的应用
最近由于工作需要研究了下Google地图,网络上也有不少相关文章。同时Google已经提供了很详尽的API及说明。我在使用Google API期间有部分内容还是值得拿出来于园友分享的。
一、调用Google Map API 无法出现周边生活设施
&n
http://cyqdata.cn/cnblogs/article-detail-32703
SQL Server 2008中的代码安全(六):对称密钥加密
SQL Server 2008中SQL应用系列--目录索引
证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。
我们看一组例子:
示例一、创建对称密钥
对称密钥的
http://cyqdata.cn/cnblogs/article-detail-32646
OpenLayers中的球面墨卡托投影
最近看OpenLayers,研究到地图投影时找到官方的文档,就翻译了一下,由于英文能力差,翻译不好的地方,请看原文
原文地址:http://docs.openlayers.org/library/spherical_mercator.html
球面墨卡托投影
该文档说明了什么是球面墨卡托投影以及何时使用该投影。文档中包含一些必要的背景知识、商用图层的代码演示、添加WMS图层以及使用O
http://cyqdata.cn/cnblogs/article-detail-32567
SQL Server 2008中的代码安全(四):主密钥
在SQL Server中的加密由层次结构形式进行处理以提供多级别的安全。SQL Server包含两个用于加密数据的密钥类型。如下图:
1、服务器主密钥(Service Master Key),位于层次结构的最顶端,并且在安装SQL
Server时自动创建,用于加密系统数据、链接的服务器登录名以及数据库主密钥。在第一次通过SQL
Server使用服务主密钥来加密证书、数据库主密钥或链接的服务器
http://cyqdata.cn/cnblogs/article-detail-32457
CCIE中的portfast和Bpdu Guard、Bpdu Filter、Root Guard、Loop Guard
PortFast 加快终端主机连接入stp网络的收敛.只适用于在交换机与PC相连的端口,不应该在交换机与交换机,路由器,HUB互连的网络设备的端口使用。
把一个port设置了portfast,就是让那个port不再使用STP的算法。在STP中,port有5个状态:disable、blocking、listening、learning、forwarding。只有forwarding状态,p
http://cyqdata.cn/cnblogs/article-detail-32400
机器学习中的数学(6)-决策树模型组合之随机森林与GBDT
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com 前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展
http://cyqdata.cn/cnblogs/article-detail-32301
程序设计中的计算复用(Computational Reuse)
从斐波那契数列说起 我想几乎每一个程序员对斐波那契(Fibonacci)数列都不会陌生,在很多教科书或文章中涉及到递归或计算复杂性的地方都会将计算斐波那契数列的程序作为经典示例。如果现在让你以最快的速度用C#写出一个计算斐波那契数列第n个数的函数(不考虑参数小于1或结果溢出等异常情况),我不知你的程序是否会和下列代码类似: public static ulong Fib(ulong n)
http://cyqdata.cn/cnblogs/article-detail-31675
浅谈C#中的GET和SET访问器
我们在学习C#语法的属性时,都要首先和GET,SET访问器打交道,从英文的字面意思上理解,GET应该就是获得什么什么,而SET应该是设置什么什么,那我们看一下,官方是怎么定义这对访问器的:get是读取属性时进行的操作,set是设置属性时进行的操作。定义一个属性如果只有get,这个属性就是只读的。同样,只有set,属性就是只写的,当然只写的属性我觉的意义不是很大。
接下来我们通过一些
http://cyqdata.cn/cnblogs/article-detail-31649
这不是基础中的基础么
中午在园子里逛的时候看到了一个评论头条的博文,吉日嘎拉纠正了自己的错误认识。里面涉及到的东西说实话确实很基础,不过我看了下评论却没有将问题解释清楚,至于标题借用了老赵的评论。 先说说方法表,方法表位于内存中的Loader Heap,它包含着类对应的方法,在类加载的时候会在Load Heap上创建和相应的类对应的方法表。当类实例化的时候,托管堆上除了将对象实例化所需要的字段分配内存以外,还会给一个
http://cyqdata.cn/cnblogs/article-detail-31645