Go Goroutine、Java 19 虚拟线程与Kotlin 协程的性能比较 - RobertDeng

3638 2 2K
本文试图比较示例逻辑在不同流行语言(Go、Java 和 Kotlin)下运行时的不同虚拟线程运行性能。与传统的线程技术相比,虚拟线程减少了从用户空间到内核空间的切换时间成本,从而在多线程应用程序开发中.

不要使用UUID,它不安全!

3474 2 2K
如果您需要一个不可猜测的随机字符串(例如,用于会话 cookie 或访问令牌),可能很想获取一个随机 UUID,如下所示:88cf3e49-e28e-4c0e-b95f-6a68a785a89d这是一.

超越ChatGPT:Toolformer可以自学使用各种工具

2878 2
Toolformer是一种自学以自我监督的方式使用各种工具的语言模型。这显着提高了零样本性能,并使其能够胜过更大的大型语言模型。语言模型 (LM) 表现出非凡的能力,可以仅通过几个示例或文本指令来解决.

使用Spring Boot + Kafka实现Saga分布式事务模式的源码 - vinsguru

3893 5 2K
假设我们的业务规则说,当用户下订单时,如果产品的价格在用户的信用限额/余额之内,则订单将被履行。否则将无法实现。看起来真的很简单。这在整体/单体应用中非常容易实现。整个工作流程可以视为1个单事务。当所.

不使用DDD的后果:为什么我们停止了向微服务的迁移? - Steven Lemon

1 5572 5 7K
最近,我们的开发团队在功能交付计划方面略有突破。技术领导层决定,这次将我们的单片单体架构分解为微服务是最好的时机。经过一个月的调查和准备,我们却取消了这项迁移,而是决定坚持使用我们的单体巨石系统。对我.

什么是领域? - nick

5044 3 3K
在商业、技术和一般领域,“领域”一词经常出现,并在各种上下文中具有许多不同的含义。当与使用不同定义的不同公司或社区合作时,这有时会变得棘手。一般的问题是,当我们使用像领域这样的通用和模糊词时,我们会做.

如何掌握DDD聚合设计? - SSENSE

2297 4 16K
在本文中,将深入研究领域驱动设计(DDD) 以及许多困惑和讨论的主题:聚合设计。首先简要概述什么是聚合,然后继续揭开业务不变量的神秘面纱,并在您必须打破聚合时提供实际考虑因素。什么是聚合?DDD 中提.

Netflix Conductor等开源工作流引擎的使用经验分享 | 黑客新闻

8672 2 4K
kelnos参与了工作流引擎的评估并在工作中采取了Conductor,但总体上对此并不满意。默认数据存储区是此基于Netflix特定产品(Dynomite),它是基于Redis构建定制的。普通公司在运.

维特根斯坦哲学核心是上下文为王!

3404 5 18K
维特根斯坦(Wittgenstein:也称为維根斯坦/维特根斯坦)的语言游戏,对理解DDD上下文和统一语言的理论有帮助作用。点击图片见视频,今日头条视频以下是banq个人见解,中文网络搜索不到的:其中.

聊天机器人ChatGPT在Go程序中找到竞争条件并修复

2455 3
人工智能可以分析源代码中的错误并编写建议的修复程序?用户:这段代码没有像我预期的那样工作——我该如何修复它?resultWorkerErr := make(chan error)defer close.

使用DDD规格Specification模式构建数据驱动规则引擎 - jonblankenship

4780 5 12K
当面临确定对象是否满足一组特定条件的任务时,规格/规范模式(Specification pattern)可能是开发人员工具箱中必不可少的工具。当与组合模式结合使用时,组合规范成为一种强大的工具,可以解.

适用于苛刻的生产环境JDK发布:Eclipse Temurin Java SE

9485 1
针对于苛刻的生产环境,Eclipse 基金会的 Adaptium 项目发布了其首个 Eclipse Temurin Java SE 二进制文件,即 OpenJDK 的“生产就绪”构建,涵盖了适用于 W.

否定洋葱或clean架构的垂直切片架构 - Jimmy Bogard

