架构 规格 笔记gic

领域驱动设计(DDD)架构演进和典型架构介绍

我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一、专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-service PAAS:平台服务,Platform-as-a-service SAAS:软件服务,S ......
架构 典型 领域 DDD

NTT笔记

NTT 笔记 前言: 这个算法是与FFT 类似的,本片不会再从头讲起,建议先去补补课《FFT 笔记》。 本文只会讲一下互相关联的地方与一些不同的地方。 建议:在电脑前放好演算纸和笔。 注:本篇文章是我这个小蒟弱写的,真正的dalao请看个玩笑便好,不必争论对错(但是欢迎指出文章存在的小错误)。 NT ......
笔记 NTT

科目一考试一次必过的踩坑笔记 All In One

科目一考试一次必过的踩坑笔记 All In One 驾校和考场都不给你说的考试秘密,在这里我完全免费的分享给大家了! 经验教训 考前刷题模拟考试题一定要达到90分以上,才有可能保证一次考过! 共100 题,考试时间 45 分钟,不要着急,仔细看清楚每一题的题目描述和选项描述,注意有些陷阱题(这种题出 ......
科目 笔记 All One In

「学习笔记」可持久化线段树

可持久化数据结构 (Persistent data structure) 总是可以保留每一个历史版本,并且支持操作的不可变特性 (immutable)。 主席树全称是可持久化权值线段树,给定 $n$ 个整数构成的序列 $a$,将对于指定的闭区间 $\left[l, r\right]$ 查询其区间内的 ......
线段 笔记

STL源码分析读书笔记

主要是关于标准库容器的整理 空间配置器 主要看SGI的实现,有两个空间配置器 _malloc_alloc_template<0> __default_alloc_template<...> 用户可以选择单独使用第一个分配器,或者一起使用两个分配器。 当用户选择使用两个分配器时,编译器会分别将上述两个 ......
源码 笔记 STL

23.3.20前笔记

输入输出 document.write():如果输出的内容是标签,也会被解析成网页元素 例:document.write('<h1>标题</h1>') 关于Var 现在基本不使用Var作为变量声明了,基本使用let,const const常量,声明后不允许改变,并且声明时必须初始化 模板字符串 le ......
笔记 23 20

23.4.24前学习笔记

可通过document.documentElement.scrollTop=0控制返回页面顶部 scrollTo方法 window.scrollTo(x,y)//控制页面移动到哪 页面尺寸事件 window.addEventListener('resize',function(){ //改变屏幕尺寸 ......
笔记 23 24

Java学习笔记(九)

1、代理模式的概念 可以为其它对象提供一种代理以控制对这个对象的访问,屏蔽对真实角色的直接访问。 2、为什么要重写toString()方法? 默认情况下,toString()方法返回的字符串是由对象的类名、“@”符号和对象的哈希码组成的。我们需要重写toString()方法,以便返回更有意义和有用的 ......
笔记 Java

vue-esign 学习笔记

1 注意事项 最新版是1.1.4,我们项目组用的是1.1.0。从npmjs可以看出,两个版本中间的版本都是不可用的,下载量为0. 除此之外还可以参考的类似工具: https://www.npmjs.com/package/vue-esignature vue-esignature https://w ......
vue-esign 笔记 esign vue

生成函数学习笔记

概念 序列的母函数(生成函数)是一种形式幂级数。其每一项的系数可以提供关于这个序列的信息,使用母函数解决问题。 如:序列 $a$ 的生成函数为 $G(x)=\sum\limits_{i=1}^{n}a_if_i(x)$。其中 $f_i(x)$ 是无实际意义的,具体取值看题目要求。但有一些一般取值。 ......
函数 笔记

莫队学习笔记

概念 莫队是一种幽雅的暴力。用于处理区间问题。 核心思想就是把询问离线下来,然后维护双指针按一定顺序处理每个询问。精髓就在于一定顺序。 首先确定一个块长,然后将左端点的位置除以块长,把询问分成若干块。在每个块里按右端点排序。发现当块长为 $\sqrt n$ 时两个指针各移动 $n\sqrt n$ 次 ......
笔记

线性基学习笔记

概念 线性基是一个集合。 从原集合中选取任意数都能通过线性基中的数异或得到。 本质上是对集合的压缩 性质 所有数字没有最高位相同的 集合大小为 $\log_2$ 级别。 操作 排查:若线性基内有最高位相等的,让其相异或,并继续排查直到没有可操作的数。 若原集合内有 $0$ 线性基无法实现。 实现 v ......
线性 笔记

网络流学习笔记

概念 最大流: 在一个网络图上,每个边有流量限制,假如起始点有无线流量,求最多能有多少流量流到终点。 增广路: 一条从起始点到终点了路径,可以流流量。 算法 Ford-Fulkerson算法 解决这个问题,可以用Ford-Fulkerson算法。 该算法的核心就是寻找增广路。每找到一条增广路,就给它 ......
笔记 网络

点分治学习笔记

概念 点分治用于解决有一定要求的链的计数。 对于点 $u$ 的子树的问题,可以将答案分为: 经过点 $u$ 不经过点 $u$ 第一种可以用桶加暴力。枚举一端的长度,用桶计算另一端长度;第二种分到子树中解决即可。 注意到,在随机选根的时候该算法表现不优秀,但若根为重心,因为每次子树大小都减少一半,所以 ......
笔记

后缀数组学习笔记

概念 后缀数组,即对于一个串,它的每个后缀按字典序排序后得到的数组。 有两个数组要求: $SA_i$:排名为 $i$ 的后缀的开头位置 $RK_i$:以 $i$ 为开头的后缀的排名 朴素 sort排序一下 优化 倍增优化:我们进行 $\log n$ 次排序,第 $k$ 次取所有后缀的前 $2^k$ ......
数组 后缀 笔记

学习笔记:数位dp

1.基本模型 数位dp,即以数的每一位作为状态进行dp的算法。通常状态为 $f_{i,0-9}$ 表示第 $i$ 为取 $0-9$ 时的dp值。通常时间复杂度为 $log_{10}n$ ,十分优秀。 2.套路 求区间合法类的题,使用容斥思想思想求解,即 $[1,r]-[1,l-1]$ dp式子一般很 ......
数位 笔记

树链剖分学习笔记

一棵树,支持: 路径加 单点查询 一般树上链的问题使用树链剖分解决。 重链剖分 前置知识 LCA,线段树 定义 重儿子:所有儿子中子树最大的儿子为重儿子 重边:重儿子之间的连边 重链:若干重儿子连成的链 性质 一棵树可以被剖成若干重链。 优先遍历重儿子,所有重链的dfs序连续。 重链数量不多于 $\ ......
笔记

学习笔记:矩阵快速幂

1.矩阵乘法 设矩阵有 $H$ 行,$L$ 列,则两个矩阵 $MatA,MatB$ 进行乘法,需要满足 $MatA.L=MatB.H$。则结果矩阵 $MatR_{i,j}=\sum\limits^{n}{z=1}MatA{i,z}*MatB_{z,j}$。 性质: 结合律,但不满足交换律。 mat ......
矩阵 笔记

拉格朗日插值学习笔记

拉格朗日插值学习笔记 概念 拉格朗日插值用于拟合一个函数。可以通过已知函数中的点拟合出函数。若为 $n$ 次函数,则需要多于 $n+1$ 个点。 做法 考虑构造 $n+1$ 个函数,第 $i$ 个函数 $f_i$ 对应点 $i$ 满足 $f_i(X_i)=Y_i$ 且对于其他的点 $j(i\neq ......
笔记

FFT&NTT学习笔记

概念 多项式乘法时,我们发现暴力乘十分缓慢,但是点值乘十分快速。考虑求 $A$ 和 $B$ 的卷积。 一个 $n$ 次多项式可以被 $n+1$ 个点确定。 设多项式 $A(x)$ 的系数为 $(a_0,a_1,\cdots,a_n)$ 对其奇偶分类得 $A(x)=\sum\limits a_{2i} ......
笔记 FFT amp NTT

ASN.1笔记——标准编码规则BER

1. 基本规则 BER(BasicEncoding Rules)是ASN.1中最早定义的编码规则,其他编码规则是在BER的基础上添加新的规则构成。 BER传输语法的格式一直是TLV三元组<Type,Length, Value>. T是Tag,L是整个类型的长度,V是类型的Value,它还可以是TLV ......
编码 规则 笔记 标准 ASN

RocketMQ笔记(五):搭建RocketMQ运行环境

详细部署方式可以参考官网:官网RocketMQ部署方式。 一、环境准备 1.1、JDK环境准备 详情参考:Linux搭建JDK环境。 1.2、RocketMQ准备 1、下载RocketMQ 下载RocketMQ地址:rocketmq-all-4.7.1-bin-release.zip。 2、将Roc ......
RocketMQ 环境 笔记

25 17|通用技能(下):架构师如何保障交付与沉淀知识?

你好,我是郭东白。架构师在架构活动中主要有四个作用,分别是建设共识、控制风险、保障交付和沉淀知识。上节课我们讲了前两个,这节课就来讲保障交付和沉淀知识这两个。 保障交付 保障交付意味着架构师能够降低大型架构活动的不确定性和复杂度,最小化架构方案,最终保障高质量的交付。其中关键动作有三个:降低不确定性 ......
架构 技能 知识 25

23 15|模块导读:互联网时代架构师都面临哪些新挑战?

你好,我是郭东白。上个模块我们讲了架构师的六条生存法则,提到了架构师的重要工作就是组织架构活动和制定架构方案。 那么具体来说,架构活动的完整过程是什么呢?架构师一般会面临什么样的挑战呢?又需要着重关注哪些节点呢?在这个模块里,我们就来回答一下这些问题。 这节课是整个模块的导读,我就先来介绍模块的整体 ......
架构 模块 互联网 时代 23

10 10|法则四:架构设计中怎么判断和利用技术趋势?

你好,我是郭东白。 上节课我们讲了为什么要顺应技术的生命周期。但是“往者不可谏,来者犹可追”,我们就不能抓住一个技术萌芽和发展的机会吗?今天我们就来探讨一下这个问题。 技术未来的趋势,谁主沉浮? 你有没有想过,到底是谁决定技术的未来呢?其实大多数人都不决定技术的未来,哪怕是雷军,他也在思考该怎么顺势 ......
架构 法则 趋势 技术 10

12 12|法则五:如何提升一个架构设计的外部适应性?

你好,我是郭东白。 上节课我们讲了外部适应性这个概念,也强调了架构师的职责是通过架构活动为企业不断注入外部适应性,从而帮助企业更好地实现它的战略意图。 那么该怎么注入呢? 上节课在讲影响技术体系外部适应性的因素这部分,我们提到了挑战主要来自三个方面:企业的内部压力、企业的外部环境和企业的组织结构。这 ......
适应性 架构 法则 12

4 03|法则一:如何找到唯一且正确的架构目标?

你好,我是郭东白。上节课我们讲了目标在架构规划中的重要性,也明确了目标缺失的两大根因。那么这节课,我们就来聊聊该如何寻找正确的架构目标,以及如果目标制定错误,该如何挽回。 如何寻找正确的架构目标? 主要分为三种情况,我们来分别讨论。 确认一个正确目标,且要试图逼近它 一般来说,我们相信达尔文的进化论 ......
架构 法则 目标

20 对话于冰(下)|架构师如何为企业创造商业价值?

你好,我是辰洋,是《郭东白的架构课》的负责人。 在软件行业,每隔几年就会出现一些新概念新名词,从而掀起讨论热潮。那么对于从业者来说,这些新概念究竟意味着什么?到底该不该追求这些浪潮呢?怎么追呢?接下来,就让我们看看东白老师和于冰老师又聊了些什么吧。 主持人:郭东白 车好多集团CTO嘉 宾:于冰 快手 ......
架构 价值 商业 企业 20

TypeScript 学习笔记 — 模板字符串和类型体操(十五)

基本介绍 TS 中模板字符串类型 与 JS 模板字符串非常类似,,通过 ${} 包裹, 模板字符串类型的目的就是将多个字符串组装在一起 type name = "Echoyya"; type sayHaha = `hi ${name} haha`; // type name = "Echoyya"; ......
字符串 体操 TypeScript 字符 模板

7 07|法则三:架构师如何找到自己的商业模式?

你好,我是郭东白,今天我们来聊聊架构活动中对商业价值的考量。 今天我们要讲的是架构师的第三个生存法则:作为一个架构师,必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等等,都是非常有限的。但架构活动就是要在这些 ......
架构 法则 模式 商业