go-clone:当深度拷贝遇到 GC,如何避免出错
一个每天偶发几次的崩溃:unsafe 拷贝绕过了写屏障,破坏了 GC 的三色标记,最后如何安全地修好它。
记录 AI、工程实践与系统设计的思考与笔记。精选文章排在列表最前面。
一个每天偶发几次的崩溃:unsafe 拷贝绕过了写屏障,破坏了 GC 的三色标记,最后如何安全地修好它。
travis-ci.org 关停、credit 按量扣除之后,我试了 Circle CI,并把几十个仓库的构建配置迁移过去。
反射很慢,但深拷贝可以更快:浅拷贝加定点替换、拷贝未导出字段,以及减少反射次数的几种手法。
断言失败时自动打印 buf、s1、s2 的值:go-assert 如何借助 DWARF 调试信息拿到上下文变量。
为什么 Go 里通用的深拷贝库这么少?go-clone 用反射实现深拷贝,以及它对递归指针和 interface 的处理。
断言失败时只看到一行 Fatalf 太难受了,go-assert 用 runtime.Callers 和 go/parser 把出错的表达式原文打印出来。
从 Essential Go 到 Go Web 编程:我推荐给 Go 初学者的几份资料,以及它们各自适合的阶段。
2016 年滴滴架构升级的复盘:模块染色、代码治理、无状态化,以及重构之后 crash 率反而下降的原因。
1 / 1 · 8 篇