From 83ddf8665da19faab0eee2f1670845844529c89d Mon Sep 17 00:00:00 2001 From: tukuaiai Date: Thu, 30 Apr 2026 01:24:19 +0800 Subject: [PATCH] docs: fundamentals - classify low-level optimization checklist --- assets/documents/README.md | 17 +- .../principles/fundamentals/README.md | 1 + .../底层程序逻辑设计与工程优化项.md | 573 ++++++++++++++++++ 3 files changed, 583 insertions(+), 8 deletions(-) create mode 100644 assets/documents/principles/fundamentals/底层程序逻辑设计与工程优化项.md diff --git a/assets/documents/README.md b/assets/documents/README.md index 94d8941..90fbba2 100644 --- a/assets/documents/README.md +++ b/assets/documents/README.md @@ -30,14 +30,15 @@ assets/documents/ 1. **问题** → [问题求解能力](./principles/fundamentals/问题求解能力.md) 2. **工程** → [问题分析与系统构建方法](./principles/fundamentals/问题分析与系统构建方法.md) 3. **范式** → [软件开发范式演进](./principles/fundamentals/软件开发范式演进.md) -4. **思维** → [philosophy](./principles/philosophy/README.md) -5. **理念** → [胶水编程](./principles/fundamentals/胶水编程.md) -6. **入门** → [Vibe Coding 哲学原理](./guides/getting-started/Vibe%20Coding%20哲学原理.md) -7. **配置** → [开发环境搭建](./guides/getting-started/开发环境搭建.md) -8. **工具** → [tmux 快捷键](./guides/playbook/tmux快捷键大全.md) -9. **远程** → [VS Code Remote Tunnel(WSL)](./guides/playbook/REMOTE_TUNNEL_GUIDE.md) -10. **实践** → [项目实战经验](./case-studies/) -11. **流程** → [工作流模板](./workflow/) +4. **底层** → [底层程序逻辑设计与工程优化项](./principles/fundamentals/底层程序逻辑设计与工程优化项.md) +5. **思维** → [philosophy](./principles/philosophy/README.md) +6. **理念** → [胶水编程](./principles/fundamentals/胶水编程.md) +7. **入门** → [Vibe Coding 哲学原理](./guides/getting-started/Vibe%20Coding%20哲学原理.md) +8. **配置** → [开发环境搭建](./guides/getting-started/开发环境搭建.md) +9. **工具** → [tmux 快捷键](./guides/playbook/tmux快捷键大全.md) +10. **远程** → [VS Code Remote Tunnel(WSL)](./guides/playbook/REMOTE_TUNNEL_GUIDE.md) +11. **实践** → [项目实战经验](./case-studies/) +12. **流程** → [工作流模板](./workflow/) ## 🔗 相关资源 diff --git a/assets/documents/principles/fundamentals/README.md b/assets/documents/principles/fundamentals/README.md index 1c8626e..cfbc225 100644 --- a/assets/documents/principles/fundamentals/README.md +++ b/assets/documents/principles/fundamentals/README.md @@ -16,6 +16,7 @@ - [问题求解能力](./问题求解能力.md) - 目标、现状、差距、标准与反馈迭代的底层能力 - [问题分析与系统构建方法](./问题分析与系统构建方法.md) - 自顶向下、自底向上与分而治之的组合使用 - [软件开发范式演进](./软件开发范式演进.md) - 从面向过程到云原生的工程组织方式演进 +- [底层程序逻辑设计与工程优化项](./底层程序逻辑设计与工程优化项.md) - CPU、内存、并发、IO、网络、数据结构与交付优化检查项 ### 提示词工程 - [系统提示词构建原则](./系统提示词构建原则.md) - 构建高效 AI 系统提示词 diff --git a/assets/documents/principles/fundamentals/底层程序逻辑设计与工程优化项.md b/assets/documents/principles/fundamentals/底层程序逻辑设计与工程优化项.md new file mode 100644 index 0000000..f217acf --- /dev/null +++ b/assets/documents/principles/fundamentals/底层程序逻辑设计与工程优化项.md @@ -0,0 +1,573 @@ +# 底层程序逻辑设计与工程优化项 + +CPU +事务 +缓存 +并发 +内存 +IO +网络 +数据结构 +算法 +抽象 +接口 +函数 +递归 +循环 +条件分支 +顺序性 +副作用 +状态 +数据流 +控制流 +进程模型 +线程模型 +协程模型 +用户态线程 vs 内核线程 +同步模型 +异步模型 +事件驱动模型 +批处理模型 +流式处理模型 +计算模型 +调度模型 +内存模型 +并发模型 +数据模型 +状态模型 +错误模型 +性能模型 +成本模型 +容量模型 +CPU cache 友好设计 +CPU 使用优化 +CPU 亲和性 +上下文切换成本 +分支预测意识 +分支预测友好设计 +流水线友好设计 +指令级并行意识 +SIMD 思维 +向量化计算 +GPU 计算设计 +GPU 内存访问优化 +算子融合 +计算图优化 +数值稳定性设计 +浮点误差控制 +近似计算 +增量计算 +重复计算消除 +预计算与查表 +延迟计算 +懒加载 +即时计算 vs 预计算 +本地计算 vs 远程调用 +计算复杂度优化 +时间复杂度优化 +空间复杂度优化 +空间换时间设计 +数据局部性优化 +内存访问优化 +内存分配优化 +栈/堆使用判断 +逃逸分析意识 +GC 友好设计 +JIT/解释执行理解 +内联优化意识 +对象生命周期设计 +内存生命周期管理 +内存泄漏控制 +内存碎片控制 +堆外内存管理 +引用计数 +弱引用 +内存对齐 +结构体 padding +TLB 命中率意识 +页缓存理解 +缺页中断意识 +内存分页 +NUMA 感知设计 +内存屏障理解 +happens-before 关系 +可见性 +有序性 +原子性 +false sharing 避免 +原子操作与 CAS +ABA 问题 +锁粒度设计 +锁竞争优化 +读写锁适用性 +可重入锁风险 +锁顺序约束 +无锁数据结构 +锁自由设计 +等待自由设计 +死锁 +活锁 +饥饿 +优先级反转 +条件变量 +信号量 +屏障同步 +并发安全设计 +并发正确性设计 +并发测试 +竞态检测 +任务拆分策略 +工作队列设计 +优先级调度 +调度公平性 +线程池设计 +线程池饱和处理 +队列积压处理 +背压机制 +超时传播 +取消传播 +异步上下文传播 +异步异常处理 +同步/异步边界设计 +阻塞式等待识别 +阻塞 IO +非阻塞 IO +IO 多路复用 +select / poll / epoll / kqueue +io_uring 理解 +Reactor 模型 +Proactor 模型 +事件循环设计 +事件队列设计 +事件优先级 +事件饥饿 +系统调用成本意识 +文件描述符管理 +句柄泄漏控制 +资源释放 +资源隔离 +资源配额 +资源池化 +对象池设计 +连接池设计 +缓冲区设计 +零拷贝思路 +DMA 理解 +mmap 使用判断 +sendfile 使用判断 +IO 合并 +批处理与合并请求 +网络调用优化 +DNS 解析成本 +DNS 缓存策略 +TCP 连接建立成本 +TCP 慢启动 +TCP 拥塞控制 +Nagle 算法影响 +KeepAlive 策略 +连接复用 +连接泄漏控制 +Socket buffer 调优 +HTTP/1.1 vs HTTP/2 vs HTTP/3 +TLS 握手成本 +证书校验成本 +长连接管理 +半开连接处理 +请求队头阻塞 +网络超时设计 +网络抖动处理 +网络分区处理 +MTU / 分片意识 +带宽与延迟权衡 +序列化优化 +反序列化成本控制 +压缩策略选择 +压缩率 vs CPU 成本权衡 +数据编码选择 +数据格式选择 +Schema 设计 +Schema 演进 +字段兼容性 +枚举扩展风险 +默认值策略 +数据结构选择 +缓存结构选择 +队列与堆选择 +索引结构选择 +概率数据结构 +布隆过滤器 +HyperLogLog +Count-Min Sketch +LRU / LFU / FIFO 选择 +树结构选择 +哈希结构选择 +跳表选择 +B+Tree 理解 +LSM Tree 理解 +图结构建模 +排序策略选择 +查找策略选择 +贪心策略判断 +动态规划建模 +图算法选择 +分治策略选择 +回溯策略选择 +启发式算法选择 +算法策略选择 +算法稳定性 +算法可解释性 +循环结构优化 +递归深度控制 +尾递归优化判断 +无边界递归避免 +数据预聚合 +数据分片与分区 +数据倾斜处理 +MapReduce 思维 +并行计算设计 +批处理设计 +流式处理设计 +冷热路径拆分 +冷路径隔离 +热路径优化 +性能瓶颈识别 +性能指标定义 +Profiling 能力 +火焰图分析 +慢查询分析 +Trace 分析 +日志埋点设计 +结构化日志 +日志等级设计 +Trace ID 传播 +Span 设计 +Metrics 设计 +高基数指标控制 +Dashboard 设计 +告警规则设计 +告警降噪 +SLO / SLA / SLI +错误预算 +黑盒监控 +白盒监控 +用户体验监控 +业务指标监控 +容量水位监控 +Benchmark 设计 +压测设计 +容量评估 +峰值流量模型 +流量预测 +性能回归测试 +优化验证 +优化收益评估 +优化 ROI 评估 +过早优化识别 +伪优化识别 +缓存层级设计 +分层缓存 +本地缓存 +分布式缓存 +页面缓存 +对象缓存 +查询缓存 +结果复用 +缓存对象选择 +缓存 key 设计 +缓存一致性 +缓存失效策略 +缓存淘汰策略 +缓存预热机制 +缓存穿透处理 +缓存击穿处理 +缓存雪崩处理 +热点缓存处理 +缓存污染控制 +缓存容量控制 +缓存命中率评估 +数据访问优化 +数据访问方式选择 +数据访问路径设计 +查询路径设计 +写入路径优化 +索引设计 +覆盖索引 +索引下推 +回表成本控制 +分页优化 +游标分页 +N+1 查询消除 +查询计划理解 +执行计划稳定性 +统计信息维护 +慢查询治理 +锁等待分析 +死锁分析 +事务范围控制 +事务边界 +事务隔离级别 +MVCC 理解 +WAL 理解 +Redo / Undo 日志 +Checkpoint +Buffer Pool +页分裂控制 +Compaction +分区裁剪 +分库分表 +读写分离 +冷热数据分层 +数据归档 +TTL 策略 +CDC 变更捕获 +数据回放 +数据修复 +数据血缘 +数据质量校验 +范式化 vs 反范式化 +数据冗余与同步 +热点数据处理 +数据生命周期设计 +数据流路径设计 +数据转换链路设计与优化 +数据校验位置 +数据一致性设计 +顺序性与版本控制 +版本冲突解决 +逻辑时钟 +向量时钟 +时钟偏移处理 +读己之写 +单调读 +强一致性 +最终一致性 +CAP 理解 +PACELC 理解 +分布式事务 +Saga 模式 +TCC 模式 +Outbox 模式 +Inbox 模式 +幂等性设计 +幂等键设计 +去重设计 +请求唯一 ID +消息可靠投递 +至少一次语义 +至多一次语义 +恰好一次语义 +消息重复处理 +消息乱序处理 +消息积压处理 +消费位点管理 +分布式锁 +租约机制 +Fencing Token +Leader 选举 +Raft / Paxos 理解 +脑裂处理 +服务发现 +负载均衡 +一致性哈希 +分片迁移 +数据再均衡 +纯逻辑与 IO 分离 +数据流与控制流分离 +副作用控制 +状态管理方式选择 +状态一致性 +状态机设计 +状态机 vs 条件分支 +状态流转设计 +中间状态设计 +数据不变量 +前置条件与后置条件 +顺序依赖设计 +短路逻辑设计 +分支条件设计 +早返回设计 +控制流扁平化 +执行路径设计 +主流程与分支流程设计 +代码路径可读性 +复杂度控制 +依赖方向设计 +模块边界设计 +包依赖治理 +循环依赖检测 +接口语义设计 +API 契约设计 +接口版本管理 +向前兼容 +向后兼容 +错误码规范 +错误语义稳定性 +部分响应设计 +批量接口设计 +限流响应协议 +请求签名 +契约测试 +函数职责设计 +逻辑拆分粒度 +抽象层次选择 +组合方式选择 +处理模式选择 +策略模式 vs switch-case +管道模式 vs 单体函数 +事件驱动 vs 直接调用 +同步处理 vs 异步处理 +批处理 vs 实时处理 +配置化 vs 硬编码 +配置化 vs 代码化 +通用化 vs 专用化 +规则引擎 vs 硬编码 +通用框架 vs 专用实现 +可替换性 +规则隔离 +扩展点设计 +变更影响范围 +技术债识别 +技术债偿还策略 +迁移策略 +废弃策略 +兼容窗口 +文档化 +ADR 决策记录 +设计评审 +接口评审 +性能评审 +安全评审 +输入合法性校验 +边界条件覆盖 +异常分类 +错误传播 +错误封装 +错误恢复 +部分成功处理 +流程中断与恢复 +中断、回滚、重试流程 +重试策略 +指数退避 +重试抖动 jitter +重试风暴防护 +失败降级策略 +限流设计 +熔断器设计 +舱壁隔离 +过载保护 +请求排队策略 +丢弃策略 +快速失败 +故障隔离 +故障注入 +混沌工程 +降级开关 +灰度降级 +超时预算 +Deadline 传播 +服务健康检查 +自愈机制 +优雅降级 +优雅关闭 +启动预热 +冷启动控制 +灾难恢复 +备份与恢复 +RPO / RTO +认证设计 +授权设计 +权限模型 +最小权限原则 +权限边界 +身份冒用防护 +输入注入防护 +SQL 注入 +命令注入 +XSS +CSRF +SSRF +反序列化风险 +路径穿越 +敏感信息脱敏 +日志脱敏 +密钥管理 +Token 生命周期 +加密存储 +传输加密 +签名校验 +重放攻击防护 +多租户隔离 +安全审计 +依赖漏洞治理 +供应链安全 +单元测试设计 +集成测试设计 +端到端测试 +回归测试 +稳定性测试 +兼容性测试 +模糊测试 Fuzzing +属性测试 Property-based Testing +测试数据构造 +Mock 边界 +测试隔离 +可测性设计 +确定性测试 +时间依赖测试 +随机性控制 +灰度发布 +蓝绿发布 +金丝雀发布 +滚动发布 +回滚策略 +配置发布 +特性开关 +Feature Flag +数据库变更发布 +兼容性发布 +双写切换 +流量切换 +影子流量 +压测环境隔离 +生产变更风险评估 +变更审计 +发布前检查 +发布后验证 +Runbook +应急预案 +值班机制 +资源成本评估 +CPU 成本 +内存成本 +存储成本 +网络成本 +第三方 API 成本 +云资源成本 +成本预算 +弹性伸缩 +扩容策略 +缩容策略 +成本收益权衡 +反模式识别 +大锁 +大事务 +全局状态污染 +重复 IO +重复计算 +过深嵌套 +隐式控制流 +过度通用化 +过早抽象 +过早优化 +伪优化 +缺少退路 +缺少幂等 +缺少超时 +缺少取消 +缺少隔离 +缺少限流 +缺少监控 +缺少回滚 +缺少兼容 +缺少验证 +缺少容量评估 \ No newline at end of file