ProtoBuf 与 gRPC

用 Protobuf 很久了,但是一直觉得很简单,所以就没有做一个总结,今天想尝试一下 gRPC,顺带就一起总结一下。包括 Protobuf 的用法以及一些设计要素,并且和如何与 gRPC 配合使用在本文都有一个可使用的介绍。

Go 语言模板指导

最近因为用到了 Go 语言的模板,所以对 Go 语言的模板特性和功能进行了一个小总结,介绍一些基本的使用和一些功能的用法。

Python 操作 GA API 指南

因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思的,可能有一些新的设计理念,值得思考学习一番。但是这不是这篇文章的重点,这篇文章还是介绍一下 GA 的 Python API V4 版本的使用,顺带在最后解答几个我再使用过程中遇到的问题。

垃圾回收(GC) 的基本算法

GC 作为一个长久的话题,从诞生[1]至今也算是经历了六七十年了,对于很多习惯于使用 Java/Python 的同学来说,对于内存的管理可能会稍微更陌生一些,因为这些语言在语言层面就屏蔽了内存的分配和管理,帮助我们减少了超多的麻烦。本文就对一些基本的内存管理回收算法进行介绍,从而揭开 GC 的一小块面纱。

Go 语言打包静态文件

对于 Go 语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的。但是,一旦遇到我们需要分发的东西不只有可执行文件的时候,事情就变得稍微有点复杂了,例如,需要分发个默认的配置文件;或者说是一个 Web 服务需要附带一些简单的 js/css 文件之类的,本文就介绍一种比较轻便简单的打包静态文件的方法。

Go 语言编写单元测试

Go 语言对于单元测试是很重视的,同时 Go 语言让 UT 编写也相对简单,本文就对这一件简单的事情进行介绍,希望对不喜欢写 UT 的同学有一点帮助

从开源项目看 Python 单元测试

我觉得以前在我开发程序的时候,除了文档,可能单元测试是另外一个让我希望别人应该都写,但是自己又一点都不想写的东西。但是,随着经验得积累,我发现 UT 的重要性在我的开发过程中不断得提升,本文就以个人所想和所见谈一谈对于 UT 的一些看法。

从开源项目看python代码注释

注释对于代码来说必不可少又不容易编写,软件文档也是如何。但是如果我们按照一定的套路去完成,即使出来的东西不是完美的也差不到哪去,本文就介绍了一些常用 python 注释套路.

Celery 源码解析八:State 和 Result

在前面几篇解析中,我们已经看过了 Worker 是如何运行的,Task 是如何创建的,以及怎么被路由到 Worker 中,除了这些之外,我们还对流量限制,Worker 控制和 Task/Worker 产生和处理 Event 进行了介绍。但这却不是全部,今天我将继续和大家一起来看看 Celery 的 Task Result 和 State 相关的内容。

Celery 源码解析七:Worker 之间的交互

前面对于 Celery 的分布式处理已经做了一些介绍,例如第五章的 **远程控制** 和第六章的 **Event机制**,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的,对于多实例直接的交互更多,这就是 Gossip 和 Mingle。