Fork me on GitHub

2012年9月19日

摘要: 简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的。理解死锁首先需要对死锁所涉及的相关观念有一个理解。一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理解死锁。比如说一个经典的例子就是汽车(主体)对于道路(资源)的征用,如图1所示。 图1.对于死锁的直观理解 在图1的例子中,每队汽车都占有一条道路,但都需要另外一队汽车所占有的另一条道路,因此互相阻塞,谁都无法前行,因此造成了死锁。由这个简单的例子可以看出,发生死锁需要四个必要条件,如下:1)互斥条件:主体对于资源是独占的,图1中每条汽车道只能跑一队汽车,不能跑第二队。2)请求和等待条件: 指主体已 阅读全文
posted @ 2012-09-19 14:36 HackerVirus 阅读(152) 评论(0) 推荐(0)
摘要: 《互联网创业的准备》系列文章——http://cnblogs.com/sink_cup/《互联网创业的准备——后勤:电脑、邮箱、会议》http://www.cnblogs.com/sink_cup/archive/2012/09/14/pc_mac_linux.html《互联网创业的准备——架构》http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_arch.html《互联网创业的准备——带宽与CDN》http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_bandwidth.html 阅读全文
posted @ 2012-09-19 14:35 HackerVirus 阅读(492) 评论(0) 推荐(0)
摘要: 类型构造器可以用于接口(C#不允许这样做),引用类型,值类型。实例构造器用来设置一个类型某个实例的初始化状态,类型构造器用来设置一个类型的初始化状态。默认情况下,类型没有定义类型构造器。下面展示如何定义值类型和引用类型的构造器:internal sealed class SomeRefType { static SomeRefType() { } } internal struct SomeValType { static SomeValType() { } }可以发现一个特点是:无参,static标记,... 阅读全文
posted @ 2012-09-19 09:12 HackerVirus 阅读(186) 评论(0) 推荐(0)
摘要: 在上一篇文章中铁道部信客票系统设计(一)里面,探讨了关于数据库层面的功能性需求以及非功能性的需求,在非功能性需求里面,一博主 提出了没有考虑到峰值的情况,这一点的确漏掉了,因为我们铁道部的特殊需求,在春运期间负载很大,平时可能一般,如果用考虑最大的情况,则回存在浪费的情况,如果考虑不足,就像网络订票一样,苦逼。就好比 铁道部春运的时候,发车量大,但是如果制造大量列车,平时就空闲了,也就很亏。机器的折旧很是块的。春运期间可以考虑紧急扩容来实现,所以从设计上可以保持这种扩展性。 扩容是一项工程,整体来说比较复杂。上一篇博客发表后,也有博主和我探讨过一些问题,也让我了解到铁道部目前的状态。由于这个纯 阅读全文
posted @ 2012-09-19 09:11 HackerVirus 阅读(149) 评论(0) 推荐(0)
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我们以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》)(不好意思,画丑,字丑)最内层是我们的硬件,最外层是我们常用的各种应用,比如说使用firefox浏览器,打开evolution查看邮件,运行一个计算流体模型等等。硬件是我们的物质基础,而应用是我们所要奋斗的目标,但在两者之间,还要经过一番周折。还记得我们在Linux启动的时候。首先会启动内核(kernel),内核是一段 阅读全文
posted @ 2012-09-19 09:10 HackerVirus 阅读(164) 评论(0) 推荐(0)
摘要: 对于委托的理解方式可能每个人都不尽相同,正所谓1000个人心中有1000个哈姆雷特!笔者以一种较容易理解的方式太陈述,可能更适合新手,各路大神砖家们请勿喷,感激不尽!!!回顾一下上一篇的demo代码,有一些小的改动:View Code上一篇地址http://www.cnblogs.com/error500/archive/2012/09/14/2684321.html前面说过委托也是一个类,可以将方法当作另一个方法的参数来传递,这里没有直接传入方法名,而是定义了两个基于委托的变量,可能更好理解。其实在javascript里面也有一中类似的用法,有时候我们会将一个函数名传给第二个函数,第二个函数 阅读全文
posted @ 2012-09-19 09:09 HackerVirus 阅读(106) 评论(0) 推荐(0)

2012年9月18日

摘要: 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi6.1 最简单的爬虫网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。python的urllib\urllib2等模块很容易实现这一功能,下面的例子实现的是对baidu首页的下载。具体代码如下:import urllib2page=urllib2.urlopen("http://www.baidu.com")print page.read()6.2 提交表单数据(1)用GET方法提交数据提交表单的GET方法是把表单数据编码至URL。在给出请示的页面后,加上 阅读全文
posted @ 2012-09-18 21:12 HackerVirus 阅读(207) 评论(0) 推荐(0)
摘要: 无损编码的霍夫曼编码以及其余的各种编码由于要使用比较复杂的数据结构,所以按照我昨天说的,我决定从数据结构开始写起。数据结构和算法很难完全的分开,好的数据结构能够提升算法的效率,而如果没有算法,单纯的谈数据结构,那么数据结构的应用价值就会大大的降低。那么,就从最基本的开始这一个系列吧。一、总是让人很抽象的算法分析算法分析基本是所有数据结构与算法的第一章要讲的内容,大0表示法什么的总是让人很抽象,对于初学者,其实这一章的意义并不是很大,因为你很遇到在实际开发中一些大数据集的问题,在小规模数据的时候,各个算法之间的差别很难分辨出来。这就好比计算5个数的和,大家所用的时间基本都会差不多,但是要是计算5 阅读全文
posted @ 2012-09-18 21:11 HackerVirus 阅读(229) 评论(0) 推荐(0)
摘要: 可以在AddIn或T4中检测数据库表结构的变化,示意代码如下:Code Snippet<#@templatedebug="false"hostspecific="True"Language="C#"#><#@outputextension=".cs"#><#@AssemblyName="EnvDTE"#><#@ImportNamespace="EnvDTE"#><#@AssemblyName="System.Xm 阅读全文
posted @ 2012-09-18 21:09 HackerVirus 阅读(238) 评论(0) 推荐(0)
摘要: 上文我们演示了,客户端对服务器端身份的验证,这一篇来简单演示一下对客户端身份的验证。比如我们发布的服务,只想让若干客户端调用和访问。这种情况应该怎么做呢,这就是今天要演示的客户端认证。对客户端的认证基本分为三种:1、 windows 身份验证2、 用户名密码方式验证3、 证书认证我们今天主要用第二种方式来对客户端进行验证。WCF的传输安全中,HttpClientCredentialType 提供了6种客户端凭证来体现服务端对客户端的认证方式,(以下对6种认证方式的解释,摘自蒋金楠《WCF技术剖析》):None: 客户端无须指定用户凭证,即匿名认证。Basic:采用Basic认证方式对客户端进行 阅读全文
posted @ 2012-09-18 21:08 HackerVirus 阅读(234) 评论(0) 推荐(0)