概述 本文档基项目中的StrategyRegistry实现,深入分析从传统if-else条件判断到现代策略注册表模式的演进过程。 演进历程 第一阶段:简单if-else(史前...

概述 本文档基项目中的StrategyRegistry实现,深入分析从传统if-else条件判断到现代策略注册表模式的演进过程。 演进历程 第一阶段:简单if-else(史前...
概述 文档基于项目中的实际代码实现,对比分析CQRS(Command Query Responsibility Segregation)模式与传统模式的差异。通过具体的代码示...
1、背景 这两年是在一家税务公司,业务主要与发票相关联,其中涉及本地发票文件的OCR识别与不同格式文件内容提取,我这边负责了OFD本地文件提取的实现,使用相对应依赖解析数据后...
一、代码的可读性 1.1、命名 命名随处可见,给变量、函数、参数、类和封包命名。应遵循规范文档的命名规范,并且一旦发现有更好的名称,就换掉旧的。这么做,你和读你代码的人都会更...
1、编程规范 本篇规范基于阿里巴巴、华为的开发手册,在此之上进行归纳整理,欢迎共同改进该规范。 1.1、命名规范 命名的关键是能准确达意 ,减少不必要的英文缩写,拼音简写 项...
前言 研发中有一些操作需要用到了异步调用,但是传递request的时候生命周期会提前结束,导致传递参数获取不到 示例 创建decorator 配置线程池
在软件开发领域,「异地多活」是分布式系统架构设计的一座高峰,很多人经常听过它,但很少人理解其中的原理。 异地多活到底是什么? 为什么需要异地多活? 它到底解决了什么问题? 究...
1、Junit 单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。JUnit 5由三个不同子项目中的几个不同模块组成 JUnit P...
说明 ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL...
安装mysql 验证 配置远程连接 注释掉bind-address=127.0.0.1 登录到数据库修改远程连接用户 重启mysql
1、MGR说明 MGR全称MySQL Group Replication(Mysql组复制),是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MG...
1、说明 pt-archiver 是 percona-toolkit 高级命令行工具集中的一种,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步...
1、漏洞复现 登入rabbimq-management 管理界面,f12打开开发者工具,在network一项捕获请求,请求头中的Cookie值为base64 加密密文,可以使...
说明 复制集合通过多分冗余的数据,实现数据库的高可用性;mongodb原生支持复制集,通过内部的Oplog实现节点之间的数据同步功能;复制集是组成更大分片集群的基础单元,在一...
说明 sysbench 支持多种基准测试工作负载:fileio、cpu、内存、线程、互斥锁、oltp,甚至MySQL基准测试,测试过程一般分为三个阶段: prepare:准备...
理解“金丝雀发布”定义 金丝雀发布在国内也经常被叫做灰度发布。下文将使用”金丝雀发布“这一术语。 金丝雀发布是发布模式的一种。“发布”是什么意思?发布:即宣布,发表。有向外公...
CFR软件不同的维度 除了业务需求的变化,还有这些非功能性需求的变化https://en.wikipedia.org/wiki/List_of_system_quality_...
聚合根、实体和值对象 实体有ID标识,有生命周期,有状态(用值对象来描述状态),实体通过ID进行区分聚合根是实体,聚合根的ID全局唯一标识,聚合根下面的实体的ID在聚合根内唯...