Fork me on GitHub

2013年5月13日

摘要: [你必须知道的异步编程]——基于任务的异步模式本专题概要引言什么是TAP——基于任务的异步模式介绍如何使用TAP——使用基于任务的异步模式来异步编程TAP与APM或EAP可以转换吗?——与其他异步模式的转换小结一、引言 在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在使用前面两种模式进行异步编程的时候,大家多多少少肯定会感觉到实现起来比较麻烦, 首先我个人觉得,当使用APM的时候,首先我们要先定义用来包装回调方法的委托,这样难免有点繁琐, 然而使用EAP的时候,我们又需要实现Completed事件和Progress事件,上面两种实现方式感觉都有点繁琐,同时. 阅读全文
posted @ 2013-05-13 16:19 HackerVirus 阅读(742) 评论(0) 推荐(0)
摘要: iptables防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤 阅读全文
posted @ 2013-05-13 16:11 HackerVirus 阅读(235) 评论(0) 推荐(0)
摘要: K2使用总结-K2简介一、 K2简介K2 Black pearl 是SourceCode公司基于.NET WF构建的流程开发平台的核心产品。代码可支持生成WF代码,流程设计环境使用WPF构建,并完全嵌入到VS 2008中,与微软产品紧密结合。K2 black pearl 包括业务流程管理与工作流性能。可以通过建立应用来管理业务流程并使其自动化,或者集业务流程、人员、服务、信息和系统于单一的应用,从而帮助推动业务发展。二、 K2中常用对象介绍1、 DefaultActivity (流程节点,可以看作是事件的容器,在该节点中必须包含至少一个事件)2、 Default Line(节点之间的连接线)3 阅读全文
posted @ 2013-05-13 16:07 HackerVirus 阅读(556) 评论(1) 推荐(0)
摘要: 小网站架构优化:从100并发抗到4000并发前言:很久前,在512M内存+Access的VPS里,写过了一个经典的秋色园技术原理解析系列。后来的某一天,换上了1G内存+MSSQL2000,秋色园又跑过了一个多年头。之后,秋色园和CYQ.Data,也在一直默默的优化和改进,只是没写什么文章分享分享。秋色园的架构,基本上从简单到复杂最后又回归简单,不断做着减法,去掉了好多以前用于减轻负载的算法,包括AOP+SQLite分压和文本分压等机制,还有一些缓存式算法。好多时候,硬件不给力,这时候就会被逼着把整个系统架构复杂化。一当硬件给力时,系统轻装上阵,架构可以更简单。因为本质就是请求+返回(硬件能加速 阅读全文
posted @ 2013-05-13 13:09 HackerVirus 阅读(297) 评论(0) 推荐(0)
摘要: 当文件操作遇上进程占用时 近日做文件操作时,老是抛异常说文件正在被另一个进程占用着,很无奈,给我知道是哪个进程占用的话,就把它给Kill掉,当然这样做在一定程度上是有危险的,万一占用文件的进程是那么那么地重要,就不该Kill了,因此这样的做法只能在确保安全的情况下去做,或者是Kill了进程之后带来的不良后果也无关痛痒。上网找了一下,在别的进程占用文件下读写文件的文章很多,但获取占用文章的进程就比较少,在百度上就有人说过用unlocker这种工具,这工具我没去看,感觉也不太适合在这里用吧,如果有dll,提供API那还不错。后来就在谷歌里找到了只那么一篇文章而已,看了之后还终究要用到别的exe,还 阅读全文
posted @ 2013-05-13 13:07 HackerVirus 阅读(284) 评论(0) 推荐(0)
摘要: 一致性hash和solr千万级数据分布式搜索引擎中的应用互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库。在这样严峻的条件下,一批又一批的创业者从创业中获得成功,这个和当前的开源技术、海量数据架构有着必不可分的关系。比如我们使用mysql、nginx等开源软件,通过架构和低成本服务器也可以搭建千万级用户访问量的系统。新浪微博、淘宝网、腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台。所以,用什么没关系,只要能够在合理的情况下采用合理的解决方案。那怎么搭建一个好的系统架构呢?这个话题太大,这里主要说一下数据分流的方式。比如我们的数据库服务器只 阅读全文
posted @ 2013-05-13 13:05 HackerVirus 阅读(144) 评论(0) 推荐(0)

2013年5月12日

摘要: HTTP 长连接上周再做一个easyproxy的小项目,实现代码反向代理的工作,具体就是在tcp层对各个请求(只要遵循建立在tcp层之上的协议即可)进行解析,然后分发各个具体服务上。这中间遇到的一个问题就是HTTP中的长连接问题,重新去看了下具体的http协议,发现之前对这块知识还是存在盲点。这篇文章可以算是自己的学习笔记, 很多内容更是直接使用我看到和觉得讲得不错的资料,希望对大家也有所帮助。基础知识1. 名称维基百科中的介绍:“HTTP persistent connection, also calledHTTP keep-alive, orHTTP connection reuse, i 阅读全文
posted @ 2013-05-12 23:31 HackerVirus 阅读(170) 评论(0) 推荐(0)
摘要: 可扩展的单据编号生成器 + 简单的解释器背景在企业应用中单据编号的自定义是一个很常见的需求,能不能抽象一个通用的框架呢?之前写个一篇自定义密码强度的博文,感觉他们两个思路应该很相似。就让我们试试吧。思路这里的难点在于实现"解释器",比如将"前缀_<日期:yyyy_MM_dd>"解释为“工号生成器”,而且“解释器”的“规则”允许动态增加。实现代码下载类图核心代码CodeRuleGenerator.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 阅读全文
posted @ 2013-05-12 23:26 HackerVirus 阅读(1084) 评论(0) 推荐(0)
摘要: 对.NET系统架构改造的一点经验和教训投递人itwriter发布于 2013-05-12 19:45评论(2)有248人阅读原文链接[收藏]«» 文/范凯 在互联网行业,基于 Unix/Linux 的网站系统架构毫无疑问是当今主流的架构解决方案,这不仅仅是因为 Linux 本身足够的开放性,更因为围绕传统 Unix/Linux 社区有大量的成熟开源解决方案,覆盖了网站应用扩展的方方面面。 我记得十几年前第一波互联网浪潮的时代,采用 Windows/.NET 架构的大型网站是非常普及的,而如今采用 .NET 架构的知名网站已经凤毛麟角了。特别是除了微软自身旗下的网站 MSN 阅读全文
posted @ 2013-05-12 23:24 HackerVirus 阅读(286) 评论(0) 推荐(1)
摘要: 使用avalon MVVM框架打造整一套jquery ui为了验证avalon的可用性与高效性,我用它重新实现jQuery ui。打造过程如下,直接到jQuery ui官网,查看它们的运行效果,不看其JS源码,然后取其HTML结构修改。使用了MVVM编写代码,能保证你思维清晰畅顺,不用在DOM逻辑与数据处理中跳来跳去,因此带来比jQuery还强大的革命性生产效率。仅用一天,实现8成以上的功能,而且JS代码量非常少,都是原来的百分之几至十之间。基本上,现在avalon的源码挑不出什么毛病。以后从mass分离出ajax,effect等模块来,构建成avalon的一个组件,这些UI组件的可用性就更高 阅读全文
posted @ 2013-05-12 23:14 HackerVirus 阅读(438) 评论(0) 推荐(0)