这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
Go GC 与内存调优:逃逸分析、内存池、GOGC、GOMEMLIMIT 实战
Go 垃圾回收与内存调优深度实战:并发三色标记 GC 原理、逃逸分析与栈上分配、sync.Pool 内存池、GOGC 与 GOMEMLIMIT 调参策略、降低 GC 压力的七种手段与基于 pprof 的验证闭环。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
Go 垃圾回收与内存调优深度实战:并发三色标记 GC 原理、逃逸分析与栈上分配、sync.Pool 内存池、GOGC 与 GOMEMLIMIT 调参策略、降低 GC 压力的七种手段与基于 pprof 的验证闭环。
当 flake 从个人小项目长成多包 monorepo,手写 forAllSystems 的模板代码会迅速失控。flake-parts 把 NixOS 模块系统的合并语义引入 flake 组织,让每个子项目只声明自己关心的输出。本文详解 perSystem、模块复用、inputs 分层与 monorepo 布局。
系统讲解 Erlang 访问关系型数据库的完整方案:epgsql 与 mysql-otp 驱动选型、poolboy 连接池设计、事务与预处理语句、迁移与索引策略、故障重连与超时治理。
深入解析 Dialyzer 的 success typing 原理、spec 与 type 语法、PLT 构建与增量分析、常见告警的解读与治理,以及如何把静态分析纳入测试与 CI 流程。
系统讲解 Defold Tilemap 碰撞系统:Tilemap 编辑器使用、碰撞组与掩码配置、tilemap 碰撞形状、AABB 与圆形碰撞检测、传感器 tile、动态 tile 修改,以及程序化生成关卡(Perlin noise 等算法)。
系统讲解 curl 与 HTTP 调试:请求构造(方法、头部、请求体、JSON 与表单)、认证与 Cookie 会话保持、超时与重试的失败语义、连接复用与 DNS 解析细节、TLS 与证书排查、上传下载与进度、代理与抓包(mitmproxy/tcpdump)、性能测量(-w 模板与 time_ 指标)、常见排错套路与速查表。
系统讲解 Cowboy 的架构与请求生命周期、路由与 handler、中间件与 JSON 编解码、WebSocket 与 SSE 实时通信、限流与安全加固以及生产部署。
移动语义是 C++11 最重要的语言革新之一,它让资源所有权可以在对象之间零成本转移;完美转发则借助引用折叠与 std::forward 把实参的值类别原样传递下去。本文从值类别与引用基础出发,逐层剖析移动构造与移动赋值的手写实现、引用折叠规则、std::move 与 std::forward 的语义差异、RVO/NRVO 的拷贝省略保证,以及 const 成员、noexcept 缺失、返回局部变量等常见移动陷阱,并给出可编译的实测代码。
手写单元测试只能覆盖你想到的输入,而内存安全漏洞几乎总出现在你没想到的那一分支。模糊测试用覆盖率反馈自动生成输入,配合 ASan/UBSan/MSan 能在几小时内挖出人工测试数月都发现不了的崩溃。本文从 libFuzzer 的 fuzz target 编写讲起,对比 AFL++ 的插桩模式与语料管理,系统梳理 Sanitizer 的组合策略、gcov 与 llvm-cov 的覆盖率度量方法,并给出可落地的 CI 流水线设计。
互斥锁在高竞争下会引发上下文切换与优先级反转,无锁数据结构用 CAS 等原子原语把同步下沉到硬件层面。本文从原子原语与 CAS 循环讲起,完整实现无锁栈与 Michael-Scott 队列,剖析 ABA 问题的成因与带标记指针的解法,重点讨论无锁编程真正的难点——内存回收,对比 hazard pointer、RCU 与 epoch-based reclamation 三种方案,给出内存序选型清单与压测验证方法。
序列化是分布式系统与持久化存储的基础设施,选错库会让延迟、体积与可维护性同时受损。本文横向对比 C++ 生态中最常用的序列化方案:文本侧的 nlohmann/json 与 RapidJSON、二进制侧的 Protocol Buffers 与 FlatBuffers/Cap'n Proto,剖析各自的编码格式与零拷贝原理,给出 Schema 演进与向后兼容规则,附上吞吐量、延迟与序列化体积的实测数据,并总结一套可落地的选型决策表。
C++ 长期缺乏统一的包管理方案,第三方库往往靠手工编译、系统包管理器或 Git submodule 引入,导致构建不可复现、版本冲突频发。本文系统对比 vcpkg 与 Conan 两套主流方案:vcpkg 的 manifest 模式与注册表机制、Conan 的 conanfile 与包 ID 二进制兼容模型、锁文件与私有仓库搭建、二进制缓存加速 CI,以及与 CMake 的三种集成方式,最后给出一份可直接落地的依赖管理实践清单。
现代 CPU 每个核心都提供 128/256/512 位宽的向量寄存器,一次指令可以并行处理 4 到 16 个数据元素。本文系统讲解如何让 C++ 代码吃满这些向量单元:先讲清自动向量化的前提条件与用编译器报告定位失败原因的方法,再深入 SSE/AVX2 Intrinsics 手写、数据布局与内存对齐、掩码运算与水平归约技巧,最后给出跨编译器的可移植性封装方案,并用点积与图像处理两个实战案例量化加速比。
以指标体系为主线,系统讲解 BEAM 的进程与调度器剖析、GC 与内存优化、binary 与 ETS 高效使用、消息队列与背压治理,以及可复用的压测方法论。
系统梳理 HarmonyOS NEXT 上 ArkUI 的布局能力:vp、fp、lpx 与百分号的换算关系,Row/Column、Flex、Stack、RelativeContainer、Grid、List 等容器的选型建议,用完整代码演示 LazyForEach 与 IDataSource 的列表优化,并覆盖 @Builder、@Styles 与组件复用池原理。
讲解 ES 高级文本检索:同义词过滤与同义词图、edge_ngram 自动补全、completion suggester、模糊匹配与拼写纠错,以及索引时与查询时处理的取舍。
从整体架构出发,讲解编译器前端/中端/后端的职责分层、多种中间表示(IR)的选择与切换、Pass 管线的组织与调度、调试信息生成,以及可插拔的优化框架设计。
深入类型系统与类型推断的实现:静态类型判定规则、Hindley-Milner 推断与合一算法、泛型与约束求解、联合类型与子类型关系,以及类型检查器如何融入符号表并在编译期拦截错误,附带可运行的 Python 实现。
讲解 Elasticsearch 时序数据处理:数据流与索引生命周期、TSDB 索引模式、采样与降维、date_histogram 时序聚合,以及预测与异常检测的落地。
扩展篇之十五:游戏内交易市场。设计了玩家间直购与挂单模型、拍卖行竞价机制、交易税与经济平衡、防欺诈与仲裁流程,帮助联机游戏让道具流动起来、同时守住经济与信任底线。