在Rails中尽早碾碎N+1查询

本文已获得原作者(Vladimir Dementyev)和 Evil Martians 授权许可进行翻译。原文介绍了 对于 Rails 中经典的 N+1 问题,我们通常使用的 Bullet 的局限性,以及如何运用 n_plus_one_control 以测试的方式来尽早发现 N+1 查询。

Build Docker时使用SSH Private Key的新玩法

在实际工作中,Build Docker 镜像时,经常碰上需要在 Docker 镜像内用到 SSH Private Key 的场景。比如 Docker 镜像内要从 GitHub、GitLab 的私有库 Clone 代码,或者要安装私有库的Gem、NPM Package等。而如果直接把自己的 SSH Private Key 打包到 Docker 镜像中的话,是存在很大安全风险的。如何解决这个问题?

自动运行MongoDB Docker为Replica模式

最近工作中碰到一个有意思的问题:需要让 MongoDB 的 Docker 镜像以 Replica 模式运行起来。而官方 MongoDB 的 Docker 镜像默认是单机而非 Replica 模式。当然,如果你启动 Docker 后再进入容器内,手动修改配置生效,肯定能搞定。但毫无疑问这是效率很低的做法。如何让这一切自动实现,而不是每次重新运行 MongoDB 都手工去改?

TestProf文档中文版翻译完成上线

我在前几篇博客中翻译推荐了关于 TestProf 的一些使用方法和技巧,这个 Evil Martins 出品的 Ruby 测试工具 Gem 的强大和有趣,从中可窥一斑。要想了解和使用 TestProf 的全部功能,当然还是需要去看它的官方文档(地址:https://test-prof.evilmartians.io)。顺便说一句,连这个 Gem 文档的网站都秉承了 Evil Martins 的一贯风格,同样的精致,同样的讲究设计感。

“端口—适配器”模式的概念(3)

这是“端口—适配器”模式的概念梳理第三部分。

“端口—适配器”模式的概念(2)

这是“端口—适配器”模式的概念梳理第二部分。