Go 把并发做成了语言的一等公民,写起来确实顺手:go 一下就是并发,<- 一下就是通信。顺手的代价是出问题时不好查——泄漏的 goroutine、死锁的 channel、传不到下游的取消信号,都是线上事故的常客。把这套模型的底层约定讲清楚,写起来才踏实。 一、goro…
Welcome
7AA7 Blog
Accounts require administrator approval before you can sign in with the password you set. Username must be 5+ letters or digits; email is used for password recovery.
Go 把并发做成了语言的一等公民,写起来确实顺手:go 一下就是并发,<- 一下就是通信。顺手的代价是出问题时不好查——泄漏的 goroutine、死锁的 channel、传不到下游的取消信号,都是线上事故的常客。把这套模型的底层约定讲清楚,写起来才踏实。 一、goro…
关于"要不要上微服务"的讨论里,情绪往往盖过事实。一边是把单体等同于"落后",另一边是把微服务嘲讽为"把网络当函数调"。抛开这些口水,工程上真正要回答的只有一个问题:当前系统的哪些痛点,是非拆不可的?如果列不出具体条目,拆分就是在用确定的复杂度…
接口出问题时最常见的场景是:页面上报了个含糊的错误,开发和测试互相问"是不是你那边挂了"。把接口问题调明白,靠的不是猜,而是一套分层排查的思路——先确定问题出在哪一层,再在那一层里找证据。这篇按"分层定位 → 状态码 → 头信息 → 超时与重试 → 抓包与…
MCU 上写 C 和写 Linux 应用最大的区别之一是内存是"看得见"的:编译链接完就能算出静态占用多少,剩下的 RAM 全部归栈和堆。搞清楚这五段分别装什么、在哪里定义,是排查内存类故障的前提。 五段布局与链接脚本 一段典型的布局(地址从低到高,具体排列以芯…
ADC 读回来的数字只是"某个时刻的某个电压",从它到"可信的物理量"之间还有采样、滤波、校准三段路。这三段各自有各自的坑,而且互相耦合——采样率定错了,后面再好的滤波器也救不回来。 奈奎斯特与为什么要过采样 奈奎斯特采样定理说的是:采样频率必须大于…