DDD CQRS架构和传统架构的优缺点比较
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析。先提前祝大家猴年新春快乐、万事如意、身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概念。我个人也写了一个ENode框架,专门用来实现这个架构。CQRS架构本身的思想其实非常简单,就是读 ...
C#高性能TCP服务的多种实现方式
本篇文章的主旨是使用 .NET/C# 实现 TCP 高性能服务的不同方式,包括但不限于如下内容:APM 方式,即 Asynchronous Programming Model;TAP 方式,即 Task-based Asynchronous Pattern;SAEA 方式,即 SocketAsync... ...
游戏服务端究竟解决了什么问题?
既然是游戏服务端程序员,那博客里至少还是得有一篇跟游戏服务端有关的文章,今天文章主题就关于游戏服务端。 ...
大型网站架构系列:分布式消息队列(一)
本文主要介绍消息队列概述,消息队列应用场景(异步处理,应用解耦,流量削锋,日志处理,消息通讯)和消息中间件示例(电商,日志系统)。 ...
C#与C++的发展历程第三 - C#5.0异步编程巅峰
系列文章目录1.C#与C++的发展历程第一 - 由C#3.0起2.C#与C++的发展历程第二 - C#4.0再接再厉3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰C#5.0作为第五个C#的重要版本,将异步编程的易用度推向一个新的高峰。通过新增的async和await关键字,几乎可以使... ...
注释是恶魔,请不要再写一行注释
你可以从你们现在项目里面随便找几处注释,看看写注释的代码是不是存在如下两种毛病之一:1. 命名不准确;2. 方法太长(超过50行)。如果你找到的代码没有出现上面两种毛病而注释依然存在,那你再看看这个注释是否有实际意义,是不是这个注释不要也无所谓呢。注释是恶魔这个观点可能你第一次看到,你可能很难接受,... ...
Git 在团队中的最佳实践--如何正确使用Git Flow
Git是目前最好的代码管理方式,给团队协作带了极大的方便,本文主要讲如何正确的在团队中使用Git, 从而发挥Git的优势,自从使用Gitflow后,客户满意度大大提高,甚至是在项目Proposal阶段就能体现出我们比较成熟的项目管理 ...
函数调用中堆栈的个人理解
这是我的第一篇博客,由于公司项目需要,将暂时告别C语言一段时间。所以在此记录一下自己之前学习C语言的一些心得体会,希望可以分享给大家,也可以记录下自己学习过程中遇到的问题以及存在的疑惑(其实就是自己学习过程中不解的地方)。好了,废话不多说,开始微博内容了,O(∩_∩)O哈哈~ 接下来将通过... ...
干货分享:让你分分钟学会 javascript 闭包
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包! 闭包,一睹为快 在接触一个新技术的时候,我首先会 ...
猫哥网络编程系列:HTTP PEM 万能调试法
注:本文内容较长且细节较多,建议先收藏再阅读,原文将在Github 上维护与更新。在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题:为什么本地环境接口可以调用成功,但放到手机上就跑不起来?这个接口很复杂,内部调用了好几个其他接口,如何定位问题究竟出在哪一步?后端开发还没有把接口提供好,... ...
不懂程序看的明白《黑客帝国》吗?
十多年后又看了遍《黑客帝国》,扯点和程序有关的非技术话题。 前段时间出差周末没事就在酒店又把黑客帝国重温了一遍,不看不要紧,十年后再看发现以前对这部电影的理解完全错了。 《黑客1》是 1999 年出的,我还在读高中,第一次看还在学校附近的录像厅,枪版。 整个画面黑漆漆的,看了不到半... ...
python自动化测试(2)-自动化基本技术原理
python自动化测试(2) 自动化基本技术原理 1 概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据。 掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西。 PS: 本文已经收入合集:《 ...
架构之路(六):把框架拉出来
前面的几篇博客反响还不错,但还有一个硬伤,“说了这么多理论,能不能实践?”讲类似概念的文章不算多,但也不少了,但我一直没能从中收获太多的东西,反而更是云里雾里的糊涂了。估计这主要是两方面的原因造成的:我智商低,却爱较真!你说得得天花乱坠,我只信一点,眼见为实,“是骡子是马,牵出来溜溜?”按照你说的架... ...
视错觉:从一个看似简单的自定义控件说起
为什么要写今天这篇博客那就说来话长了,那是在一个大雪纷飞的冬天……然后……。好了,不扯淡了,直接进入今天的主题吧,这篇博客是关于iOS自定义组件的东西。一些UI效果看起来似乎是这个样子,其实本质不是这个样子。在做一些UI效果时我们可以利用视错觉的一些东西,让用户看到的是一个东西,其实你实现的又是一个 ...
nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
因为Node Js使用的也是V8引擎,所以改造浏览器去兼容Node Js,同时再根据桌面窗口的特性去扩展些API出来,从技术上讲小团队也是可以实现的。前端开发者也很容易加入到桌面软件开发的大潮中。同样一款应用,web端和桌面端可以共享一套设计和交互,甚至是同样的HTML和CSS以及负责交互的Java... ...
对抗拖库 —— Web 前端慢加密
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破。但在密码学中则不同。算法越快,越容易破。 0x01 暴力破解 密码破解(严格地说应该是账号口令的破解),就是把散列值还原成明文口令。这貌似有不 ...