Dev Glossary
- stage0
abbr. | stand for | mean |
---|---|---|
RAII | Resource acquisition is initialization | 资源获取即初始化 |
CRUD | Create, Read, Update, Delete | 增删改查 |
DORA | DevOps research program | DevOps 研究项目 |
FTBS | Fail to build from source | 构建失败 |
GC | garbage collect | 垃圾收集 |
NPE | Null Pointer Exception | 空指针异常 |
OOM | Out of memory | 内存溢出 |
RIIR | Rewrite It In Rust | 使用 Rust 重写 |
RTTI | Runtime Type Information | 运行时类型信息 |
SDLC | Software Development Life Cycle | 软件开发生命周期 |
abbr. | stand for | cn |
---|---|---|
Private Cloud | 私有云 | |
Public Cloud | 公有云 | |
cloud computing | 云计算 | |
On-premises Software | 本地软件 | |
SaaS | Software as a Service | 软件即服务 |
en | cn |
---|---|
Checksum | 校验和 |
Check digit | 校验位 |
Check code | 校验码 |
Circuit Breaker | 断路器 |
- off-premises -> SaaS
- on-premises - server-based software
- 按需、本地化、面向服务
- SaaS 反向操作
- futureproofing - 确保不会过时
Checksum
路由
- 核心问题
- 分发
- 选择最佳路径
- 输入 - 映射 - 目标
- 抽象 - 实现
- 网络层
- 路由器根据数据包的目标地址,决定下一跳的转发路径。
- 路由协议 - OSPF, BGP
- 核心思想
- 根据规则分发
- 选择最佳路径
- Web 开发中的路由
GET /user/1
- 核心思想
- 路径颜色
- 软件架构中的服务路由
- 服务发现: 找到服务的实例位置
- 服务路由: 将请求路由到正确的服务(负载均衡、流量控制)
- 核心思想
- 请求根据规则分发到适当的服务实例,本质上是一种更复杂的“路由”。
- 函数和方法调用
- 函数或方法的调用可以被看作是一种小范围的路由
- CPP 中的虚函数
- Java Interface
- 根据函数名、类名,找到对应的实现逻辑。
- 分发逻辑:通过方法名或函数名路由到具体的实现。
- 消息队列中的路由
- routing key
- 基于规则的分发:不同的队列对应不同的业务逻辑处理。
- 数据库查询路由
- 读写分离
- 分片
- 查询索引定位
- 操作系统中的路由
- syscall
- 系统调用表
- 中断向量表
- 编译器和解释器中的路由
- Link - 符号解析 - 重定位
- 语法路由:从代码的结构映射到编译器的内部处理逻辑。
- 用户界面的路由
- React Router
- Vue Router
通信
SDLC
Backoff
type BackoffStragegy = {
limit?: number; // 最大重试次数
delay?: (attempt: number) => number; // 延迟函数,返回延迟时间(毫秒)
maxDelay?: number; // 最大延迟时间(毫秒)
};
type BackoffType =
| 'exponential' // 指数回退 - 例如:0.3 * (2 ** (attemptCount - 1)) * 1000
| 'linear' // 线性回退 - 例如:attemptCount * 1000
| 'constant'; // 固定延迟 - 例如:1000
- delay - 延迟函数,返回延迟时间(毫秒)
0.3 * (2 ** (attemptCount - 1)) * 1000
- 0.3 秒的指数回退- 300ms, 600ms, 1200ms, 2400ms, 4800ms, 9600ms, ...
- exponential backoff
log vs logging vs logger
- log
- 作为动词,表示“记录”或“写入日志”,如
log an event
(记录一个事件)。 - 作为名词,指“日志”本身,如
system log
(系统日志)。 - 常用于描述具体的日志条目或记录动作。
- 作为动词,表示“记录”或“写入日志”,如
- logging
- 名词,指“日志记录”这一行为或过程,强调持续性和系统性。
- 也可作形容词,如
logging system
(日志记录系统)。 - 常用于描述日志相关的整体机制、功能或模块,如
logging framework
(日志框架)。
- logger
- 名词,指“日志记录器”,即负责生成和管理日志的对象、组件或工具。
- 在编程中通常指具体的日志实例,如
logger.info()
。 - 用于区分日志的来源、类别或上下文(如模块级 logger、全局 logger)。
log
更偏向具体的日志条目或记录动作;logging
强调日志记录的过程、机制或系统;logger
指实际执行日志记录的工具或对象。