小卒子
会员还没有简介
📚 发布的文章
共 98 篇gRPC 与 Protocol Buffers 在跨语言服务间的工程实践
微服务拆到一定规模,跨语言调用一定会出现:Go 写的网关要调 Python 的推荐服务,Java 的风控又要被 Node 的 BFF 调用。HTTP + JSON 在这种场景下会暴露三类问题:契约漂移、类型丢失、序列化开销。gRPC 用 IDL 强约束契约、用 Protobuf 二进制编码消除前三者,但它不是免费的午餐。本文给出可落地的工程约定与踩坑清单。
Rust 所有权与生命周期 从编译器报错到稳定心智模型
Rust 的学习曲线几乎全部集中在借用检查器上。多数人前两周的体验是"我在跟编译器吵架"。突破点不是背规则,而是把心智模型从"值在内存里流动"换成"值的职责在编译期转移"。本文按报错类型反向梳理,建立一套可复用的判断流程。
Grafana Loki 日志聚合体系 从采集到查询的落地清单
Loki 的设计哲学是"只索引标签,不索引日志全文",这是它比 ELK 省一到两个数量级成本的根因,也是它使用门槛所在:标签设计得好,查询飞快;标签设计得糟,要么时间线爆炸让 Ingester 崩,要么查不出来。本文给一套从采集端到查询端的落地清单。
WebAssembly 在浏览器端的落地边界与性能真相
Wasm 常被宣传为"让前端跑出原生性能"。真实项目做下来,结论要收敛得多:Wasm 在计算密集、数据形状简单的场景确实有数倍收益;一旦涉及频繁跨边界传字符串或 DOM 操作,性能反而可能倒退。本文给出判断依据与实测方法。
Terraform 状态管理与多环境协作规范
IaC 项目最容易翻车的不是 HCL 语法,而是状态文件。状态一旦损坏、并发写、或者被误删,恢复成本远高于手工点控制台。本文整理一套可直接抄用的小型团队规范:状态后端选型、目录布局、工作流与防护栏。
前端构建工具演进 从 Webpack 迁移到 Rolldown 的策略
构建工具这几年换了一轮:Webpack → Vite/esbuild → Turbopack/Rspack → Rolldown。业务团队真正关心的不是"谁更卷",而是三件事:迁移风险、产物等价性、以及构建时间到底能省多少。本文给一套可执行的迁移与验证策略。
eBPF 初探 不改内核代码观测 TCP 重传
排查线上网络抖动时,最有价值的信息往往是"某次 TCP 重传发生在哪个瞬间、当时是谁的连接、耗时多少"。传统手段要么靠 tcpdump 全量抓包(成本高、隐私重),要么靠 nstat 只看计数。eBPF 可以直接在内核里挂载观测点,把重传事件带上下文吐到用户态,开销在微秒级。
Go 泛型约束设计 把接口当谓词来写
Go 1.18 引入泛型后,大量代码变成了两种极端:一种是"能不用就不用",一种是到处 T any 结果失去类型安全。真正好用的关键在约束设计——约束不是"参数类型标注",而是"编译期对类型集合的谓词"。本文给出可复用的设计套路。
Go 设计模式实战:从接口组合到选项模式的 Go 风格实现
用接口、函数值与组合重演工厂、策略、选项等模式,展现 Go 风格的设计模式与惯用法取舍。
Go 单元测试与基准测试实战:从 testing 包到表驱动与 mock 的完整实践
从 testing 包基础、表驱动测试到 mock 与基准测试,配合 -race 与覆盖率,建立 Go 单元测试的完整实践。