开放容器标准(OCI) 内部分享

研究工程效率提升必然逃不开容器化,容器化能够屏蔽不同项目的细节,大幅度降低构建持续集成系统的难度,只需要专注于提供平台服务即可,这对我们 Team 来说尤为重要:项目历史包袱重,开发周期长,依赖众多,还正在经历主力开发语言从 PythonGolangRust 的转变。而正式发布于 2017 年的开放容器标准(OCI)的出现使得整个容器社区都在朝着标准化的方向发展,为社区注入了新的动力,很多依托于新标准的项目涌现了出来。在这样的背景下,我在例会之后进行了分享,介绍开放容器标准以及社区向着标准靠拢的努力,然后介绍一些基于标准开发的工具,最后做一些个人的展望。

Read More

QingStor 对象存储对接指北

在工作中接触到过很多不了解对象存储的开发者在对接上遇到了很多问题,这篇文章旨在从核心概念出发介绍 QingStor 对象存储,然后介绍 API 和 SDK 及其注意事项,最后总结一下遇到的常见问题,希望能解决大多数人的困惑。本文主要介绍的是 QingStor 对象存储,但是其他的对象存储概念应当相似,同样可以参考。

Read More

Go Modules 内部分享

最近在日常工作之外,我开始负责 Team 内部的工程效率提升。瞄准的第一个目标便是推动 Go Modules 在 Team 内部的普及,一方面是想淘汰祖传的依赖管理脚本,减少浪费在处理依赖问题上的时间,另一方面是为了实现 CI/CD 和可重现构建。这安利是否成功,除了要看个人的奋斗,还要看历史的行程。为了使得大家相信迁移到 Modules 好处多多,我在周一的例会后进行了一次分享,本文就是分享后的整理而成的。

Read More

Golang Panic 行为探秘

为了满足分布式系统测试的需求,我们经常需要在代码中埋下断点,以便于通过修改编译参数或者注册特定 Hook 的方式来强迫程序走特定的逻辑。这篇文章主要分享了我在实现 BreakPoint 时发现的 Golang Panic && Recover 的一个好玩行为及其背后的原因。

Read More

在 Google 日历度过的欢乐时光

前段时间终于下定决定入了 G Suite,花了点时间进行数据迁移,但是在操作日历的时候错误的把朋友们的生日提醒(每年重复)导入到了我的行程当中。为了将这些提醒删掉,我开始了一次 Google 日历的奇妙探险,找到了批量处理的方法,甚至还发现了一个 BUG。

Read More

开启 Jetbrains IDE 的全局菜单

最近在想办法提升自己的开发体验,其中有一步就是去掉了不常用和已经使用快捷键代替的按钮和菜单。但是菜单栏没有办法隐藏,导致观感上不是很好。适逢 Jetbrains IDEA 推出了 2019.1 版本,趁着体验新版本功能的时候研究并解决了这个问题。

Read More