neovim笔记
golang图片处理
#前言
不得不感慨,前端的发展迅速以至于我觉得在前端样式下一小段 css 的事情,服务端实现起来无比复杂,甚至无法实现。
所以其实图片编辑的操作一直以来都是由前端或者客户端完成的。但,任何客户端的用户行为其实都是不可信的,对于一个图像裁剪,如果接入审核流又会过于繁重。服务端处理在一定程度上能够解决这个问题,如果这个场景其实不会特别频繁的话。
用golang解析varint
AES相关问题记录
clang-format使用记录
Mysql笔记
- 服务器会为诸如 ALTER TABLE 之类的语句使用表锁,而忽略存储引擎的锁机制
#InnoDB 物理结构
Each space in InnoDB is assigned a 32-bit integer space ID, which is used in many different places to refer to the space.
InnoDB always has a “system space”, which is always assigned the space ID of 0.
Each page within a space is assigned a 32-bit integer page number, often called “offset”
page 0 is located at file offset 0, page 1 at file offset 16384
- 页是最基础的 InnoDB 的概念,一般为 16kb。
- 页一般由一个
38 byte的FIL header和一个8 byte的FIL trailer组成。 - FSP_HDR 和 XDES 是两种特殊的页,用来管理数据页。它们的区别在于,FSP_HDR 是第一个“管理页”,包含一些单独的信息。
- 一个 FSP_HDR 或 XDES 会管理和它们连续分配的 16384 个页,256MB,或者叫 16 个 extent(16 块)。
- FSP_HDR 和 XDES 由
FIL header、FIL trailer、FSP header和 256 个extent descriptors(XDES Entry)组成。

- 一个
XDES Entry管理64个页。
#参考链接
Redis笔记
《Redis 开发与运维》
《Redis 设计与实现》
Rust笔记
1 | export RUSTUP_DIST_SERVER="https://rsproxy.cn" |
- break 可以单独使用,也可以带一个返回值,有些类似 return
- loop 是一个表达式,因此可以返回一个值
字节提供的rust镜像:https://rsproxy.cn/#getStarted
这种定义在 impl 中且没有 self 的函数被称之为关联函数: 因为它没有 self,不能用 f.read() 的形式调用,因此它是一个函数而不是方法,它又在 impl 中,与结构体紧密关联,因此称为关联函数。
但是这种写法限制了 Screen 实例的 Vec<T> 中的每个元素必须是 Button 类型或者全是 SelectBox 类型。如果只需要同质(相同类型)集合,更倾向于采用泛型+特征约束这种写法,因其实现更清晰,且性能更好(特征对象,需要在运行时从 vtable 动态查找需要调用的方法)。