hawkliu
2020-11-09 10:12:04
作者:cheaterlin前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平...
hawkliu
2020-07-12 12:39:03
日志结构的合并树(log-structured merge-tree LSM 树)通常是在处理大量写任务时使用的数据结构。通过顺序写来优化写入路径。 LSM 树是许多数据库(包括 BigTable, Cassandra, Scylla,和 RocksDB)背后的核心数据结构。 …...
hawkliu
2020-06-21 08:06:57
ZAB 协议全称 ZooKeeper Atomic Broadcast,是 zookeeper 维持数据一致性的核心算法。基于该协议,zk 实现了主备模式的系统架构来保持集群中各副本的一致性。对于改变服务状态的写请求,通过一致性协议处理同步。对于读请求可以在本地副本上进行返回。…...
hawkliu
2020-06-19 08:28:17
在全球软件架构峰会上,我们讨论了很多软件架构模式,我决定写一篇关于它的文章,重点介绍领先的软件架构师的见解。 架构模式是经过验证的良好架构设计,以便我们继续重用。软件架构师一直在获取和重用被证明是成功的架构模式。 更具体地说,架构模式是在实践中反复发现的设计决策,具有良好的可重…...
hawkliu
2020-05-18 02:31:27
但首先,我想给阅读这篇文章的读者解释一点。好代码是主观的。你可能对于好代码这一点,有完全不同的想法,而我们可能只对其中一部分意见一致。另一方面,我们可能都没有错,只是我们从两个角度出发,从而选择了不同的方式解决工程问题,并不意味着意见不一致的不是好代码。 包很重要,你可能会反对…...
hawkliu
2020-05-05 15:26:24
在 Go 中使用接口(interface{})好像有性能问题,但是真的如此吗,或者我们有哪些可以提升的空间,来看一下 golang 的一个 issue。例子中跑了三个 benchmark,一个是接口调用,一个是直接调用,后面我又加了一个接口断言后调用。 常多。但是,当我们将类型…...
hawkliu
2020-02-25 16:48:08
Actor 模型是一个通用的并发编程模型,可以应用在几乎任何一种编程语言中,典型的是 Erlang。多个 actor(进程) 可以同时运行、不共享状态、通过向与进程绑定的消息队列(也称为信箱)异步发送消息来进行通信。 actor-1 与 actor-2 进程通信依赖一个消息队列…...
hawkliu
2019-12-02 17:07:57
根据插入排序的思想,我们很容易就可以完成插入排序的代码如下。 我们可以验证一下,确实没有问题。 好,现在问题来了,都知道 Go 是静态语言,那么就意味着不同的数据类型可能导致上述的插入排序不可用。比如说,某天产品想要支持 uint32 的插入排序。嗯,很简单,直接 Ctrl+c…...
点击加载更多
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
- 热门小栈
- 新小栈
- 更多