Shepherd:自动执行跨仓库代码更改

内森·沃尔特斯(Nathan Walters) 在NerdWallet,我们已经完全接受了现代微服务架构。 我们的网站由数十个React应用组成,这些应用从各种内部服务中提取内容和数据。 这种工作方式具有明显的好处:团队可以独立工作,快速迭代并通过故障隔离频繁部署。 当使用这么多代码库时,希望将常见组件提取到可重用的包中:我们拥有共享库,这些库提供服务器端渲染,数据获取,缓存,React组件等。 这对于提高设计一致性和减少需要进入新应用程序的样板数量非常有用。 但是,这会使更新共享库变得困难: 更新图书馆的人必须将更改通知图书馆的使用者 消费者必须了解如何进行更改并随后更新其代码 使用者必须测试,合并和部署这些更改 即使是相对较小的更改,此过程也很容易在我们所有团队中花费数百个工时。 这个确切的问题在最近来自Segment的广泛分享的博客文章中提到,他们讨论了为什么他们重​​新回到整体市场: 测试和部署对这些共享库的更改影响了我们的所有目的地。 它开始需要大量的时间和精力来维护。 进行更改以改进我们的库,知道我们必须测试和部署数十种服务,这是一个冒险的提议。” 当共享代码更改时,更新应用程序所需的时间就是可以在我们的产品上进行创新的时间。 作为一名工程师,我的自然志向是使一切可能自动化的东西都自动化。…

有这么多框架,您如何选择?

影像学 似乎每个月都会弹出一个新的前端框架,声称它是“一个”框架。 因此,如果您现在已经开始自学编程,那么就像我们中的某些人一样,您可能会感到困惑。 出现了如此众多的框架,您如何选择要使用的框架? 找到一个已经存在并且将会存在的地方 例如,Angular。 现在,他们每6个月左右就会发布一个新版本,但是,他们已经存在了一段时间,并且拥有一支声誉卓著的团队。 如果您想专注于自己的能力,请选择一个符合标准的人。 尽管可能还有其他人可以在您要完成的任务上做得不错,但它们可以轻松消失,这似乎是事实。 持续时间很少,并且最喜欢持续时间足够长的人会获得足够的关注。 这篇文章简短而有趣,希望对您有所帮助。 接着说。 专注于坚实的框架。 对我来说,这是Angular4。它非常流行,很坚固,已经存在了一段时间,在我眼中,它已经存在了一段时间。 不要因每个新框架而灰心或分心。 为了做最适合自己的事情,请选择一个坚实的基础,而不是从一个框架跳到另一个框架,而实际上并不学任何东西。 一旦您了解该框架,就可以开始与其他框架打交道,只是为了建立自己的产品组合并提高自己的技能(如果选择),但是请不要忽略所选的框架! 但是,在弄乱框架之前,请确保(尤其是如果您知道的话)确保您具有扎实的基础知识:HTML,CSS和JS。…