[CAM_04] DOCS
技术文档
技术笔记、教程与参考资料
10 TAKES · LAST 2026-11-08
- TAKE 0102026-11-08
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针 STAGE
已经会 C,学 C++ 时最该先学哪几样?本文把 lambda、std::function、右值引用与移动语义、智能指针逐个对照到 C 里的手写模式:函数指针加 void* ctx、深拷贝与转移所有权、手写引用计数,并用 sizeof、堆地址和 ASan 的实测结果验证每个结论。
- TAKE 0092026-11-06
怎样设计一个好架构:八个评价维度、四层思考深度,以及 23 种设计模式各自解决什么问题 STAGE
架构要解决的是变化、理解、故障和协作的成本。本文从耦合、可迁移、可适配、复杂度等八个维度讲怎么评价架构,讲维度之间怎么取舍、架构思考可以分几层,再用可编译的 C 代码过一遍 23 种设计模式。
- TAKE 0082026-11-05
POSIX 消息队列和 System V 消息队列怎么选:接口、行为差异、实测和代码示例 STAGE
两种消息队列都由内核保存消息,每条都拷两次,实测收发耗时也接近。真正的差别在怎么命名、怎么等待、怎么挑消息、怎么清理。本文给出可运行的 C 示例、实测数据、优缺点和选型顺序。
- TAKE 0072026-11-05
共享内存 IPC 怎么设计:环形队列、原子操作、内存序和 futex,附完整代码与实测 STAGE
共享内存只解决了数据搬运,同步、通知、崩溃和校验都要自己做。本文从零设计一条跨进程 SPSC 环形队列:下标怎么走、内存序怎么选、futex 怎么防丢失唤醒、进程被杀后怎么办,并给出完整 C 代码和与互斥锁、管道的实测对比。
- TAKE 0062026-11-03
进程间通信到底拷贝了几次:管道、socket、共享内存怎么选,端侧 AI 又该怎么分 STAGE
同一条消息走管道、消息队列、Unix 域 socket、本机 TCP、Binder 和共享内存,数据各被拷贝几次,实测差多少;各自的优缺点和使用场景;放到端侧 AI 上,模型权重、摄像头帧、推理结果和控制命令又该分别走哪条通道。
- TAKE 0052026-10-28
C 变量住在哪里,进程内存为什么越来越大:从 .data / .bss 到 smaps 排查内存增长 STAGE
全局、静态、const、局部、malloc 出来的变量分别落在 .data、.bss、.rodata、栈还是堆,在 Linux 进程和单片机的 Flash / RAM 里各是什么样;进程内存越涨越大时,怎样从 /proc 的 VmRSS 曲线、smaps 快照对比一路定位到某一行代码,FreeRTOS 和嵌入式 Linux 上又该怎么查。
- TAKE 0042026-10-28
epoll 回显服务器是怎么工作的:从 accept 队列到就绪链表,以及它和 select / poll 的区别 STAGE
一个 epoll 回显服务器里,listen_fd 为什么「可读」就代表有新连接,epoll_wait 返回后的 for 循环和 select 有什么不同;水平触发与边缘触发差在哪,read / write 的每种返回值和客户端断开该怎么处理。全部结论附 WSL 实测。
- TAKE 0032026-10-27
从三次握手到 TLS 1.3:TCP 建连、挥手、双向认证与线上排障 STAGE
TCP 怎么建立和关闭连接,TIME_WAIT 和 CLOSE_WAIT 分别说明了什么,重启报 Address already in use 怎么办;TLS 1.3 如何在一个往返里协商出密钥,单向与双向认证有什么区别,证书里的公钥长什么样。
- TAKE 0022026-10-20
让 AI 给任何怪物做骨骼动画:双机位视频 + 专属关节识别器 STAGE
人类有动捕和 Mixamo,怪物什么都没有。双机位消除深度歧义,用怪物自己的渲染训练关节识别器,再用一场自动考试守住质量。
- TAKE 0012026-07-13
站点技术文档:架构与扩展指南
自研静态博客生成器的目录结构、内容模型与扩展方式。