腾讯 Code Review 规范出炉!
作者:cheaterlin前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平
理解 LSM 树:写入密集型数据库的秘诀
日志结构的合并树(log-structured merge-tree LSM 树)通常是在处理大量写任务时使用的数据结构。通过顺序写来优化写入路径。 LSM 树是许多数据库(包括 BigTable, Cassandra, Scylla,和 RocksDB)背后的核心数据结构。 …
用流程图来理解 - ZooKeeper 中的 ZAB 协议
ZAB 协议全称 ZooKeeper Atomic Broadcast,是 zookeeper 维持数据一致性的核心算法。基于该协议,zk 实现了主备模式的系统架构来保持集群中各副本的一致性。对于改变服务状态的写请求,通过一致性协议处理同步。对于读请求可以在本地副本上进行返回。…
[译] 5 种主流的软件架构模式
在全球软件架构峰会上,我们讨论了很多软件架构模式,我决定写一篇关于它的文章,重点介绍领先的软件架构师的见解。 架构模式是经过验证的良好架构设计,以便我们继续重用。软件架构师一直在获取和重用被证明是成功的架构模式。 更具体地说,架构模式是在实践中反复发现的设计决策,具有良好的可重…
[译] 如何写好 Go 代码
但首先,我想给阅读这篇文章的读者解释一点。好代码是主观的。你可能对于好代码这一点,有完全不同的想法,而我们可能只对其中一部分意见一致。另一方面,我们可能都没有错,只是我们从两个角度出发,从而选择了不同的方式解决工程问题,并不意味着意见不一致的不是好代码。 包很重要,你可能会反对…
探索 Go 中接口的性能
在 Go 中使用接口(interface{})好像有性能问题,但是真的如此吗,或者我们有哪些可以提升的空间,来看一下 golang 的一个 issue。例子中跑了三个 benchmark,一个是接口调用,一个是直接调用,后面我又加了一个接口断言后调用。 常多。但是,当我们将类型…
Go 并发模式
Actor 模型是一个通用的并发编程模型,可以应用在几乎任何一种编程语言中,典型的是 Erlang。多个 actor(进程) 可以同时运行、不共享状态、通过向与进程绑定的消息队列(也称为信箱)异步发送消息来进行通信。 actor-1 与 actor-2 进程通信依赖一个消息队列…
基础:Java中的基本数据类型讲解(数值型、字符型、布尔型)
来源:程序猿的内心独白数据类型整数型注意事项:占用的字节数越大,取值范围也就越大,存储的数据也就越大现实开发中,我们应选择合适的数据类型,切记不要超过数据类型的取值范围补充:开发中一般使用int类型来代替short和byte类型代码展示:publicclassTest{//编写main方法,写法固定