• 我已经协助了一些大型客户使用Kafka作为消息传递主干来构建微服务风格的体系结构,并对它的功能和真正使他们发挥作用的用例有了相当好的理解。但是我绝对不是卡夫卡的辩护律师。经历了如此迅速的采用曲线的任何技术都必定会使其受众两极分化,并以某种错误的方式吸引某些开发人员,Kafka也不例外。像其他
  • kelnos参与了工作流引擎的评估并在工作中采取了Conductor,但总体上对此并不满意。默认数据存储区是此基于Netflix特定产品(Dynomite),它是基于Redis构建定制的。普通公司在运营上将其集成到非Netflix基础架构中并不是一件容易的事,而Conductor本身就很难依
  • 今天的主题是关于Map我在许多代码评审中看到过的错误。在Java 8中,添加了一些有用的新方法: < icon
  • 在过去的几年里,我一直在构建和运营一个大型分布式系统:优步的 icon
  • 最好的设计师在工作时会采用特定的习惯、可学习的实践以及遵守的原则。是什么成就软件设计专家?传统回答是经验和天生的能力,这无法让人满意,尽管它包含了真理的要素,但它所提供的东西很少,我们无法从中学习和概括。显然,专家们不仅会随机处理他们的工作。恰恰相反,他们在设计工作中有特定的习惯,学 icon
  • 本文中的建议适用于任何API。但是,当应用程序使用动态语言(如JavaScript)编写而不是更静态的语言(如Java)时,我们会考虑更容易遇到的一些问题。Node.js有时被称为胶水,它将系统导向的体系结构保持在一起,因为它易于与多个后端服务通信并将结果拼接在一起。出于这些原因,我 icon
  • 大多数应用程序至少具有一个批处理任务,在后台执行特定的逻辑。编写批处理作业并不复杂,但是您需要了解一些基本规则,这里将列举一些我发现最重要的规则。从输入类型的角度来看,处理项目可以通过轮询数据库来实现,也可以将数据通过队列推送到系统中来实现。下面显示了典型批处理系统的三个主要组件:< icon
  • 作为开发人员,我们都知道代码审查在理论上是一件好事。他们应该帮助我们: 尽早发现错误和安全问题 提高代码的可读性 提供安全网以确保所有任务完全完成 现实情况是,代码审查对于每个参与者来说经常是一种令人不舒服的体验,导致审查变得好斗,无效甚至更糟,根本 icon
  • 您是否对客户不屑一顾?您希望他们会消失吗?当您与客户互动时,您是在默默地幻想着他们转向竞争对手的产品吗?简而言之,您讨厌客户吗?也许您应该尝试使用公司的外部API来表示不屑。什么?你怎么能做到这一点?在本文中,我记录了许多行业最佳实践,旨在向客户展示您有多讨厌他们。它们都很容 icon
  • 来自谷歌的vikerman说:微前端用例是真实的:AdWords是我见过的最大的微前端项目,其中有数十个团队的100名开发人员使用 icon
  • 在过去的几年中,当我与许多开发人员一起工作并与之交谈时,我注意到了一种重复的模式。这一直困扰着我很多,我一直在思考和讨论:您为什么要采用这种方法? 我不知道。在某篇文章中。 我不知道。我从X复制粘贴了它。 我不知道。我在上一个项目中就是这样做的。 icon
  • 可维护和可读的测试代码对于建立良好的测试覆盖率至关重要,这反过来又可以实现新功能并执行重构而不必担心破坏某些内容。这篇文章包含了作者在Java中编写单元测试和集成测试多年来收集的许多最佳实践。它涉及现代技术,如JUnit5,AssertJ,Testcontainers和Kotlin。一些建议 icon
  • 本指南将为读者提供有关财务建模最佳实践的信息,以及如何在Excel中构建财务模型的简单易学的分步指南。这些提示改编自CFI讲师,拥有超过15年的金融分析师培训经验。模型构建的关键结构. 模型构建的关键结构在建模中, icon
  • 这是一篇.NET中Akka的领域事件和命令设计文章,阐述如何通过设计事件使Akka.NET编程更容易。详细点击标题见原文: 1. 慷慨地使用标记/身份接口如果我们有大量的域事件用于交易股票,所有这些事件都有 icon
  • 通往地狱的道路充满了良好的愿望。希望您可以从我们的错误中学习并发现为什么在开始下一个项目时应该考虑极简主义。在Spaceship,Voyager应用程序后端的第一个迭代很大程度上依赖于Kafka。我们的意图是崇高的:创建一个应用程序,随着我们的客户群的增长,该应用程序将具有可审核性, icon
  • 这是从Kubernetes Patterns一书综合而来的初学者必知的十大设计模式。熟悉这些模式将帮助您理解Kubernetes的基本概念,从而在讨论和设计基于Kubernet icon
  • 本文指出了所有开发人员在审查其代码或提交拉取请求时可能遇到的特定反模式,并对此进行了谴责。代码作者花了数小时甚至数天的时间来创建他们认为最有效的解决方案。他们考虑了多种设计方案,并采取了最相关的道路。他们考虑了现有应用程序架构,并在适当的位置进行了更改。然后他们将其解决方案作为请求请 icon
  • 本指南的目的是通过详细描述在Uber编写Go代码的注意事项来管理这种复杂性。这些规则的存在是为了使代码库易于管理,同时仍然允许工程师有效地使用Go语言功能。该指南最初由 icon