欢迎光临汤雪华的博客

一个人一辈子能坚持做好一件事情就够了!坚持是一种刻意的练习,不断寻找缺点突破缺点的过程,而不是重复做某件事情。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2015年6月8日

摘要: 测试环境两台笔记本网线直连,通过测速工具(jperf)测试,确定两台电脑之间的数据传输速度可以达到1Gbps,即千兆网卡的最大速度。两台电脑硬件配置如下:client服务器,CPU:Intel i5-3230 2.6GHz 内存:8Gserver服务器,CPU:Intel i5-3210 2.5G... 阅读全文

posted @ 2015-06-08 23:10 netfocus 阅读(2969) 评论(3) 推荐(0) 编辑

摘要: RBAC Modelcore concept: user,role,permission,operation,resourceuser has many roles, assign role to user; one role can be assigned to many users.user h... 阅读全文

posted @ 2015-06-08 10:32 netfocus 阅读(1006) 评论(1) 推荐(1) 编辑

2015年6月1日

摘要: 系统思维就是把认识对象作为系统,从系统和要素、要素和要素、系统和环境的相互联系、相互作用中综合地考察认识对象的一种思维方法。系统思维以系统论为思维基本模式的思维形态,它不同于创造思维或形象思维等本能思维形态。系统思维能极大地简化人们对事物的认知,给我们带来整体观。系统思维是一种逻辑抽象能力,也可以称... 阅读全文

posted @ 2015-06-01 09:19 netfocus 阅读(1403) 评论(4) 推荐(1) 编辑

2015年5月28日

摘要: 普通哈希:var x =hash(dataKey) % N一致性哈希:将数据的key的hashcode与存放数据的节点(如缓存节点)的IP(或服务器名)的hashcode都分布到同一个环形数值空间,比如0~2^32-1。然后,把数据的hashcode沿着顺时针方向找第一个存放数据的节点的hashco... 阅读全文

posted @ 2015-05-28 21:43 netfocus 阅读(1260) 评论(1) 推荐(0) 编辑

2015年5月25日

摘要: 规则如下:判断一个ID在哪个库里的公式是:id % 4 / 2判断一个ID在哪个表里的公式是:id % 4 % 2其中4表示总共有多少个分表,2表示总共有多少个数据库;上面这个例子,表示总共有2个数据库,每个数据库有2个分表,所以是2 * 2 = 4;所以,对于ID是1,2,3,4,5的这些情况,落... 阅读全文

posted @ 2015-05-25 23:51 netfocus 阅读(5103) 评论(4) 推荐(2) 编辑

2015年5月18日

摘要: 上周六很高兴参加了博客园组织的DDD分享交流会,我有幸给参会者分享了我对DDD的一些理论理解、案例分析,以及最后简要介绍了一下ENode框架。这次分享重点分享了几个DDD的小型建模案例,并在会上与大家进行了讨论。为了推广DDD,吸引更多的人去了解DDD,我把PPT转成pdf在博客园分享下,方便其他人... 阅读全文

posted @ 2015-05-18 23:18 netfocus 阅读(3833) 评论(3) 推荐(5) 编辑

2015年5月10日

摘要: 领域驱动设计(DDD)是一种基于模型驱动的软件设计方式。它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题。Eric Ivans为领域驱动设计提出了大量的最佳实践和经验技巧。只有对领域的不断深入认识,才能得到一个解决领域核心问题的领域模型。如果一个应用的复杂性不... 阅读全文

posted @ 2015-05-10 16:58 netfocus 阅读(21309) 评论(53) 推荐(36) 编辑

2015年5月9日

摘要: 一年前,当我第一次开发完EQueue后,写过一篇文章介绍了其整体架构,做这个框架的背景,以及架构中的所有基本概念。通过那篇文章,大家可以对EQueue有一个基本的了解。经过了1年多的完善,EQueue无论是功能上还是成熟性上都完善了不少。所以,希望再写一篇文章,介绍一下EQueue的整体架构和关键特... 阅读全文

posted @ 2015-05-09 14:33 netfocus 阅读(7513) 评论(20) 推荐(11) 编辑

2015年5月6日

摘要: 问题背景Conference案例,是一个关于在线创建会议(类似QCon这种全球开发者大会)、在线管理会议位置信息、在线预订某个会议的位置的,这样一个系统。具体可以看微软的这个项目的主页:http://cqrsjourney.github.io。然后我们设计了一个Conference聚合根,对应领域中... 阅读全文

