摘要:
在分布式系统的数据一致性问题(一)里面,简单的介绍了分布式数据的同步问题,上面的问题比较抽象,在目前的互联网应用中还很少见,这次在通过一个比较常见的例子,让大家更深入的了解一下分布式系统设计中关于数据一致性的问题这次我们拿我们经常使用的功能来考虑吧,最近网购比较热门,就以京东为例的,我们来看看京东的一个简单的购物流程用户在京东上下了一个订单,发现自己在京东的账户里面有余额,然后使用余额支付,支付成功之后,订单状态修改为支付成功,然后通知仓库发货。假设订单系统,支付系统,仓库系统是三个独立的应用,是独立部署的,系统之间通过远程服务调用。订单的有三个状态:I:初始 P:已支付 W:已出库,订单金额
阅读全文
posted @ 2012-09-22 20:32
HackerVirus
阅读(150)
推荐(0)
摘要:
Windows开发的内功和招式最近一个月笔者休了大约两周的假期,期间没有学习新的开发技术,也没有去游山玩水,而是对自己的知识结构和Windows开发本身进行了一个深入的思考,收获颇多,在这里希望和大家共同分享一下。如果把Windows开发比作练武,那么就一定有内功和招式,二者相依相存,没有内功的招式只能算是花架子,中看不中用。那么,什么算是内功呢?首先,我想说的是系统模型和知识,整天在windows上做开发,对windows的了解够么?可能很多人说,我是做.net开发的,了解那么多没用,.net都做好了。我同意,人各有志嘛,但是我想问个问题,.net写的大型客户端有时候会突然卡一下,你能告诉我
阅读全文
posted @ 2012-09-22 20:28
HackerVirus
阅读(126)
推荐(0)
摘要:
工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格。今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的代码是否遵循设计规范、.Net约定和一些贯用法等。保证代码的一致性,可读性等等。在此之前,先简单介绍下FxCop(起初只是微软内部使用的工具),一个分析托管程序集,检测代码的总体正确性的工具,告诉用户哪些地方不符合设计规范。他使用的评估规则已经发展了多年,凝聚了顶尖.Net框架开发人员的知识和技术。但是FxCop是基于托管代码分析的,即编译后的程序集。今天我们介绍的StyleCop同样是用来检查代码是否符合设计规范的,它是基于原代
阅读全文
posted @ 2012-09-22 20:21
HackerVirus
阅读(302)
推荐(0)
摘要:
本实例将使用System.Media.SoundPlayer类播放声音,所以先准备PCM 波形文件的声音文件。在源程序的下载包里有提供。本实例选用ringin.wav 文件。一、添加声音资源使用Visual Studio新建一个WinForm项目,将窗体命名为MainForm。在“解决方案资源管理器”面板里,打开Properties文件夹,双击资源文件“Resources.resx”。在打开的页面点击“添加资源”右边的箭头后选择“添加现有文件...”。在弹出对话框中选择声音文件。这样就把声音资源文件添加到程序集了。二、播放声音文件接下来就是在窗体里播放刚才添加的声音文件了。首先在窗体类里,定义
阅读全文
posted @ 2012-09-21 23:07
HackerVirus
阅读(140)
推荐(0)
摘要:
编程不能死记硬背,要靠多实践操作 如今的网络越来越发达,分享一个文件是如此的简单。特别是有了电驴、迅雷这样的下载软件就更加如虎添翼了,想从网上下载一个几个G大小的文件,真是不费吹灰之力。好,废话太多了,直接进入咱们今天的主题吧。 要实现像迅雷一样的多线程下载,核心问题是要将多线程的概念以及怎么实现的问题弄清。 当然,本文技术含量很低,大牛请直接绕道。 多线程是相对单线程来说的,具体可以参考百度百科里的解释:http://baike.baidu.com/view/65706.htm 每个程序运行都有一个最基本的主线程,用于处理界面绘画,人机交互,后台处理等过程,因此如果是在单线程程序里操作打量耗
阅读全文
posted @ 2012-09-21 22:58
HackerVirus
阅读(185)
推荐(0)
摘要:
在前两篇文章中,我们了解到了ASP.NET Web Forms 4.5四个新特性:强类型数据控件和Bundling、针对HTML5的更新和Unobtrusive Validation。在介绍强类型控件的时候只是简单介绍了下它具有ItemType的属性,可以设置强类型值进行绑定,如果只是引入了这个属性,那么有点像语法糖,没什么实际意义。其实许多园友也发现了在ASP.NET Web Forms 4.5中引入了许多MVC的特性,而Model Binding则是更加像MVC的一个特性了。Model Binding如果用过ObjectDataSource控件,肯定对其SelectMethod有印象,在A
阅读全文
posted @ 2012-09-21 22:57
HackerVirus
阅读(109)
推荐(0)
摘要:
list 是 Python 中使用最频繁的数据类型, 标准库里面有丰富的函数可以使用。不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数,要知道Ruby、Mathematica、Groovy中可是有flatten的啊。如果列表是维度少的、规则的,还算好办例如:li=[[1,2],[3,4],[5,6]]print [j for i in li for j in i]#orfrom itertools import chainprint list(chain(*li))#ora=[[1,2],[3,4],[5,6]]t=[][t.extend(i) for i
阅读全文
posted @ 2012-09-21 17:55
HackerVirus
阅读(221)
推荐(0)
摘要:
此功能诸多代码来源于国外的网站和某些项目,地址为http://www.codeproject.com/Articles/30721/WPF-TreeListView-Control我只是站在别人的楼顶,顶着风,尿了一把。废话不多说,直接上效果图,一幕了然:接下来上的就是我这个代码的整体结构了。 TreeListViewModel是CodeProject里面的人写的,为项目框架核心。TreeListViewWpfApplication为TreeListView的主要实现,下面我主要介绍怎么实现(TreeListViewModel里面代码能力有限,目前为止也没看出个什么东西)先给大家介绍Mode.
阅读全文
posted @ 2012-09-21 15:48
HackerVirus
阅读(243)
推荐(1)
摘要:
最近写了一个关于 铁道部购票系统的若干文章铁道部新客票系统的设计(一)铁道部新客票系统的设计(二)铁道部新客票系统的设计(三)正好遇到一个博友,咨询了一个问题,这个问题正好可以作为分布式系统的数据一致性的简单例子,当然,这个只是比较简单的情况现在先抛出问题,假设有一个主数据中心在北京M,然后有成都A,上海B两个地方数据中心,现在的问题是,假设成都上海各自的数据中心有记录变更,需要先同步到主数据中心,主数据中心更新完成之后,在把最新的数据分发到上海,成都的地方数据中心A,地方数据中心更新数据,保持和主数据中心一致性(数据库结构完全一致)。数据更新的消息是通过一台中心的MQ进行转发。先把问题简单化
阅读全文
posted @ 2012-09-21 15:40
HackerVirus
阅读(164)
推荐(0)
摘要:
在 ASP.NET WebForms/MVC 中利用 HttpModule 添加全局站点统计(CNZZ、百度统计、Google Analytics等)脚本2012-09-21 13:38 by 自由的生活, 218 阅读,0评论,收藏,编辑在面向大众类型的网站应用中,我们常常需要知道网站的访问情况,特别是站长。就目前来说,有很多网站可以为你提供统计服务,比如:CNZZ、百度统计、Google Analytics等等,而你只需要在你的网站的每个页面的底部添加一些 Javascript 脚本就可以了,比如:<!-- 百度统计 --><script type="text/
阅读全文
posted @ 2012-09-21 14:59
HackerVirus
阅读(257)
推荐(1)