博客
分类
标签
归档
友链
关于
Dark Mode
博客
分类
标签
归档
友链
关于
Dark Mode
Mens et Manus
制作一个简易的中间件架构
为何需要中间件我们不应该把业务逻辑和非业务逻辑揉在一起。非业务逻辑如打印日志、计时等。因为如果我们需要一个新的日志系统,而我们打印日志的逻辑杂揉在每个handler中,那我们就得修改每个handler,费时费力且不明智。 中间件就是一种剥离非业务逻辑的方法。 原理我们可以使用函数闭包来轻松实现剥离业务逻辑和非业务逻辑。 假设我们的业务就是以各种姿势处理字符串然后打印。如处理成===str==...
2020-11-11
Read More
cpp常用stl
迭代器如何像c里面使用*p,然后p++这样的方式遍历呢?使用迭代器,迭代器相当于返回了一个指针,当然它更抽象功能更多。 1234vector<int> a = {1, 2, 3, 4};vector<int>::iterator it = a.begin();it++;cout << *it; 1234int a[] = {...
2020-10-26
Read More
深入理解计算机系统脑图
PART1: 计算机系统漫游 组成设备 PART3: 程序的机器级表示 一个可执行程序 编译过程 预处理 编译 汇编 连接 编译细节 gcc -O[g|1|2] <file>优化等级 编译器优化可能会调整代码次序,源代码会严重变形,导致并发时不满足顺序一致性内存模型 数据格式 字节,字,双字,四字 数据类型的汇编代码表示 b, w, l, q 操作数指示符...
2020-10-20
Read More
Lua标准库工具
base_G_G是lua中的一个全局变量,其中保存了lua语言中几乎所有的全局函数和变量 如果全局变量(或函数)存在的话,可以使用_G["VAR"]获取到全局变量。但不能获取到局部变量。可以通过_G["VAR"]=local_var将局部变量转变为全局变量 string string.gmatch(s, pattern) 返回一个迭代器函数,每次调用这...
2020-10-06
Read More
SQL基本语句
建表123456CREATE TABLE `tbl_file`( `id` INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`), UNIQUE KEY `idx_user_file` (`user_name`, `file_sha1`), KEY `idx_status` (`status`)) ENGINE=Inno...
2020-10-05
Read More
Promise, async和wait的简单记录
为什么需要promise有时候需要向函数中传入回调函数(异步操作结束后执行),这么一来可能就会有多重函数嵌套的情况。这样的问题很明显: 耦合度高 解耦要传函数指针 安全考虑还需判断参数类型,可读性差 如果传送匿名参数,可读性更差 Promise写法12345678910111213141516function callRing(success) { return ne...
2020-10-03
Read More
Docker常用命令
Docker常用命令 docker ps [-a],查看正在运行的[所有]容器 docker <start|stop|rm> <ID|NAME>,启动/停止/删除容器 docker rmi <IMAGES>,删除镜像 docker attach id,进入某个容器,使用exit退出容器时,容器也会停止 docker exec -it <ID|NA...
2020-10-01
Read More
Advanced Vim Programming
<SID> The string <SID> can be used in a mapping or menu. When executing the map command, Vim will replace <SID> with the special key code <SNR>, followed by a number that’s ...
2020-09-16
Read More
RPC intro
RPC (Remote Procedure Call)RPC,远程过程调用,是一个计算机通信协议。 相对的就是本地过程调用,即一个程序中调用它的子程序,可以直接通过地址访问。而RPC的远程,就是跨进程访问的意思。 该协议允许运行于一台计算机的程序调用另一个地址空间(通常是开放网络中的一台计算机)的子程序。程序员就像调用本地程序一样,无需额外地为这个交互作用编程。 RPC是一种Client/S...
2020-09-03
Read More
This和箭头函数
ThisThis用于访问当前方法所属的对象,取决于调用的对象如: 12345678910111213141516let obj = { a: 12, fn(){ console.log(this) }}// 或者形如let obj = { a: 12,}obj.fn = function()...
2020-08-20
Read More
Previous
15 / 25
Next