Golang
通过控制反转降低代码耦合
或许你在学习 Spring 的时候曾听过,Spring 提供的容器叫做 IoC 容器。 IoC 是 Inversion of Control 的缩写,中文翻译为控制反转。控制反转是一种设计原则,早在 2004 年 Martin Fowler 便提出依赖反转…
Golang PIE 编译的测试
Golang 在 1.6 版本中引入了 PIE(Position Independent Executable)编译模式,它可以使得编译后的二进制文件在内存中的位置不固定,从而提高了二进制文件的安全性。
但相传 PIE 编译模式在性能和内存占用上都有一定的损耗,本文将对 PIE 编译模式进行测试,以验证这一说法。
为什么我使用 Golang 撰写容器化应用程序
在当前互联网架构圈子,容器化、微服务,是被主要讨论的话题。 显然,对于互联网的发展趋势来看,项目正在变得愈加庞大。单一的巨大的项目是不利于维护和开发的,开发者的电脑几乎难以直接承载阿里云、Azure 这种巨大的项目,那我们就需要对其进行解耦。也就是说,应用的组件化、容器化…
Golang 使用 Wire 进行依赖注入
前言 在参与 Star Horizon 的一个项目时,我得到团队内同学的启发,发现了 Wire 这个神奇的东西。
Wire 是 Google 研发并开源的一个 Golang 依赖注入解决方案,它通过解释原有文件生成新文件并用 Go Build Injector…
Go Message Queue 的简易实现
消息队列,即 Message Queue,是我们在构建 Gin 等持久化 Golang 应用程序的常用组件。
消息队列在实际应用中包括如下四个场景:应用耦合、异步处理、限流削峰和消息驱动的系统。
本文将介绍如何基于 Channel 实现一个简易的内存消息队列组件。