自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 决定软件质量的三个方面

万物之始,大道至简,衍化至繁。软件质量问题的出现为了支持业务的快速发展,我们优先完成功能的开发,代码质量经常会被抛下,为此我们逐渐积累了技术债务。之所以称之为债务,是因为其减少了本次开发...

2020-04-19 21:57:40 2348

原创 表达的逻辑

我不是福尔摩斯,请不要让我推理你想表达什么东西事物的能力存在上限距离基站越远,手机收到的信号越弱。氢原子束缚了1个电子,但他没办法稳定地吸引更多的电子。太阳束缚住了八大行星,但他没办...

2020-04-06 22:05:23 303

原创 基于优先级配置矩阵的套餐系统

在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。有限的因变量与自由发挥的自变量先设定一下业务场景,假设我们要做电话套餐系统。一个电...

2020-01-06 00:36:20 315

原创 谈复用的成本与中台的建设

今晚准备在家做饭,但少了一把菜刀,你会问邻居家借么?复用的成本DRY原则(Don’t Repeat Yourself)相信每一位程序员都应该知道。其指代的是我们写程序时,不要一遍又一遍地编写相似的代码。当出现某些相似功能的代码时,我们应该将通用部分代码与特异部分代码分离,以达到复用通用代码,降低整体复杂度的目的。按照我的理解里,一个好的程序,压缩率应该接近于0,没有任何可以精简的部分(变...

2019-11-29 16:39:56 271 1

原创 BUG的增殖指南

BUG(学名:缺陷),喜阴,容易在人类关注不到的角落繁殖,喜欢自由任性的开发流程,在规范、流程严格的环境中较难生存。BUG初生期BUG随着系统诞生而诞生...

2019-11-10 17:08:45 179

原创 从分而治之的思想到架构的设计

辛巴当上了国王,他究竟要怎样才能管理好它的王国?分治与总量控制在上一篇文章里,我们得到两个信息:人类大脑的信息实时处理能力存在上限软件系统的复杂度远超人...

2019-09-01 22:39:28 234

原创 编程杂谈:从人类与软件系统的根本矛盾说起

在纷繁复杂的概念满天飞舞的软件编程领域,希望能分享自己整理的一些观点,帮助大家穿透迷雾,看清问题以及解决方案的本质。人类认知能力上限有一个说法:人的短时记忆广度平均数为7,即大多数人一次最多只能记忆7个独立的块(Magic number 7)。有另外一个说法:当需要根据短时记忆进行信息加工时,一个成年人能处理的块的个数是4左右(Working memory)。这些说法不一定完全正确,但我...

2019-07-29 09:19:43 140

原创 编程杂谈:从人类与软件系统的根本矛盾说起

在纷繁复杂的概念满天飞舞的软件编程领域,希望能分享自己整理的一些观点,帮助大家穿透迷雾,看清问题以及解决方案的本质。人类认知能力上限有一个说法:人的短时...

2019-07-29 00:04:37 189

原创 码农故事:Tina的运动会方阵哲学

自从接到任务后,Tina一直 烦恼着如何让这群繁忙又缺乏才艺的程序员在运动会开幕式上做出一个有趣的方阵表演。接到了运动会的方阵表演的任务时间回到1个月前...

2019-06-24 00:37:12 202

原创 多维扩展点的思考与设计——解决渠道、产品增加引发的腐化问题

随着业务渠道及产品的增加,你的代码是否开始陷入IF-ELSE组成的泥潭,难以脱身?### 持续增加的渠道特性小码同学一来到新公司,就负责起了一个新开始,但具有无限想象空间的后台开发项目。就像所有的互联网项目一样,业务变化极其迅速,为了减少初期试错成本,小码同学选用了流行、便捷的贫血模型,也就是Service+DAO/RPC结构,做了简单的关注点分离——业务以及基础设施(存储/远程服务)的分离。...

2019-06-09 21:59:42 599

原创 分布式事务框架Seata及EasyTransaction架构的比对思考

本文将会对比Seata与EasyTransaction两个分布式事务的一些高层设计,以供大家选型参考。Seata的概述Seata(曾用名Fescar,开源版本GTS)是阿里的开源分布式事务框架,其RoadMap中指出了其希望与社区合作重新构建出一个全面的分布式事务框架。关于Seata的相关介绍可以看这里,本文不再赘述。虽然其后续路线有所调整,但整体适用。https://github.com...

2019-04-06 18:19:42 1122

原创 分布式事务框架Seata及EasyTransaction架构深度分析

本文将会对比Seata与EasyTransaction两个分布式事务的一些高层设计,以供大家选型参考。Seata的概述Seata(曾用名Fescar,开...

2019-04-06 18:03:48 447

原创 设计,架构,框架之间是什么关系?

设计(design)、架构(architechure)、框架 (framework)之间是个什么关系?请描述一下?每个人都在进行设计在探讨题目问题之前,我们从设计开始聊聊。其实我们每个人都在做设计,无论我们是在哪个行业,哪个层次,哪个职位。画家作画时会画草图做设计作家写作时会列提纲做设计程序员编码时会写伪代码做设计清洁工扫地时会在脑海里设计扫地的执行路径设计有大有小对于软件...

2019-01-02 08:41:05 474

原创 设计 VS 架构 VS 框架

设计(design)、架构(architechure)、框架 (framework)之间是个什么关系?请描述一下?每个人都在进行设计在探讨题目问题之前,...

2019-01-01 22:34:39 130

原创 你知道如何画好一幅架构图么?

用一分钟时间,你能在脑海里构造一幅你最熟悉的系统的架构图么?先别往下看,自己先想象下。混乱的架构图不知道你想象中的软件架构图是怎样的,但我猜想大家画的应...

2018-12-17 00:10:21 183

原创 "若干分布式事务框架的设计”与“我的偏见”

本文来谈谈我对若干分布式事务框架的看法,只谈设计时导致无法轻易改变的硬伤(或者说我的偏见),其优点应该已表现在其文档中,不再赘述。至于我的偏见能不能成为你的偏见,请自行思考核实,仅供大家选型时开拓思路使用。靶子以下我略有了解的框架将成为靶子:TransactionsEssentials(atomikos免费版)tcc-transactionByteTCChmilytx-lcnG...

2018-11-30 12:50:27 260

原创 “若干分布式事务框架”与“偏见”

本文来谈谈我对若干分布式事务框架的看法,只谈设计时导致无法轻易改变的硬伤(或者说我的偏见),其优点应该已表现在其文档中,不再赘述。至于我的偏见能不能成为...

2018-11-30 00:11:27 168

原创 一个应用接口被兼职引发的血案

嗯,没错,这是一个讲单一职责原则的故事。如果你也用SpringBoot Actuator的话,你更要认真看噢。午夜追魂CALL小二同学隐隐约约听到手机在...

2018-11-04 21:08:49 241

原创 那个不管“万一”的程序员后来怎么样了?

不怕一万,只怕万一呀,朋友。“这个情况很极端肯定不会遇到,不管了”从前,有个程序员叫小明,他在开发一个股票的投资组合功能。这个功能简单的来说,就是一个投...

2018-10-31 00:38:55 178

原创 《领域驱动设计》速读之一:领域驱动开发的基本概念及目标

今天再看了一遍《领域驱动设计》这本书,感觉还是有不少收获,打算做个系列,先跟大家分享书中第一部分的内容:领域驱动开发的基本目标。零、太长不看版本领域驱动...

2018-10-28 12:00:03 300

原创 罗生门:一个简单查询实现引发的思考

站在不同的角度看待同一个问题,会得出不同的结论。对于程序的实现也一样。一、查询功能实现的罗生门不久前公司遇到一个场景,也是微服务状态下肯定会遇到的一个场...

2018-10-21 23:12:07 200

转载 记一次校园招聘

最近参加了一次校园招聘,第一次正儿八经地做了两天面试官,回顾总结一下学习到的东西。当然了,这些知识社招也适用。一、使用STAR法则成为入门级面试官校招出...

2018-10-16 00:01:21 145

原创 Service mesh理念及其Istio实现初析

问题的出现微服务的出现使得各个业务模块可以独立演进的同时也带来了很多复杂度。从业务开发来说:业务服务程序需要引入更多的组件,增加学习负担及开发工作量服务...

2018-10-09 21:07:47 238

原创 如何选择分布式事务形态(TCC、SAGA、补偿、基于消息的最终一致等等)

各种形态的分布式事务分布式事务有多种主流形态,包括:基于消息实现的分布式事务基于补偿实现的分布式事务基于TCC实现的分布式事务基于SAGA实现的分布式事务基于2PC实现的分布式事务这些形态的原理已经在很多文章中进行了剖析,用“分布式事务”关键字就能搜到对应的文章,本文不再赘述这些形态的原理,并将重点放在如何根据业务选择对应的分布式事务形态上。何时选择单机事务?这个相信大家都很...

2018-09-25 09:10:28 8556 5

原创 图数据库比关系数据库更先进么?

传闻中的图数据库最近老是听到图数据库,说其有很多用处,例如:智能问答反欺诈反洗钱智能推荐......也听到有同事表示,图数据库可以做到关系数据库可以做到...

2018-08-16 18:00:30 374 1

转载 Burst Link—脑加速开始!

嗯,本文是教你如何跟小雪同学一样进入脑加速状态的。方法就是跟着我喊——Burst Link!给没看过加速世界的童鞋描述下背景。在未来,人类发明脑机接口,...

2017-10-22 22:59:58 1372

转载 缓存穿透减伤神器——BloomFilter

一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果恶意攻击者大量构造不存在的key的请求访问我...

2017-10-08 20:54:52 118

转载 如何理解CAP

CAP大家都知道,分别指代 Consistency,Availability,Partition tolerance。CAP therom就是说 Co...

2016-03-16 23:08:37 129

Dom视频笔记

Dom的一些视频笔记,重要的事件的用法等

2011-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除