DDD领域驱动设计实战
DDD1-课程介绍互联网大厂的蔚来架构之道DDD领域驱动设计 实战
阿里ddd: cola
DDD天生就适合微服务的这种方式
阿里中台的概念
很多企业发现在践行中台的战略中遇到很多问题
提升软件质量
起步DDD是一个庞大的理论体系,如何落地是一个问题,而不像微服务体系或者MVC架构有这么多框架
很多大厂是用这种小型的项目用DDD来进行推广
DDD要求于具体的技术无关的
目录
技术学起来很快,想要与众不同,就需要你的软实力,这种软实力的提升就是比较虚的
DDD适合贯穿于你的整个体系
P22.
DDD2-什么是DDD 17:40
啥时DDD
NoSql: redis mongodb hbase
nosql概念是这个作者提出来的
软件设计的复杂性,要复杂才能适合ddd
不如在进行权限控制的时候,我们就会简历RBAC
,通过角色来简历权限控制,就是一种ddd
实现领域驱动设计
DDD3-系统老化谁的锅 11:28
什么是系统老化迭代时间很长的项目
比如一个项目迭代了10多年
系统老化
人员变更,
新的人员如何去理解业务需求
文档一般还是跟不上的
重构否??? 重构了没 ...
Kafka速度快的原因
读写2方面:
写: tv_發財 1. 顺序存储:
- 顺序写入,去掉了比较耗费时间的磁盘寻址的过程,这个磁盘的顺序读写速度甚至超过内存的随机读写
- 顺序写入,jvm的GC效率低,内存占用大, 使用磁盘可以避免这个问题,相比(在内存中操作)
- 顺序写入,系统冷启动后,磁盘缓存依然可用 (linux对于磁盘的读写也有优化,比如磁盘缓存)
不删除数据:后的2种策略:
- 顺序写入一是基于时间。
- 顺序写入二是基于partition文件大小。
2. 分页存储:
- 数据写入不实时,利用现代操作系统的分页存储来利用内存提高IO效率.
Memory Mapped Files(后面简称mmap)也被翻译成 内存映射文件 ,在64位操作系统中一般可以表示
20G的数据文件,它的工作原理是直接利用操作系统的Page来实现文件到物理内存的直接映射。` 完成映射之后你对物 ...
The Plan Of Java Training
Go
完成度
01.第一阶段 开源框架源码解析(完结)
–> 01.模块一 持久层框架设计及MyBatis源码分析,课件
2021/5/18
–>–> 01.任务一:自定义持久层框架
85
2021/5/19
–>–> 02.任务二:MyBatis基础回顾及高级应用
85
2021/5/20
–>–> 03.任务三:MyBatis源码剖析
35
2021/5/21
–>–> 04.任务四:模块作业
15
2021/5/22
–>–> 05.直播答疑回放
0
2021/5/23
–>–> 选修:MyBatis-Plus应用
65
13/30
2021/5/23
–> 02.模块二 IoC容器设计实现及Spring源码分析,课件
0
–>–> 00.课程资料
0
–>–> 01.任务一:自定义IoC&AOP框架
5/14
2021/5/24
–>–> 02.任务二:Sprin ...
python实现猴子爬山算法
猴子爬山一只顽猴在一座有N级台阶的小山上爬山跳跃。上山时需从山脚至山顶往上跳N级台阶,一步可跳1级,或跳3级,求上山有多少种不同的跳法? (N<50)
问题分析:
每一次都可以选择1,2,3有3种跳法
直接使用递归
123456789101112131415161718192021jumpWay = [1, 3]footstep = int(input())jumping = 0#first writedef jump(nowstep, footstep, jumpWay): if nowstep == footstep: global jumping jumping += 1 return elif nowstep > footstep: return else: for i in range(len(jumpWay)): jump(nowstep + jumpWay[i], footstep, jumpWay)jump(0, footstep, jumpWay ...
面试题大全
数据库相关
MySQL索引原理以及查询优化
MySQL索引的理解
栈中的方法peek()和pop()的比较
interviewApacheDubbo
dubbo服务相关面试题
简述dubbo的spi思想CAS
谈一谈对CAS的理解containerdata_algorithm
HashMap为什么是线程不安全
八皇后问题
如何衡量程序运行的效率?
快速排序算法面试题解析
找出不重复的整数
求中位数design_pattern
DDD面试题解析
代理模式面试题详解
你真的了解单例模式吗
空对象设计模式distributed_theory
什么是缓存雪崩_服务器雪崩的场景与解决方案
从单体架构_到SOA_再到微服务的架构设计详解
分布式Session共享的4类技术方案_与优劣势比较
分布式事务面试题解析
分布式数据库数据一致性的原理与技术实现方案
分布式服务接口的幂等性面试题详解
分布式锁的几种实现方式
谈谈分布式事务相关的一致性与实战解决方案docker
说一下你对docker的了解ES
es在数据量很大的情况下_数十亿级别_如何提高查询效率
ES的数据读取过程以及文档读写原理大致分析 ...
SpringBoot解决方案
配置文件优先级1. 项目内部配置文件spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
1234 –file:./config/ –file:./ –classpath:/config/ –classpath:/
以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。
SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件不冲突的属性,则会共同存在—互补配置。
我们也可以通过配置spring.config.location来改变默认配置。
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –spring.config.location=file:///D:/application.properties,classpath:/,classpath:/conf ...
Python实现Hexo工具
写在前面本工具是通过Python脚本实现 Hexo 自动 生成 执行 编译 发布的功能
你可以在这里下载exe
使用1. exe下载
将exe文件放在你的任意文件夹中
2. file.md创建 名为file.md的文件,在你要写book的目录下
注意: 这里file.md文件名不可更改
3. 编辑文件内容类似这样
123401_JVM内存与垃概述.md02_如何看术与JVM.md03_为什学习JVM.md04_面课程特点.md
4. 运行hexo-tools-21.4.20.exe
hexo-tools-21.4.21.exe
5. 执行1:生成md运行这条选项会根据file.md每行的文本生成对应文件
并且在每个文件中自动加入 一级标题
123456789---title: "qwfp576"date: 2021-4-18cover: "/img/lynk/55.jpg"author: "victor"---# qwfp576
3.这步相当于
在终端直接敲
123hexo cleanhexo ghexo s ...
Python实现GitBook工具
写在前面本工具是通过Python脚本实现 GitBook 自动 生成 执行 编译 发布的功能
你可以在这里下载exe
使用1. exe下载,并移动位置
将exe文件放在你的任意文件夹中
2. file.md创建 名为file.md的文件,在你要写book的目录下
注意: 这里file.md文件名不可更改
3. 编辑文件内容类似这样
123401_JVM内存与垃概述.md02_如何看术与JVM.md03_为什学习JVM.md04_面课程特点.md
4. 运行gitbook-tools-21.4.18.exe
gitbook-tools-21.4.23.exe
5. 执行1:生成md运行这条选项会根据file.md每行的文本生成对应文件
并且在每个文件中自动加入 一级标题
现在就可以编写主要内容了
2: 转换SUMMARY执行这条命令会根据file.md每行的文本生成
目录格式的 SUMMARY.md
生成后的文件如下
如果你可以自己写SUMMARY,这步可以忽略
3. 编译build这步相当于
在终端直接敲
1gitbook build
不同的是,如果你没有README ...
MySQL极客时间45讲
01.基础架构:一条SQL查询语句是如何执行的?02.日志系统:一条SQL更新语句是如何执行的?03.事务隔离:为什么你改了我还看不见?04.深入浅出索引_上_05.深入浅出索引_下_06.全局锁和表锁 :给表加个字段怎么有这么多阻碍?07.行锁功过:怎么减少行锁对性能的影响?08.事务到底是隔离的还是不隔离的?09.普通索引和唯一索引_应该怎么选择?普通索引:
唯一索引:
普通索引在进行新增的时候不需要进行 重复的判断,而唯一索引需要
在查询的时候,唯一索引只需要查询到对应的值(从B+Tree的根节点一路下来)
如果是普通索引,在一个inooDB的一个页中,恰巧这条记录是本页的最后一条,则又需要进行一次IO来判断下一个inooDB页的第一个值等不等与要查询的值,但是对于inooDB来说,这种一页1000个索引的数据量,这个可能性会被CPU的速度认为忽略不计
10.MySQL为什么有时候会选错索引?11.怎么给字符串字段加索引?12.为什么我的MySQL会_抖_一下?13.为什么表数据删掉一半_表文件大小不变?14.count(×)这么慢_我该怎么办?15.答疑文章_一_:日志和索 ...
MySQL的索引与优化
写在前面:TO KNOW
MySQL索引定义
MySQL索引结构
MySQL索引优势
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页,需要读取10^4个页面,如果这10^4个页面在磁盘上下随机分布,需要需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要100s(但实际上要好很多很多).如果对之建立B-Tree索引,则只需要进行log100(10^6)=3次页面读取,最坏情况下耗时30ms.这就是索引带来的效果,很多时候,当你的应用程序进行SQL查询速度很慢时,应该想想是否可以建索引.进入正题:
索引与优化1. 选择索引的数据类型MySQL支持很多数据类型,选择合适的数据类型存储数据对性能有很大影响.
通常来说,可以遵循以下一些指导原则:
越小的数据类型通常更好:越小的数据类型通常在磁盘,内存和CPU缓存中都需要更少的空间,处理起来更快.
简单的数 ...