posted @ 2015-05-06 23:41 netfocus 阅读(3292) 评论(8) 推荐(11) 编辑

摘要: 之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题。后来找到了自己认为比较合理的解决方案,分享给大家。也希望能和大家交流,擦出更多的火花。论坛核心领域问题分析论坛领域的核心概念是:帖子、回复。大家都知道,一个帖子可以有零个或多个回复。对同一个帖子,不同... 阅读全文

posted @ 2015-05-06 00:41 netfocus 阅读(3244) 评论(30) 推荐(9) 编辑

2015年5月5日

摘要: 前言ENode是一个应用开发框架,为开发人员提供了一整套基于DDD+CQRS+ES+EDA架构风格的解决方案。ENode从发布1.0开始到现在的差不多两年时间,我几乎每周都在更新设计或实现代码。以至于从来没有一个稳定的版本可以提供给大家,非常惭愧。但我相信,随着时间的推移和我的努力的积累,ENode... 阅读全文

posted @ 2015-05-05 00:48 netfocus 阅读(12288) 评论(38) 推荐(46) 编辑

2015年4月24日

摘要: 出处:http://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-loggingError pages and error logging, both so elementary and yet so complex in ... 阅读全文

posted @ 2015-04-24 21:00 netfocus 阅读(996) 评论(1) 推荐(1) 编辑

2015年2月26日

摘要: public void TryAsyncActionRecursively( string asyncActionName, Func> asyncAction, Action mainAction, Action successAction, Func getCont... 阅读全文

posted @ 2015-02-26 15:25 netfocus 阅读(1155) 评论(1) 推荐(1) 编辑

2015年1月26日

摘要: CQRS架构,C端的职责是处理从上层发送过来的command。对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来。首先,我们最容易想到的是使用多线程。那当我们要处理一个command时,能直接丢到线程池中,直接交给线程池去调度吗?不行。因为假如多个... 阅读全文

posted @ 2015-01-26 00:24 netfocus 阅读(3859) 评论(11) 推荐(10) 编辑

2014年12月7日

摘要: 大家好,我叫汤雪华。我平时工作使用Java,业余时间喜欢用C#做点开源项目,如ENode, EQueue。我个人对DDD领域驱动设计、CQRS架构、事件溯源(Event Sourcing,简称ES)、事件驱动架构(EDA)这些领域比较感兴趣。我希望把自己所学的知识能否分享给大家,所以,把这个领域里的 阅读全文

posted @ 2014-12-07 22:53 netfocus 阅读(20623) 评论(55) 推荐(60) 编辑

2014年12月4日

摘要: 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。原文地址:http://www.cnblogs.com/jasondan/p/it-memo.html技术站点Hacker News:非常棒的针... 阅读全文

posted @ 2014-12-04 10:13 netfocus 阅读(6461) 评论(2) 推荐(11) 编辑

2014年11月10日

摘要: 1. cluster介绍大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算。所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行。随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0... 阅读全文

posted @ 2014-11-10 17:09 netfocus 阅读(16161) 评论(0) 推荐(2) 编辑

2014年10月28日

摘要: CQRS架构简介 前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺。对于这3点,我觉得很有道理。所以也想谈一下,CQRS架构下是如何实现高性能的。 关于CQRS(Command Query Responsibility Se 阅读全文

posted @ 2014-10-28 00:43 netfocus 阅读(35899) 评论(91) 推荐(84) 编辑

2014年9月14日

摘要: 一个软件最后都会落实到代码。而代码,其背后的架构设计或设计思想或模式固然重要,但我觉得更重要的东西则是良好的命名。混乱或错误的命名不仅让我们对代码难以理解,更糟糕的是,会误导我们的思维,导致对代码的理解完全错误。相反,良好的命名,则可以让我们的代码非常容易读懂,也能向读者正确表达事物以及逻辑的本质,... 阅读全文

posted @ 2014-09-14 00:29 netfocus 阅读(10019) 评论(75) 推荐(22) 编辑

2014年7月30日

摘要: you are unfamiliar with the subject area.you can read / understand the most fundamental aspects of the subject area.ability to implement small changes... 阅读全文

posted @ 2014-07-30 15:46 netfocus 阅读(2196) 评论(2) 推荐(0) 编辑