摘要:
前言 简单说自己理解的洋葱模型。 正文 先来看一个洋葱模型: 这个是ddd的洋葱模型。 我们看到最里面的是domain model。 为什么里面是domain model呢? 领域模型 domain model 是做什么的,是实现我们业务逻辑模型的,这个重中之重。 然后看domain service 阅读全文
摘要:
前言 最近写一些底层一些的东西,简单回顾一下环境变量. 正文 首先我们来看下c 语言的环境变量的位置。 可以看到每个进程都有自己的环境变量,操作系统会复制环境变量的副本给一个新创建的进程。 那么这个副本哪里来呢? 是操作系统自己维护一份在内存中吗?那不是,因为操作系统中进程有亲属关系。具体来说,操作 阅读全文
摘要:
前言 在默认环境下,mysql 是可重复读,为什么默认可重复读呢? 一般情况下感觉读可提交就行,可重复读解决幻读的问题,但是大多情况下没有幻读的问题,所以也没有必要可重复读。 那么为什么mysql 要把默认配置设置为可重复读呢? 正文 历史原因: 这种图,如果是在可提交读的情况下,会发生什么呢? 当 阅读全文
摘要:
前言 这个不用多说,两种重要的日志分别是redo log 和 binlog,这两种,下面分别来结束。 正文 先来redo log, redo log 是inno db 引擎特有的,运用了一种wal 技术,全称是: write-ahead logging. 它的关键点就是先写日志,再写磁盘,也就是先写 阅读全文
摘要:
前言 比较一下唯一索引和普通索引的区别。 如果有一列数据唯一,这个时候是否是就直接设置唯一索引,这样可以避免插入重复的值,来实现业务需求。 那么唯一索引是如何保持唯一的呢?这个对性能是否有影响。 正文 数据库我们知道是增删改查。 那么首先来看下这个查,唯一索引是如何查数据的呢? select id 阅读全文
摘要:
前言 什么是幻读?幻读这个概念产生是因为事物隔离级别可重复读需要解决的一个问题。 可重复读,顾名思义,就是一个事物中多次读取的结果是一致的。 那其中就包含两个需要解决的问题: 虚读: 对同一行数据,每次读取的不一致。具体表现为T1读取某一数据后,当T2进行了修改,然后T1再次读该数据的时候与上一次读 阅读全文
摘要:
SQL中的索引分为两种,一种为聚集索引和非聚集索引,下面介绍两者的异同。 一、聚集索引与非聚集索引: 1、聚集索引: 聚集索引的意思可以理解为顺序排列,比如一个主键自增的表即为聚集索引,即id为1的存在于第一条,id为2的存在于第二条...假使数据库中是使用数组来存放的这张表中的数据,那么如果我需要 阅读全文
摘要:
前言 关于本地测试如何进行Fake权限验证 正文 在我们使用swagger调试本地接口的时候,我们常常因为每次需要填写token而耽误工作,不可能每次调试的时候都去本地测试环境请求一个token进行验证吧。 上图可能是我们本地测试的时候需要填写的一个token位置,本地测试不方便。 那么怎么伪造权限 阅读全文
摘要:
前言 对aop进行一个阶段性的总结。 正文 首先什么是aop呢? 那么首先看aop的解决什么样的问题。 public class Program { public static void Main(string[] args) { } public void ChangePosition1() { 阅读全文
摘要:
前言 闲暇之余,简单写一个eventbus。 正文 什么是eventbus? eventbus 是一个开源的发布订阅模式的框架,用于简化程序间不同组件的通信。 它允许不同组件间松耦合通信,组件之间不通过直接引用的方式,而是事件的方式进行消息传递。 下面进行代码演示: 首先是发布订阅,那么就应该有发布 阅读全文