Fork me on GitHub

2012年5月8日

摘要: MS给.NET的socket异步提供了IOCP的支持,对于IOCP这个模型来说相信做过网络应用的朋友都清楚他的性能。但经过.NET的包装后他的性能又是怎样呢?以下是.NET Socket的吞吐能力测试结果。测试服务端的配置为Core E4300 1.8g 2g内存win2003sp2,配置似乎有点旧,但这样更容易体现.NET Socket的性能.单一对象应答客户端发起一个请求,服务器应答后客户端再进行下一次请求.请求对象?1234public class Get : IMessage{public string ID;}应答对象?123456789101112GetResponse resp. 阅读全文
posted @ 2012-05-08 15:00 HackerVirus 阅读(292) 评论(0) 推荐(0)
摘要: 我们通过减少查询中的不必要的读取操作从而使得查询的性能得到提升。一个查询在数据库中执行的读操作越多,那么就对磁盘,CPU,内存的压力越大。除非整个数据库的数据全在在内存中,否则每次的读操作都会把数据从磁盘读入到内存中,然后返回。 一个查询在读取一个资源的时候,通过加锁会阻止其他的查询对这个资源进行修改,此时其他要操作这个资源的查询就需要等待,从而导致了延时。 诚然,有些等待是必须的,读取操作也是必须的,但是一些因为我们代码或者设计导致的过度的读取操作和等待,那就会严重影响性能,尤其是当数据库的访问量开始变大的时候。可以说在SQL Server中,最高效的读取数据方式就是通过索引去获取数据。如果 阅读全文
posted @ 2012-05-08 14:58 HackerVirus 阅读(359) 评论(0) 推荐(0)
摘要: --引子 看下面一段MVC 2.0的代码。<%if (Model != null){%> <p><%=Model%></p><%}%><%else{%> //Do something<%}%> 我们站在一个读者的立场上来看,”<% %>“这种标记C#代码的方法是十分蛋疼的。 如果写这段代码的人没有良好的缩进和对齐习惯的话,一段逻辑较为复杂的代码就会堆砌着杂乱无章的"<%“和"%>"--匹配它们就是一件头疼的事情,会让读者望而生畏。 即使是写代码的本人,闭合也 阅读全文
posted @ 2012-05-08 14:56 HackerVirus 阅读(373) 评论(0) 推荐(0)
摘要: .NET中有些方法以前没有接触过,但用过了之后让人眼前一亮,哇,原来你这么好用。下面就说说被我忽视过的方法。当然,每个人的编程经历,涉猎面及对.NET的认知程度都不一样。所以,这只是一家之言,肯定有很多不足之处,欢迎大家批评指正。1. ADO.NET类DataTable.Merge()如何合并两张表?自己以前写的方法:private void UniteTable(DataTable sourceTable, DataTable targetTable) { foreach (DataRow row in sourceTable.Rows) ... 阅读全文
posted @ 2012-05-08 14:52 HackerVirus 阅读(168) 评论(0) 推荐(0)
摘要: 好久没有做算法题了,重温几个简单的算法题。第一题:求子数组的最大和这是一道很常见的算法题,很多人都能很快的写出算法,但很多人都不能写得完全正确,问题主要出在sum初始化上,很多错误的答案将他初始化为0,如果数组的所有元素都为负,那么得到的最大最是0,sum要初始化成数组的第一个元素。第二题:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句这道题在网上也有很多个版本,有在构造函数中实现加法,利用两个静态变量一个存结果,一个存当前值,然后创建一个一维n个元素的数组,存结果的静态变量即为所求,还有的就是用两个方法,一个方法是递归 阅读全文
posted @ 2012-05-08 14:49 HackerVirus 阅读(272) 评论(0) 推荐(0)
摘要: 每天都在叫嚣自己会什么技术,什么框架,可否意识到你每天都在被这些新名词、新技术所迷惑,.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。要编写出优秀的代码同样要扎实的基础,如果排序和查找算法学的不好,怎么对程序的性能进行优化?废话不多说,本文要介绍的这些排序算法就是基础中的基础,程序员必知!1、直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经 阅读全文
posted @ 2012-05-08 14:45 HackerVirus 阅读(249) 评论(0) 推荐(0)
摘要: 一、网络文件系统概述SunMicrosystems公司于1984年推出了一个在整个计算机工业中被广泛接受的远程文件存取机制,它被称为Sun的网络文件系统(NetworkFileSystem),或者简称为NFS。该机制允许在一台计算机上运行一个服务器,使对其上的某些或所有文件都可以进行远程存取,还允许其他计算机上的应用程序对这些文件进行存取。它使我们能够达到文件的共享。当使用者想用远端档案时只要用"mount"就可把remote档案系统挂接在自己的档案系统之下,使得远端的文件操作上和本地机器的文件没两样。一个应用程序可以打开(Open)一个远程文件以进行存取,可以从这个文件中 阅读全文
posted @ 2012-05-08 14:41 HackerVirus 阅读(732) 评论(0) 推荐(0)
摘要: 整理了几个WCF里几个基本知识点:1、WCF中的MessageWCF中的消息对象Message,是有状态的。它的状态是MessageState枚举。共有以下几种类型:publicenumMessageState{Created,Read,Written,Copied,Closed}对Message对象,只有在Create状态下,才能读,否则读取会有异常。Message同样定义了许多Write之类的方法,这些Write方法同样也只能用于处于Created的消息。在WCF中,有可能需要对消息进行一些读取、等操作。但是读取操作会改变Message的状态,导致再次读取会有异常。这时,可以使用Messa 阅读全文
posted @ 2012-05-08 14:35 HackerVirus 阅读(202) 评论(0) 推荐(0)

2012年5月7日

摘要: 最近项目想做一个员工统一工号生成的系统,本来可以直接让别的同事来做的,不过大家都在项目上忙不开,刚好也可以练练手于是就接过这个项目。之前虽然一直对MVC和Entity Framework有点了解,但是实际使用的时候还是有很多问题。本文是记录在项目开发过程中遇到的第一手问题及解决办法。1.DataContext的选择遇到的第一个问题就是DtaContext的选择,之前以为根据生成的EDMX就可以直接选择Model生成Controller及View了。 不知道还需要Data context。好吧,初步查了一下Data Context是相关的底层数据连接、数据集定义的。所以在生成Controller 阅读全文
posted @ 2012-05-07 22:21 HackerVirus 阅读(209) 评论(0) 推荐(0)
摘要: 回顾上周微软一站式示例代码库最新发布的7篇示例代码:[Sample of May 6th] Customize Outlook UI with Ribbon XML该示例演示如何通过Ribbon XML定制 Outlook 界面[Sample of May 5th] Use XPath to read XML该示例演示如何使用XPath读取XML文件[Sample of May 4th] Crop the image from Windows Forms PictureBox control该示例演示在windows forms 的PictureBox控件上对图片进行切割截取。[Sample 阅读全文
posted @ 2012-05-07 15:37 HackerVirus 阅读(149) 评论(0) 推荐(0)