3 10722 2
许多年前,我们开始了一个新的长期项目,首先,我们基于洋葱架构构建了它的架构。在几个月内,这种风格开始显示出裂缝,我们从这种架构转向CQRS。随着转向CQRS,我们开始围绕垂直切片而不是层(无论是平面还.

使用Spring Boot + Redis 进行实时流处理 - vinsguru

3486 6 6K
Redis用于高速缓存数据。除了主/从复制,发布/订阅功能和时间序列数据支持外,还添加了对流的支持。Kafka的问题是很难配置。基础架构维护非常具有挑战性。但是Redis非常容易并且重量轻。 样例应用.

Rust 代表未来的五个理由 - scalac

5425 2 5K
在 Stack Overflow 2020 调查中,Rust 被选为最受欢迎的编程语言第一名,这要归功于 86% 的开发人员表示他们会继续使用它。对于语言创造者来说,这并不是什么新鲜事——Rust 自.

经验分享:Apache Kafka的缺点与陷阱 - Emil Koutanov

5957 4 3K
我已经协助了一些大型客户使用Kafka作为消息传递主干来构建微服务风格的体系结构,并对它的功能和真正使他们发挥作用的用例有了相当好的理解。但是我绝对不是卡夫卡的辩护律师。经历了如此迅速的采用曲线的任何.

25 个最常见的 Docker 面试问题和答案

1014 1 3K
下面我们为您带来 25 个最常见的 Docker 面试问题和答案。1.什么是Docker?答: Docker 是一个用于在容器中开发、发布和运行应用程序的平台。容器允许开发人员将应用程序及其依赖项打包.

重建模与重构的区别

2864 5
Refactoring is tactical, remodelling is strategic.重构是战术性的!  重新建模是战略性的。重构好像已经变成了提高软件质量的专有名词,这个词语是由Mar.

提高VSCode 10倍效率的技巧

1979 4
即使您是初学者,也可以像10 x程序员一样使用VSCode: 使用go to definition转到函数或变量声明(即使在另一个文件中):快捷键Alt+左击(或在Mac上使用CMD+左击) CTRL.

OpenAI的ChatGPT与GPT3区别?

4747 1
ChatGPT 是 OpenAI 最新的大型语言模型,于 2022 年 11 月 30 日发布,作为面向公众开放的聊天应用程序。ChatGPT 是 GPT3 的一大飞跃,就像 GPT3 本身是 GPT.

什么是数字免疫系统?

3292 2
在我们深入了解什么是数字免疫系统(digital immune system)之前,让我们考虑一下免疫对一个生物体意味着什么。免疫力是指生物体对特定疾病的反应、回应和抵御能力,特别是对入侵的病原体的保.

Spark GraphX简介与教程

2632 5 7K
GraphX是 Apache Spark 用于图形和图形并行计算的 API。GraphX 在单个系统内统一了 ETL(提取、转换和加载)过程、探索性分析和迭代图计算。图的用法可以在 Facebook .

如何避免陷入教程地狱? - josh

2067 7
人们常说,互联网使教育民主化:人类知识的总和只是谷歌搜索!然而,获得信息只是故事的一半;您还需要能够将原始信息转化为可用的技能。对于我们中的很多人来说,者两者之间的差距可能会导致像教程地狱:在一个接一.

幽默:软件工业的吐槽和醒悟 - tonsky.me

3198 8 6K
我已经编程了15年了。最近,我们行业对效率,简单性和卓越性的缺乏开始真正引起我的注意,以至于我对自己的职业和IT感到沮丧。(banq注:有一个笑话,一位高血压三高患者复诊,内科医生问他一天喝几两酒?他.

使用Spring Boot RESTful Web服务实现流式数据 | Techshard

7976 3 8K
流数据是向Web浏览器发送数据的一种全新方法,可显着加快页面加载速度。通常,我们需要允许用户在Web应用程序中下载文件。当数据太大时,提供良好的用户体验变得非常困难,使用StreamingRespon.

使用Bucket4j限制Spring API的访问速率 - Baeldung

6387 3 23K
在本教程中,我们将学习如何使用  Bucket4j对Spring REST API进行速率限制。我们将探索API速率限制,了解Bucket4j,并通过一些在Spring应用程序中限制REST API速.

如何在SpringBoot中设置TLS? |Baeldung

6698 2 4K
安全通信在现代应用程序中起着重要作用。客户端和服务器之间通过纯HTTP进行的通信不安全。对于可用于生产的应用程序,我们应在应用程序中通过TLS(传输层安全性)协议启用HTTPS。在本教程中,我们将讨论.

系统设计原则

4366 3 4K
本指南概述了系统设计的关键原则。该指南应帮助您基本了解系统思维和复杂性理论中的关键概念,以及如何将这些概念应用于各种复杂系统的设计。 整体方法系统方法是一种整体方法,这意味着我们主要在其所属的整体的背.

幽默:程序员与软件工程师的区别

2853 6
有两种编程人员:程序员:有技术意识软件工程师:有产品意识程序员通常不了解/关心产品的业务方面,他们更注重算法和程序技术;注重产品的工程师人员则相反。他们使用代码作为解决业务问题的工具。注重产品的工程师.

Go 1.22:Golang历史上最大的破坏向后兼容性版本

681 1 2K
Go历史上最大的破坏向后兼容性的版本。 发布说明甚至没有提到 Go 1.22 会破坏向后兼容性这一事实。网友观点: 部分破坏,这取决于为每个引用模块设置的 go.mod 版本。这样做比较温和,但如果任.