Go 语言设计与实现
为什么这么设计
GitHub
Twitter
RSS
2022
Kubernetes、集群联邦和资源分发
2022-03-19
2021
《Go 语言设计与实现》纸质书预售了!
2021-11-20
程序员可能必读书单推荐(一)
2021-07-16
如何提高缓存系统的内存利用率和可扩展性 · NSDI '21
2021-07-12
谈谈 Kubernetes 的问题和局限性
2021-04-16
为什么 Linux 和 macOS 不需要碎片整理
2021-04-10
CPU 和 GPU - 异构计算的演进与发展
2021-04-09
为什么早期的 Windows 需要整理碎片
2021-04-01
2020 年总结 · 渐入佳境
2021-03-28
Serverless 与轻量级虚拟化 Firecracker · NSDI '20
2021-03-27
你该如何为 Kubernetes 定制特性
2021-03-23
集群管理系统 Mesos 的设计原理 · NSDI '11
2021-03-19
为什么 Kubernetes 要替换 Docker
2021-03-09
内存管理设计精要
2021-02-27
为什么 OLAP 需要列式存储
2021-02-02
数据中心的电力超售 · OSDI '20
2021-01-30
Facebook 集群调度管理系统 · OSDI '20
2021-01-30
纳秒级高性能日志系统 · ATC '18
2021-01-29
数据中心的容错时钟对时 · OSDI '20
2021-01-29
2020
为什么 Linux 需要 Swapping
2020-11-10
为什么 HugePages 可以提升数据库性能
2020-11-04
为什么 NUMA 会影响程序的延迟
2020-10-23
NVMe 固态硬盘与键值存储 KVell · SOSP '19
2020-10-17
分布式存储 Ceph 的演进经验 · SOSP '19
2020-10-08
关系感知路由与全球流量调度 · SOSP '19
2020-09-30
流量管理与数据中心故障缓解 · OSDI '18
2020-09-18
微服务架构的分布式容错 · SOSP '19
2020-09-16
数据布局服务与局部性管理 · OSDI '18
2020-09-08
操作系统模型与乐高积木 · OSDI '18
2020-08-11
为什么 CPU 访问硬盘很慢
2020-08-07
处理器感知线程管理系统 · OSDI '18
2020-06-10
为什么数据库不应该使用外键
2020-06-01
为什么 Linux 默认页大小是 4KB
2020-05-27
为什么系统调用会消耗较多资源
2020-05-20
Go 语言 HTTP 标准库的实现原理
2020-05-17
为什么集群需要 Overlay 网络
2020-05-13
Kubernetes 贡献指南
2020-05-06
为什么 IPv6 难以取代 IPv4
2020-05-05
为什么 MAC 地址不需要全球唯一
2020-04-29
Go 语言 JSON 的实现原理
2020-04-25
为什么 0.1 + 0.2 = 0.3
2020-04-21
为什么这么设计系列文章
2020-04-19
Go 语言的代码生成机制
2020-04-18
为什么 MySQL 的自增主键不单调也不连续
2020-04-14
为什么 Linux 需要虚拟内存
2020-04-08
Go 语言的动态库和插件系统
2020-04-05
为什么 0.1 + 0.2 = 0.300000004
2020-04-01
圣杯与银弹 · 没用的设计模式
2020-03-30
Go 语言的栈内存和逃逸分析
2020-03-23
Go 语言垃圾收集器的实现原理
2020-03-16
为什么 TCP 协议有 TIME_WAIT 状态
2020-03-10
为什么 TCP 协议有粘包问题
2020-03-05
如何管理自己的时间资产
2020-03-03
Go 语言内存分配器的实现原理
2020-02-29
为什么 HTTPS 需要 7 次握手以及 9 倍时延
2020-02-26
为什么流媒体直播的延迟很高
2020-02-19
Go 语言系统监控的实现原理
2020-02-15
为什么 TCP/IP 协议会拆分数据
2020-02-12
Go 语言网络轮询器的实现原理
2020-02-09
为什么比特币可以防篡改
2020-02-06
调度系统设计精要
2020-02-02
为什么数据库会丢失数据
2020-01-26
为什么 Go 语言没有泛型
2020-01-17
Go 语言数组的实现原理
2020-01-10
为什么 UDP 头只有 8 个字节
2020-01-09
2019 年总结 · 拥抱变化
2020-01-05
为什么 TCP 协议有性能问题
2020-01-02
2019
为什么 Redis 快照使用子进程
2019-12-17
为什么 MySQL 使用 B+ 树
2019-12-11
为什么总是需要无意义的 ID
2019-12-06
为什么基础服务不应该高可用
2019-12-01
技术文章配图指南
2019-11-27
为什么 MD5 不能用于存储密码
2019-11-21
为什么 DNS 使用 UDP 协议
2019-11-13
为什么你应该使用 Git 进行版本控制
2019-11-07
为什么 TCP 建立连接需要三次握手
2019-10-28
为什么使用通信来共享内存
2019-10-24
为什么 Redis 选择单线程模型
2019-10-18
Go 语言反射的实现原理
2019-10-12
Go 语言调度器与 Goroutine
2019-09-14
Golang 并发编程与定时器
2019-07-13
Golang 并发编程与同步原语
2019-06-30
Golang 并发编程与 Context
2019-06-08
如何写出优雅的 Go 语言代码
2019-05-30
浅入浅出 Go 语言接口的原理
2019-05-12
Go 语言中的 make 和 new
2019-04-18
谈谈 panic 和 recover 的原理
2019-04-13
理解 Go 语言 defer 关键字的原理
2019-04-07
浅谈 Go 语言 select 的实现原理
2019-03-30
Go 语言 Channel 实现原理精要
2019-03-23
Go 语言 for 和 range 的实现
2019-03-17
谈 Golang 中的字符串和字节数组
2019-03-11
理解 Golang 哈希表 Map 的原理
2019-03-09
详解 Kubernetes Job 和 CronJob 的实现原理
2019-03-05
详解 Kubernetes DaemonSet 的实现原理
2019-03-01
详解 Kubernetes StatefulSet 实现原理
2019-02-28
详解 Kubernetes Deployment 的实现原理
2019-02-24
Go 语言数组和切片的原理
2019-02-20
详解 Kubernetes 垃圾收集器的实现原理
2019-02-17
详解 Kubernetes ReplicaSet 的实现原理
2019-02-16
Elixir 从入门到放弃
2019-02-13
指令集架构、机器码与 Go 语言
2019-02-08
详解 Golang 中间代码生成
2019-02-04
Golang 如何进行类型检查
2019-02-03
解析器眼中的 Go 语言
2019-02-02
Go 语言编译过程概述
2019-02-01
2018 年总结 · 初窥门径
2019-01-31
理解 Golang 中函数调用的原理
2019-01-20
详解 Kubernetes Volume 的实现原理
2019-01-14
详解 Kubernetes Service 的实现原理
2019-01-01
2018
详解 Kubernetes Pod 的实现原理
2018-12-25
从 Kubernetes 中的对象谈起
2018-12-09
谈 Kubernetes 的架构设计与实现原理
2018-11-25
详解 DNS 与 CoreDNS 的实现原理
2018-11-07
高可用分布式存储 etcd 的实现原理
2018-10-22
详解分布式协调服务 ZooKeeper
2018-09-22
分布式系统与消息的投递
2018-08-24
分布式事务的实现原理
2018-08-14
GraphQL 在微服务架构中的实践
2018-07-16
去中心化支付系统 Stellar
2018-06-23
物联网与『高效的』IOTA
2018-06-07
分布式文件系统 IPFS 与 FileCoin
2018-05-22
浅入浅出智能合约 - 调用(三)
2018-05-09
浅入浅出智能合约 - 部署(二)
2018-04-25
浅入浅出智能合约 - 概述(一)
2018-04-11
UTXO 与账户余额模型
2018-04-08
2017
2017 年总结 · 写在转职后的一个月
2017-12-27
分布式一致性与共识算法
2017-12-18
谈元编程与表达能力
2017-12-10
Docker 核心技术与实现原理
2017-11-30
Ruby Web 服务器的并发模型与性能
2017-11-17
浅谈 Puma 的并发模型与实现
2017-11-10
浅谈 Unicorn 的多进程模型
2017-11-08
浅谈 Thin 的事件驱动模型
2017-11-04
浅谈 WEBrick 的多线程模型
2017-11-01
谈谈 Rack 的协议与实现
2017-10-29
自动初始化 Gitalk 和 Gitment 评论
2017-10-28
分布式键值存储 Dynamo 的实现原理
2017-10-24
全面理解 ActiveRecord
2017-10-21
如何从 MongoDB 迁移到 MySQL
2017-10-10
浅谈数据库并发控制 - 锁和 MVCC
2017-10-01
MySQL 索引性能分析概要
2017-09-16
MySQL 索引设计概要
2017-09-11
『浅入浅出』MongoDB 和 WiredTiger
2017-09-06
Sidekiq 如何处理异步任务
2017-08-28
『浅入深出』MySQL 中事务的实现
2017-08-20
浅析 Bigtable 和 LevelDB 的实现
2017-08-12
『浅入浅出』MySQL 和 InnoDB
2017-08-06
浅谈 MVC、MVP 和 MVVM 架构模式
2017-06-26
谈谈 MVX 中的 Controller
2017-06-25
谈谈 MVX 中的 View
2017-06-24
谈谈 MVX 中的 Model
2017-06-23
如何优雅地使用 KVO
2017-03-06
从代理到 RACSignal
2017-02-25
理解 RACScheduler 的实现
2017-02-17
RAC 中的双向数据绑定 RACChannel
2017-02-16
用于多播的 RACMulticastConnection
2017-02-15
优雅的 RACCommand
2017-02-10
『可变』的热信号 RACSubject
2017-02-07
Pull-Driven 的数据流 RACSequence
2017-02-04
『状态』驱动的世界:ReactiveCocoa
2017-01-30
2016
Redis 是如何处理命令的(客户端)
2016-12-23
Redis 中的事件循环
2016-12-09
Redis 和 I/O 多路复用
2016-11-26
预加载与智能预加载(iOS)
2016-11-04
谈谈 DSL 以及 DSL 的应用(以 CocoaPods 为例)
2016-10-03
CocoaPods 都做了什么?
2016-09-26
从 Auto Layout 的布局算法谈性能
2016-08-31
使用 ASDK 性能调优 - 提升 iOS 界面的渲染性能
2016-08-22
如何进行 HTTP Mock(iOS)
2016-08-16
iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
2016-08-16
如何在 Objective-C 中实现协议扩展
2016-08-13
iOS 中的 block 是如何持有对象的
2016-08-09
对象是如何初始化的(iOS)
2016-08-07
如何实现 iOS 中的 Associated Object
2016-08-02
检测 NSObject 对象持有的强指针
2016-08-01
如何在 iOS 中解决循环引用的问题
2016-07-30
动态修改 C 语言函数的实现
2016-07-26
如何在 Objective-C 的环境下实现 defer
2016-07-19
『零行代码』解决键盘遮挡问题(iOS)
2016-06-22
关联对象 AssociatedObject 完全解析
2016-06-08
黑箱中的 retain 和 release
2016-05-30
自动释放池的前世今生 ---- 深入解析 autoreleasepool
2016-05-16
上古时代 Objective-C 中哈希表的实现
2016-05-07
成熟的夜间模式解决方案
2016-05-04
懒惰的 initialize 方法
2016-04-30
你真的了解 load 方法么?
2016-04-28
从源代码看 ObjC 中消息的发送
2016-04-25
深入解析 ObjC 中方法的结构
2016-04-23
从 NSObject 的初始化了解 isa
2016-04-21
验证 HTTPS 请求的证书(五)
2016-04-16
AFNetworkReachabilityManager 监控网络状态(四)
2016-04-13
处理请求和响应 AFURLSerialization(三)
2016-04-12
AFNetworking 的核心 AFURLSessionManager(二)
2016-03-30
AFNetworking 概述(一)
2016-03-21
神奇的 BlocksKit (二)
2016-03-10
神奇的 BlocksKit (一)
2016-03-10
iOS 源代码分析 ---- Alamofire
2016-03-10
iOS 源代码分析 ---- MBProgressHUD
2016-03-10
2015
链式语法与 Objective-C
2015-05-27
DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式
2015-05-09
使用代码为 Xcode 工程添加文件
2015-05-06
iOS 源代码分析----Masonry
2015-04-27
关于一些 iOS 面试问题的解答
2015-04-26
Swift 类构造器的使用
2015-04-22
iOS 源代码分析----SDWebImage
2015-04-12
Prolog 列表和运算符 <4>
2015-04-10
Prolog 递归 <3>
2015-04-09
Prolog 匹配 <2>
2015-04-07
Prolog 基础 <1>
2015-04-05