Golang 中的测试

长期以来,有时候会不重视测试,尤其是赶项目时间的时候,而近来自己可以规划的时间多了之后,就开始想,如何才能把测试做好。

在这个实践测试的过程中,我也开始对一些设计原则有了更深一步的理解与思考。

杰出的开发者每编码一小时,就会花上两小时进行测试。 – Bruce Rosenblum, Disney-ABC TV Group President Of Business Operations

阅读全文

Golang 中的错误处理

错误处理在编程处理中,可谓是最重要也是最伤脑筋的一块内容,因为在绝大多数情况下,正确的途径只有几条,而剩下的几十上百种的情况便都是错误了,不同意?编译原理中提到的编译器了解下 :P 。

阅读全文

Golang 中的 stream

数据流的概念其实非常基础,最早是在通讯领域使用的概念,这个概念最初在 1998 年由 Henzinger 在文献 87 中提出,他将数据流定义为 “只能以事先规定好的顺序被读取一次的数据的一个序列”。[1]

阅读全文

当我换工作时我谈些什么

辞职换工作已有一月有余,正是可以谈谈这件事情的时候,而我选现在这个时间点来谈谈这件事情,也是为了想比较客观地谈谈这件事情。

阅读全文

Helm 实践之持续交付

这是 Helm 系列的第三篇,在前两篇中,我介绍了 Helm 的入门 以及 配置实践,而今天我们来说说 Helm 持续发布的实践。

阅读全文

Helm 实践之配置管理

这是 Helm 系列的第二篇,今天来说说与它相关的应用配置管理的实践。

阅读全文

Helm 入门之基础

Helm 最近是越来越得到大家的认可了,其实一年之前我们团队就开始用了,而今天我是想把这个工具的使用经验总结下。

阅读全文

犯罪现场与事故处理

这周插播一个有趣的主题,首先说明,这个『犯罪现场』指的是一款桌游。

阅读全文

不要让你的队友失败

第一次看见这句话,来自于『二爷鉴书』,也就是之前 工程师与产品经理相处之道 提到的邱岳的公众号。

阅读全文

如何在 Node.js 中更优雅地使用 gRPC:grpc-helper

在上一篇的 gRPC 的介绍以及实践 中,而在文末,我简单介绍了给 Node.js 做的 grpc-helper,但是现在,我觉得得用一篇完整的博客来好好介绍,毕竟还是想要给大家用的,以下我会介绍我实现这个工具的过程,以及我的一些实现思路。

阅读全文

你的团队需要更好的 API 文档流程

在两年前,我提到了怎么去做 API 文档,这在这两年来以来效果不错,问题有,只是都不是很大,因为我们内部都已经形成了习惯。

但是,情况开始变化,尤其是在被 CTO 骂了之后。

阅读全文

gRPC 的介绍以及实践

gRPC 是个通用、高性能的开源 RPC 框架。它可以高效地连接单个或多个数据中心的服务。另外也可以支持可插拔的负载均衡、追踪、健康检查以及认证。最后,它也能应用于分布式计算的最后一公里来连接各种设备、手机应用、浏览器与后端服务。[1]

这里可以留意下最后一句话,这句话的意思是:你可以使用 gRPC 来取代现有的 RESTful 接口。事实上,已经有很多案例这么做了:以关键词『gRPC iOS』或者『gRPC Android』去 Google 一下就会发现很多案例。

阅读全文

划一划 HTTPS 以及 SSL/TLS 的重要知识点

首先,从我们最常见的『安全』网站来说。

我们在 Chrome 浏览器中(其它浏览器类似),假如浏览的是 https 开头的网站,会发现开头会是绿色的:『🔒安全』 字样,点击之后,会有个小悬浮窗口就会告诉你『连接是安全的』,浮窗下面会有三个选项:『证书、Cookies、站点设置』,继续点击证书,就会弹出一个窗口,里面大概会提到这个证书所对应的网址、有效期等。

以 GitHub 的为例:

www.github.com
Issued by: DigiCert SHA2 High Assurance Server CA
Expires: Saturday, June 20, 2020 at 20:00:00 China Standard Time

你看到的正是 HTTPS 协议所需要的 SSL 证书。

好了,作为好学的你,现在应该有几个问题了吧,不急,慢慢看。

阅读全文

微服务设计模式之API 网关

简介

API 网关是目前非常成熟的一种微服务与外界通讯方式的一种选型,当前你的架构是从单体架构 Monolithic 迁移过来的时候,你会发现新的服务无法很好地从旧有系统中接管流量。

这个接管,或者说迁移的过程很复杂,也很危险,一般我们也会从小流量的非核心服务开始拆,拆分完之后,你就会发现问题了:流量怎么导到新服务上面去呢?

阅读全文

一个 MongoDB 批量更新的提示

不久前在我们进行的一次重构过程中,遇到了一个 MongoDB 批量更新数据的问题。

阅读全文