Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
架构师资料教程
分而治之是软件工程的核心!
分而治之(Divide and Conquer)是一个强大的算法范例(banq注:其实是一种哲学方法,严格不属于算法):通过将复杂问题分解为更小,更易于管理的子问题来解决复杂问题。 分(Divide )
Stripe的API实战设计模式 - Paul
在这里介绍了一些API设计模式,这些模式足够通用,对 API 设计过程中的几乎任何人都有用。 语言给事物命名是很困难的。计算机科学中的大多数事情都是如此,API 设计也不例外。这里的问题是,与变量和函数名称
Xapo银行去中心化的DDD架构实践分享 - martinfowler
Xapo银行使用领域驱动设计、团队拓扑和架构建议流程三种方式实现企业架构的去中心化: 软件架构在构建软件系统实践中的作用一直备受争议。在大多数组织中,你会发现某种 "架构 "功能,通常打着 "企业架构 "的旗号。这通常是一个中央集权的团队,其目的是
企业架构十大非功能性需求
功能需求定义了系统应该做什么。就汽车而言,这意味着将一个人从 A 地带到 B 地;而非功能性需求规定了系统应该是什么样子。 1. 可伸缩性可扩展性是指系统随着用户或请求数量的增加而执行和操作的能力。这可以通
虚构问题是软件糟糕的根源 - cerebralab
有许多因素都可能成为不良软件的催化剂:从使用的工具、团队沟通、开发人员对软件成功的个人利益,到测试方法。 我认为,在这些因素中,有一个问题是最主要的,它是导致糟糕软件的动力,几乎所有其他因素都是从这个动力中生根发芽的:
大语言模型带来的新兴涌现架构
来自a16z的大语言模型分析文章,以第三方观点概述了当前LLM大语言模型应用的特点: 大型语言模型是构建软件的强大新工具。但由于它们是如此之新,而且行为方式与普通计算资源如此不同,因此如何使用它们并不总是显而易见的。
微服务:逻辑边界不是物理边界
微服务的好处之一就是定义边界。俗话说,好篱笆造就好邻居(中国谚语:亲兄弟明算账)。 定义边界是一件好事,但我们到底如何定义它们呢?微服务,由 Adrian Cockcroft 定义:具有有边界的上下文的松散耦合的面向服务的架构
企业架构有哪些工具?
是否有人有在其组织中使用 EA 工具的经验?以及在内部构建 EA 工具业务案例所使用的策略?最重要的是:工具是否可以帮助您沟通和社交化 EA 团队所做的工作,以获得更广泛的组织的支持? 以目前的成熟度来看EA工具并不可用,可将EA工
尽可能长时间地坚持令人乏味的架构?
构建真正为客户带来改变的产品所带来的满足感,比追赶最新技术潮流所带来的短暂兴奋更有价值。 依靠稳定且易于理解的技术来优先考虑交付价值。有选择地、有意识地进行创新。 这种创新属于
理解复杂系统的关键是耐心
复杂系统本质上是多方面的、错综复杂的。它们往往不是有意设计成让人一眼就能理解的。无论是生态系统等自然形成的系统,还是先进软件或机械等人类设计的系统,都是如此。这些系统由多个部分组成,每个部分都有其独特的属性和作用。要了解整个系统,就必须了解每个组成部分及其相互之间的相互作用。这个过程需要时间
DDD领域语言对云架构设计的重要性 - architectelevator
近年来,人们对领域驱动设计 (DDD) 的兴趣激增,正如DDD Europe等热门活动和Learning Domain-Driven Design等书籍所表明的那样。虽然对复杂业务领域进行建模对于成功的系统始终发挥着重要作用,但需要明确领域边界的模块化运行时架构(例如微服务应用程序)为 DD
架构图如何实现更好的对话?
今年早些时候,我和 DrDoctor 的几位同事参加了 C4 架构建模1 的培训。培训师讲得非常好,经过几节课的学习,我们掌握了这种方法。我们继续运用所学知识,在 3 个月的时间里,每周四与所有人员会面。我们主要侧重于将现有架构建模为 1 级(上下文)和 2 级(容器)图。这个过程很有启发性
升职越快,技术硬技能越少?
无论是作为工程师还是经理,职位越高,你就越需要软技能。 软技能指的是: 直接的社交技能--能够与他人建立联系、成功合作,甚至只是与你周围的人(尤其是领导)进行人际交往。 沟通--能够清楚、简洁地解释技术概念和实施方法,以便他
超越代码:通过TLA+ 实现形式抽象表达
抽象是避免分心的有力工具。抽象一词的词源来自拉丁语,意思是“剪切”和“绘制”。通过抽象,您可以从复杂的系统中分离出协议,省略不必要的细节,并将复杂的系统简化为有用的模型。 例如,如果您对分布式系统的一致性模型感兴趣,则可以抽象出系统中的通信机制,因
一开始就能预先设计出接近正确的软件吗?
Leslie Lamport认为:如果你从一开始就没有正确设计,那么你编写的每一段代码都是一个补丁。 Leslie Lamport 是一位计算机科学家和数学家,因其对分布式并发系统的理论和实践的基本贡献而于 2013 年获得 ACM 图灵奖。他还创
ThoughtWorks上周最新技术雷达摘要
在 ThoughtWorks 上周发布的最新技术雷达中,我们看到了不同的主题: 1、AI辅助软件开发:与人工智能相关的话题在对话中占据主导地位。人们对使用人工智能辅助软件开发非常感兴趣。与会者讨论了 GitHub Copilot、Tabnine 和 Cod
贝尔实验室的创新源泉是什么?
贝尔实验室可能是美国有史以来最具创造力和创新力的组织。 贝尔实验室有多大的创造性和创新性? 从 1937 年到 2018 年,它九次获得诺贝尔奖,四次获得图灵奖(被广泛称为 "计算机界的#诺贝尔奖")。 没有贝尔实验室,就没有手机。
软件架构本是软件工程师的一项职能?
在软件行业,似乎普遍认为软件架构和软件工程是截然不同的。在很大程度上,软件架构关注的是设计,而软件工程关注的是实现(即编写代码),两者在某种程度上是相互独立的。从根本上说,两者之间的联系大致类似于建筑行业中建筑师和土木建造师之间的关系。 但是,这并不代表软
上页
下页
关闭