MarkDown绘图mermaid流程图graph
【注】更多详情请参阅mermaid流程图官方文档。
1. 绘图方向
命令
方向
TB(TD)
从上到下
BT
从下到上
RL
从右到左
LR
从左到右
2. 节点形状
命令
形状
A[text]
文本框(默认形状)
B(text)
圆角框
C([text])
体育场型框
D[(text)]
数据库型框
E((text))
圆形框
F>text]
非对称框
G{text}
菱形框
H{{text}}
六边形框
I[/text/]J[\\text\\]
平行四边形框
【注】可以将文本用引号引起,避免引号中出现特殊字符无法正常显示的情况(此时引号可以使用 MarkDown 引号字符编码 " )。
123456789101112```mermaidgraph TB A[text] B(text) C([text]) D[(text)] E((text)) F>text] G ...
差分方程
1. 差分的定义
1.1 前向差分
对于函数 f(x){f(x)}f(x) ,如果在等距节点:
xk=x0+kh(k=0,1,⋯ ,n)Δf(xk)=f(xk+1)−f(xk)\begin{array}{c}
x_k = x_0 + kh \quad (k = 0,1,\cdots,n) \\
\Delta f(x_k) = f(x_{k+1}) - f(x_k)
\end{array}
xk=x0+kh(k=0,1,⋯,n)Δf(xk)=f(xk+1)−f(xk)
则称 Δf(x){\Delta f(x)}Δf(x) 为 f(x){f(x)}f(x) 的一阶前向差分(简称差分),称 Δ\DeltaΔ 为(前向)差分算子。
1.2 逆向差分
对于函数 f(x){f(x)}f(x) ,如果在等距节点:
xk=x0+kh(k=0,1,⋯ ,n)∇f(xk)=f(xk)−f(xk−1)\begin{array}{c}
x_k = x_0 + kh \quad (k = 0,1,\cdots,n) \\
\nabla f(x_k) = f(x_{k}) - f(x_{k-1})
\ ...
MatLab数据结构
MatLab数据类型主要分为逻辑类型、数值类型、字符类型、结构类型、单元数组、函数句柄、映射容器和表格类型。
12345678910111213141516graph LRA[matrix]B[logical]C[numeric]D[char]E[struct]F[cell]G[function_handle]H[map]I[table]J[int8,16,32,64]K[uint8,16,32,64]L[single]M[double]A --> B & C & D & E & F & G & H & IC --> J & K & L & M
【注】详细说明请善用MatLab中的help xxx
1. 逻辑类型
逻辑
值
true
1
false
0
MatLab创建逻辑矩阵格式:
1L=logical(A)
其中,A为矩阵。对于A中任意非零元素都将转换为逻辑 1,零元素则转换为逻辑 0。
【注】复数值和NaN不能转换为逻辑值。
2. 数值类型
类型
说明 ...
磁盘
1. 构造
盘片(platter):每个盘片有两面,表面覆盖着磁性记录材料。
主轴(spindle):使得盘片易固定的旋转速率旋转。
磁道(track):每个磁盘表面有一组同心圆磁道构成。
扇区(sector):每个磁道被划分为一组扇区,每个扇区包含相等数量的数据位(通常位 512 字节)
间隙(gap):扇区之间由间隙分隔开。间隙中不存储数据位,用于标识扇区的格式化位。
柱面(cylinder):所有盘片表面上到主轴中心的距离相等的磁道的集合。
整个磁盘装置通常被称为磁盘驱动器(通常简称为磁盘),有时称为旋转磁盘,区别于基于闪存的固态磁盘(SSD)。
2. 容量
磁盘容量由以下技术因素决定:
记录密度(recording density)(单位:位/英寸):磁盘一英寸的段中可以放入的位数。
磁道密度(track density)(道/英寸):从盘片中心出发半径上一英寸的段内可以有的磁道数。
面密度(areal density)(位/平方英寸):记录密度与磁道密度的乘积。
传统磁盘每个磁道分为数目相同的扇区,扇区的数目是由最靠内的磁道能记录的的扇区数决定的;现代 ...
JavaScript异步操作
1. Promise.all()和Promise.race() 并行调用异步操作
两个函数均用于并行调用多个异步操作使用
All:两个异步操作都resolve之后调用then()
12345678910var p1 = new Promise(function (resolve, reject) { setTimeout(resolve, 500, 'P1');});var p2 = new Promise(function (resolve, reject) { setTimeout(resolve, 600, 'P2');});// 同时执行p1和p2,并在它们都完成后执行then:Promise.all([p1, p2]).then(function (results) { console.log(results); // 获得一个Array: ['P1', 'P2']});
Race:最快的异步操作resolve后调 ...
NodeJS学习笔记
1. exports变量
为了方便,Node为每个模块提供一个exports变量,指向module.exports。这等同在每个模块头部,有一行这样的命令。
1var exports = module.exports;
注意,不能直接将exports变量指向一个值,因为这样等于切断了exports与module.exports的联系。
如果模块输出的是一个函数,那就不能定义在exports对象上面,而要定义在module.exports变量上面。
2. require命令
require命令的基本功能是,读入并执行一个JavaScript文件,然后返回该模块的exports对象。如果没有发现指定模块,会报错。
require命令调用自身,等于是执行module.exports
require命令用于加载文件,后缀名默认为.js。如果指定的模块文件没有发现,Node会尝试为文件名添加.js、.json、.node后,再去搜索。.js件会以文本格式的JavaScript脚本文件解析,.json文件会以JSON格式的文本文件解析,.node文件会以编译后的二进制文件解析。如果想得到re ...
Windows10下node-gyp rebuild报错
1. 简介
在 Windows 10 下 npm install 失败,并报错:
12345678910111213141516gyp WARN install got an error, rolling back installgyp ERR! configure errorgyp ERR! stack Error: connect ETIMEDOUT 104.20.22.46:443gyp ERR! stack at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)gyp ERR! System Windows_NT 10.0.19640.....gyp ERR! node -v v12.17.0gyp ERR! node-gyp -v v5.1.0gyp ERR! not oknpm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! node-expat@2.3.18 install: `node-gyp rebuild`npm ERR! Exit status ...
Manjaro20.0配置TeXLive+TeXStudio的LaTeX环境
1. 安装
1.1 安装 TeXLive
1.1.1 从软件源安装
在终端执行以下代码,安装 TeXLive 环境:
12sudo pacman -S texlive-mostsudo pacman -S texlive-lang
【注】这样安装 TeXLive 后无法在终端使用 texdoc 工具,会报错:texdoc error: No texlive.tlpdb nor shipped tlpdb data found.。
1.1.2 从安装包安装
如果想要使用 texdoc 等其他工具,最好的办法还是到官网下载安装包进行在本地安装(在线安装包下载地址、离线安装包下载地址)。下面以本人安装为例:
12cd install-tl-20200411sudo ./install-tl
安装完后,会提示需要添加路径:
1234Add /usr/local/texlive/2020/texmf-dist/doc/man to MANPATH.Add /usr/local/texlive/2020/texmf-dist/doc/info to INFOPATH.Most important ...
体系结构复习笔记
1. 定律
1.1 摩尔定律
集成电路上可容纳的晶体管数目,大约每隔两年便会增加一倍;
CMOS工艺的瓶颈使得摩尔定律逐渐失效。
1.2 登纳德缩放比例定律
每平方毫米的电路耗能几乎不变;
登纳德缩放比例定律2007年开始逐渐失效,到2012年几乎完全失效;
1.3 阿姆达定律
多核并行计算机的加速受到程序中串行计算部分的限制;
2. DSA 提高性能的四个原因
DSA为特定领域开发了一种更有效的并行形式,例如:单指令多数据并行(SIMD)比多指令多数据并行(MIMD)更有效;
DSA可以更有效地使用内存结构;
DSA在适当的时候使用较低存储的精度;
DSL(Domain-Specific Languages)编写的目标程序,具有更高的并行性,改善内存访问的结构和表示,应用程序更加有效地映射到特定处理器。
3. 体系结构黄金时代来临
主要原因:深度学习新运算架构的流行
4. 并行
4.1 多线程
4.2 多工
4.3 多处理器
困难点:性能编程、负载均衡、优化通信和同步
5. 冗余实现可靠性
Hadoop分布式文件系统(HDFS)将文件分成多个块存在不同的Datano ...
电路术语
MUX:数据选择器(multiplexer),也称为多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。
PMD:个人移动设备
DSA:特定领域架构,针对特定领域设计的体系架构,也称为加速器,可以加速某些特定的应用程序;
CPU:Central Processing Unit;GPU:Graphic Processing Unit;TPU:Tensor Processing Unit。
NVDLA:Nvidia Deep Learning Accelerator,Nvidia于2017年公布的一个免费且开放的架构,这是一种可扩展可配置的DSA,主要用于机器学习推断;
Open ISA:开源指令系统体系结构;
ISA:Instruction Set Architecture;
SPEC:Standard Performance Evaluation Corp,为CPU,I / O,Web等开发基准测试,性能比的几何平均值;
rpm:转/分钟
MMU:Memory Management Unit
VP:virtual Page
PP:physical Page
DS ...
Linux下unzip解压中文乱码问题
1. 问题
unzip 直接解压 .zip 压缩包,如果有中文文件名则会乱码。网上大多数解决是
1unzip -O CP936 xxx.zip
但是对于 Manjaro、Centos 来说是没有 -O 选项的。
2. 解决方法
2.1 使用 unar
1unar xxx.zip
2.2 安装 unzip-iconv
1yay -S unzip-iconv
安装完后,就可以使用 -O 选项了。
数据库复习笔记
1. 并发控制
1.1 不一致性
丢失修改
不能重复读
脏读
2. 事务
2.1 概念
具有ACID特性的若干数据库
基本操作的组合体被称为事务。
2.2 特性
宏观独立完整
微观交错执行
2.3 ACID
原子性 Atomicity
一致性 Consistency
隔离性 Isolation
持久性 Durability
2.4 调度
一组事务的基本步(读、写、其他控 制操
作如加锁、解锁等)的一种执行顺序称为对这组事务的一个调度。
多个事务从宏观上看是并行执行的,但其微观上的基本 操
作(读、写)则是交叉执行的。
2.5 冲突
调度中一对连续的动作:如果它们的顺序交换,那么涉及的事务中至少有一个事务的行为会改变。
有冲突的两个操作是不能交换次序的,没有冲突的两个事务是可交换的
同一事务的任何两个操作都是冲突的
不同事务对同一元素的两个写操作是冲突的
不同事务对同一元素的一读一写操作是冲突的
2.6 可串行性
如果不管数据库初始状态如何,一个调度对数据库状态的影响都和某个串行调度相同,则我们说这个调度是可串行化的(Serializable)或具有可串行性(Ser ...