2022

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 小记