错误经 %w 包装后,== 和类型断言都会失效。本文按读者的疑问路径拆解 errors.Is、errors.As 与 Go 1.26 新增的 errors.AsType:三者各自交付什么、为什么 errors.As 的第二个参数要传地址、两个运行时陷阱,以及如何选择。
重新认识 top:从内核视角读懂每一个数字
top 是排障的第一入口,也是误读的重灾区:%CPU 超过 100%、load 高而 CPU 闲、free 变小、僵尸杀不掉,都源于把展示层数字当成资源事实。本文从 /proc 与内核统计口径出发,逐行拆解 top 的一屏两区,讲清高频误区与实践要点。
广播风暴的根源,是一个永远不会“死”的帧
一条为冗余而加的双上联,让全网秒级瘫痪。环不在某一层,而在接入、汇聚 A、核心、汇聚 B 构成的闭合路径上。根源是二层帧没有 TTL,交换机又默认泛洪。本文从源学习目的转发推导到放大条件、MAC 漂移与单播沦陷,再讲 STP 为何只能从几何上破环。
Go 错误处理演进:从 1.0 到 1.26
从 Go 1.0 到 1.26,错误处理的内核始终是错误是值。梳理五个演进阶段、一次被否决的语法提案,附最佳实践与速查表。
Go 的函数调用:从内存地址讲到栈帧
没有栈行不行?函数调用一定要靠栈来完成吗?从地址编号讲到 SP 的加减,用七个动作和九张图拆开一次函数调用:栈帧凭什么长成那个样子、返回地址存在哪、为什么偏移量能在编译期定死、闭包变量为什么留不住。
Linux 忘记密码怎么办:从原理到实战
从口令哈希与启动链认证时机讲清重置密码的原理,覆盖 Ubuntu、RHEL 7/8/9、openEuler、麒麟 V10 及云主机的完整操作,含 SELinux 标签、GRUB 默认口令等实测坑点。
同样的文件体积如何换来更清晰的 Word 和 PDF 截图
截图在 Word 里发糊,多半和压缩选项无关。本文讲清有效 ppi 换算、插入到导出的三次变换、PNG 与 JPEG 的取舍,并实测六种 PDF 导出路径。
M-LAG(下·排障篇):排障不是碰运气,是沿着流量走一遍
排障不是碰运气,是沿着流量走一遍:知道每个包正常时怎么走,才知道故障断在哪。本篇先把 M-LAG 各类流量逐包推演一遍——正常怎么转、故障怎么绕;再按部件拆解四大故障场景的排查路径,附七个生产环境经典坑。看懂包的旅程,脑裂、黑洞、误判都无处可藏。
M-LAG(中·部署篇):配置顺序不是习惯,是依赖
M-LAG 的配置顺序不是习惯,是依赖:两个大脑先配对,才谈得上同步;同步跟得上,才敢对外露脸。本篇按这条依赖链把华为全套配置一步步搭起来,每段命令紧跟验证,告诉你该看到什么算对;再讲升级接力赛与日常巡检,让这台演出来的设备搭得起、更守得住。
一篇讲透 Linux 归档与压缩的设计哲学
敲了十年 tar,你可能没意识到它一个字节都不压缩。本文以一条流为主线,从查看、打包、解压讲到流式传输与备份,带你重新理解这个最被误解的命令。