Golang 中的测试

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

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

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

Read More

Golang 中的错误处理

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

Read More

Golang 中的 stream

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

Read More

当我换工作时我谈些什么

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

Read More

Helm 实践之持续交付

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

Read More

Helm 实践之配置管理

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

Read More

Helm 入门之基础

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

Read More

犯罪现场与事故处理

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

Read More

不要让你的队友失败

第一次看见这句话,来自于『二爷鉴书』,也就是之前 工程师与产品经理相处之道 提到的邱岳的公众号。 这句话还是让我挺受启发的,因为遇到过相似的场景。 与客户端同事 记得有次在与客户端同时讨论技术方案的时候,我当场发脾气了。 当时与客户端讨论的是如何实现我们产品中的某项多客户端数据同步的进一步需求。这种数据的同步在以前的实现很简单,我们是按数据项的对比方案来实...

Read More

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

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

Read More

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

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

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

Read More

gRPC 的介绍以及实践

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

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

Read More

划一划 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 证书。

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

Read More

微服务设计模式之API 网关

简介

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

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

Read More

一个 MongoDB 批量更新的提示

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

Read More