2024

01-27 2023 年终总结

2023

12-22 AWS EC2 机型漫游小指南
08-21 漫谈 LLM 下的软件工程
08-08 GitHub Actions?! 想说爱你不容易之记一次 Release CI 重构经验
01-24 回乡散记
01-14 聊聊 GitOps
01-01 2022 年终总结

2022

08-20 如何技术面试一个人
06-01 Rust 的声明宏机制
05-20 聊聊用户态 BPF
05-14 BPF 中的循环
02-11 Rust 的包管理机制
02-03 Rust 的 Pin 机制
01-01 2021 年终总结

2021

12-17 BTF 数据格式初探
12-12 Operator 中的更新冲突问题
12-11 bpftool cheatsheet
12-04 BPF 简史
06-30 Gopher China 2021 见闻
05-11 用 Rust 写 eBPF 程序
05-03 Rust 的条件编译机制
04-28 Rust 入门小指南
03-19 eBPF 的 CO-RE 特性
01-03 2020 年终总结

2020

05-29 Policy DSL 的思考
04-29 OPA 开源项目介绍
01-31 2019 年终总结

2019

12-06 如何高效沟通
11-09 Go Modules 必知必会
09-05 kubectl cp 命令安全漏洞分析
09-01 Kubernetes ServiceAccount 安全性分析
07-18 使用 Go Failpoint
06-23 Go 代码的文档化
06-04 怎么写好 commit message
04-24 漫谈 Erlang
02-04 CoreDNS 插件系统的实现原理
01-31 一个强大的基于 Go 的 DNS 库
01-22 Kubernetes 中 Pod 的选举过程
01-20 etcd 中线性一致性读的具体实现
01-09 Raft 算法的前世今生
01-06 etcd 如何用 bbolt 存储数据
01-06 btree 的使用
01-05 2018 年终总结
01-04 bbolt 初体验

2018

12-21 从 RAID 到 NVCache
12-21 Calico IP 分配策略
11-21 ucontext 函数族的使用及协程库的实现
10-01 浅谈实时通信的编程模型
07-15 glog 使用及实现分析
07-02 Go sync 包的使用
07-01 Go channel 的一些特点
06-23 TCP 协议中的 PSH 和 URG
06-18 Go 的方法
06-18 Go 的 Defer,Panic 和 Recover
06-17 HTTP 备忘录
06-17 Go struct 中 field tag 的定义与使用
06-04 Go Project Layout 的设计
06-03 容器化平台定时任务设计调研笔记
05-23 Go 的类型断言
05-19 TCP/IP 协议报头速查
04-24 如何使用 UTS Namespace
04-24 Linux Namespace 特性简要介绍
04-23 TCP 的握手和挥手
04-22 CoreDNS 使用与架构分析
04-21 chroot 小记