Skip to main content

Dev Glossary

  • stage0
abbr.stand formean
RAIIResource acquisition is initialization资源获取即初始化
CRUDCreate, Read, Update, Delete增删改查
DORADevOps research programDevOps 研究项目
FTBSFail to build from source构建失败
GCgarbage collect垃圾收集
NPENull Pointer Exception空指针异常
OOMOut of memory内存溢出
RIIRRewrite It In Rust使用 Rust 重写
RTTIRuntime Type Information运行时类型信息
SDLCSoftware Development Life Cycle软件开发生命周期
abbr.stand forcn
Private Cloud私有云
Public Cloud公有云
cloud computing云计算
On-premises Software本地软件
SaaSSoftware as a Service软件即服务
encn
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 指实际执行日志记录的工具或对象。