高级软件工程师教会小白的那些事(13)

部署为秘密文件?文件来自哪里?它是如何填充的?

我们不想手动地去做事情。

最后,我们使用了具有角色访问控制的数据库(只有我们和我们的机器可以与数据库通信)。我们的代码在启动时从这个数据库获取秘密。这在开发,beta和生产中都有很好的复现,各自的数据库中都有秘密。

同样,如果你用的是AWS等云提供商提供的服务,情况可能会有很大不同。你不必多考虑秘密。获取你的角色帐户,在UI中输入秘密,你的代码将在需要时找到它们。这样简化了不少东西,挺酷的——但我很高兴自己有前面的经验可以来欣赏它的简洁性。

设计时考虑到维护

设计系统令人兴奋。而维护呢?就不怎么样了。

我的维护经历让我想到了这个问题。系统是为何以及如何退化的?

首先是不弃用旧的,反而总是添加更多新的东西。倾向于添加而不是删除。(让你想起某人了吗?)

其次是设计时总想着最终目标。一个不断发展着去做不是自己本应做的事情的系统,表现必然没有那些从一开始就目标明确的系统好。这是采取后退一步的方法,而不是马上上手。

推荐阅读