记录 Divide and Conquer 的算法实现
Algorithm Binary Indexed Tree
Posted on
记录 Binary Indexed Tree 的算法实现
Redis Transaction
Posted on
Redis 可以通过自带的 Transaction 命令实现乐观锁版的 ACID 事务。
Go 逃逸分析原理及常见问题
Posted on
以前在 C++编程中要自己识别对象是在堆上还是栈上,如果把栈上地址(指针)返回了可能导致严重问题;同样,如果用 new/malloc 在堆上申请空间,可能造成内存泄漏问题。 Go 编译器实现了自动逃逸分析,变量对象的具体申请空间是根据分析情况决定的,这样省去了我们需要主动识别的烦恼,但同时带来了潜在的性能问题,需要注意。
Go defer 原理及常见问题
Posted on
Go 的defer关键字实现了栈式”善后操作”,类似 java 的 finally,极大的简化了开发复杂度,这里记录其基本原理及常见问题。
Supervisor 基本功能
Posted on
一般在 linux 后台运行程序时通过nohup ... &
实现,但是有很多不稳定的问题。
Supervisor 提供了非常方便的进程管理功能,能够满足正式线上环境的使用。
Algorithm Math
Posted on
记录 Math 的算法实现
Zookeeper 分布式设计方案
Posted on
Zookeeper 是一个分布式网络文件系统
Redis集群方案
Posted on
基本的 Redis 分布式结构可参考Redis 分布式 这里继续探讨 Redis 集群方案中涉及的一致性问题
Go select 常见问题
Posted on
Go 中的 select 提供了方便的多路复用功能,这里记录几个常见的”坑”。