- 博客(98)
- 收藏
- 关注
翻译 敏捷开发与DevOps的对比
敏捷和 DevOps 并不是相互冲突的概念。事实上,情况恰恰相反。拥有敏捷思维并接受 DevOps 文化的人都有一个共同的目标,那就是向客户持续交付和部署有价值的软件。要正确执行 DevOps,所有参与者都必须接受敏捷思维。只有这样,基于 DevOps 的数字化转型才会成功。...
2022-07-26 14:36:12
239
原创 搭建 Restful Web 服务
REST 全称是 Representational State Transfer,中文意思是表征性状态转移。它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。
2022-03-09 11:08:15
125
翻译 2022年软件开发趋势:远程工作已成主流
被迫在网上生活,技术变得至关重要。 数字化转型现在是任何想要跟上步伐的组织的基本要求。以前就很抢手的技术工作者,现在更受追捧,以帮助建立一个我们都依赖技术进行最基本活动的世界。
2022-03-04 17:46:43
100
翻译 软件开发中的常见的15个定律和原则释义及应用
本文列举了一些可以应用于软件开发的最流行的规律和原则。对于每条规律,我们将快速讨论其主要命题,然后探讨如何将其应用于软件开发(也许何时不应该)。
2021-12-27 15:09:16
79
翻译 Java 项目中使用 Resilience4j 框架实现隔断机制/断路器
在本文中,我们学习了如何使用 Resilience4j 的 Circuitbreaker 模块在远程服务返回错误时暂停向其发出请求。我们了解了为什么这很重要,还看到了一些有关如何配置它的实际示例。
2021-12-01 21:00:21
56
翻译 Java 项目中使用 Resilience4j 框架实现故障隔离
到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 Retry, RateLimiter 和 TimeLimiter 模块。在本文中,我们将探讨 Bulkhead 模块。我们将了解它解决了什么问题,何时以及如何使用它,并查看一些示例。代码示例本文附有 GitHub 上的工作代码示例。什么是 Resilience4j?请参阅上一篇文章中的描述,快速了解 Resilience4j 的一般工作原理。什么是故障隔离?几年前,我们遇到了一个生产问题,其中一台服务器停止响应健康检查,负.
2021-11-26 14:16:55
78
翻译 Java 项目中使用 Resilience4j 框架实现异步超时处理
到目前为止,在本系列中,我们已经了解了 Resilience4j 及其 Retry 和 RateLimiter 模块。在本文中,我们将通过 TimeLimiter 继续探索 Resilience4j。我们将了解它解决了什么问题,何时以及如何使用它,并查看一些示例。代码示例本文附有 GitHub 上的工作代码示例。什么是 Resilience4j?请参阅上一篇文章中的描述,快速了解 Resilience4j 的一般工作原理。什么是限时?对我们愿意等待操作完成的时间设置限制称为时间限制。如果操作没.
2021-11-25 12:35:03
204
翻译 Java 项目中使用 Resilience4j 实现客户端 API 调用的限速/节流机制
在本系列的上一篇文章中,我们了解了 Resilience4j 以及如何使用其 Retry 模块。现在让我们了解 RateLimiter - 它是什么,何时以及如何使用它,以及在实施速率限制(或者也称为“节流”)时要注意什么。代码示例本文附有GitHub 上的工作代码示例。什么是 Resilience4j?请参阅上一篇文章中的描述,快速了解 Resilience4j 的一般工作原理。什么是限速?我们可以从两个角度来看待速率限制——作为服务提供者和作为服务消费者。服务端限速作为服务提供商,我们.
2021-11-23 21:42:37
135
翻译 使用 Resilience4j 框架实现重试机制
在本文中,我们将从快速介绍 Resilience4j 开始,然后深入探讨其 Retry 模块。我们将了解何时、如何使用它,以及它提供的功能。在此过程中,我们还将学习实现重试时的一些良好实践。代码示例本文在 GitHu 上附有工作代码示例。什么是 Resilience4j?当应用程序通过网络进行通信时,会有很多出错的情况。由于连接断开、网络故障、上游服务不可用等,操作可能会超时或失败。应用程序可能会相互过载、无响应甚至崩溃。Resilience4j 是一个 Java 库,可以帮助我们构建弹性和容错.
2021-11-22 18:04:27
267
翻译 在 Spring Boot 中使用搜索引擎 Elasticsearch
Elasticsearch 建立在 Apache Lucene 之上,于 2010 年由 Elasticsearch NV(现为 Elastic)首次发布。据 Elastic 网站称,它是一个分布式开源搜索和分析引擎,适用于所有类型的数据,包括文本、数值 、地理空间、结构化和非结构化。Elasticsearch 操作通过 REST API 实现。主要功能是:将文档存储在索引中,使用强大的查询搜索索引以获取这些文档,以及对数据运行分析函数。Spring Data Elasticsearch 提供.
2021-11-16 11:04:00
455
翻译 Java 设计模式 Monads 的美丽世界
【注】本文译自:Beautiful World of Monads - DEV Community让我从免责声明开始。从函数式编程的角度来看,下面的解释绝不是精确的或绝对准确的。相反,我将重点解释的清晰和简单性上,以便让尽可能多的 Java 开发人员进入这个美丽的世界。几年前,当我开始深入研究函数式编程时,我很快发现有大量的信息,但对于几乎完全具有命令式背景的普通 Java 开发人员来说,几乎无法理解。如今,情况正在慢慢改变。例如,有很多文章解释了例如基本的 FP 概念(参考: 实用函数式 Java
2021-11-10 20:30:55
60
翻译 在 Java Spring Boot 项目中使用结构化日志节省时间
【注】本文译自: Saving Time with Structured Logging - Reflectoring日志记录是调查事件和了解应用程序中发生的事情的终极资源。每个应用程序都有某种类型的日志。然而,这些日志通常很混乱,分析它们需要付出很多努力。在本文中,我们将研究如何利用结构化日志来大大增加日志的价值。我们将通过一些非常实用的技巧来提高应用程序日志数据的价值,并使用 Logz.io 作为日志平台来查询日志。代码示例本文附有 GitHub 上的工作代码示例。什么是结构化日志?“
2021-11-10 11:36:50
58
翻译 使用 Spring Boot 构建可重用的模拟模块
【译】本文译自: Building Reusable Mock Modules with Spring Boot - Reflectoring将代码库分割成松散耦合的模块,每个模块都有一组专门的职责,这不是很好吗?这意味着我们可以轻松找到代码库中的每个职责来添加或修改代码。也意味着代码库很容易掌握,因为我们一次只需要将一个模块加载到大脑的工作记忆中。而且,由于每个模块都有自己的 API,这意味着我们可以为每个模块创建一个可重用的模拟。在编写集成测试时,我们只需导入一个模拟模块并调用其 API 即可开
2021-11-09 10:46:43
50
翻译 实用函数式 Java (PFJ)简介
【注】本文译自: Introduction To Pragmatic Functional Java - DZone Java实用函数式(Pragmatic Funcational) Java 是一种基于函数式编程概念的现代、非常简洁但可读的 Java 编码风格。实用函数式 Java (PFJ) 试图定义一种新的惯用 Java 编码风格。编码风格,将完全利用当前和即将推出的 Java 版本的所有功能,并涉及编译器来帮助编写简洁但可靠和可读的代码。虽然这种风格甚至可以在 Java 8 中使用,但在
2021-11-05 19:44:19
57
翻译 Bash 脚本简介
【注】本文译自: An Introduction to Bash ScriptingBash 脚本简介幻想自己是计算机科学家、业余爱好者或技术书呆子吗?然后在某个时候,您将或应该考虑在您的数字工作区中使用 Bash 脚本。Bash (Bourne Again Shell) 是一个解释器,负责处理Unix系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh(Bourne Shell)的替代品。Bash 被开发人员、数据科学家、系统管理员、网络工程
2021-11-04 19:58:49
224
翻译 如何在 Spring 中使用事件
【注】本文译自:Spring Events | Baeldung1. 概述在本教程中,我们将讨论如何在 Spring 中使用事件。事件是框架中最容易被忽视的功能之一,但也是更有用的功能之一。和 Spring 中的许多其他东西一样,事件发布是 ApplicationContext 提供的功能之一。有一些简单的指导方针可以遵循:如果我们使用 Spring Framework 4.2 之前的版本,事件类应该扩展 ApplicationEvent。从 4.2 版本开始,事件类不再需要扩展 Applic
2021-11-03 18:46:12
44
翻译 使用 Spring Boot 和 @SpringBootTest 进行测试
【注】本文译自: Testing with Spring Boot and @SpringBootTest - Reflectoring使用@SpringBootTest 注解,Spring Boot 提供了一种方便的方法来启动要在测试中使用的应用程序上下文。在本教程中,我们将讨论何时使用 @SpringBootTest 以及何时更好地使用其他工具进行测试。我们还将研究自定义应用程序上下文的不同方法以及如何减少测试运行时间。 代码示例本文附有 GitHub 上的工作代码示例。“使用 Spring
2021-11-03 09:56:39
451
翻译 使用 Spring Boot 和 @DataJpaTest 测试 JPA 查询
【注】本文译自: Testing JPA Queries with Spring Boot and @DataJpaTest - Reflectoring除了单元测试,集成测试在生产高质量的软件中起着至关重要的作用。一种特殊的集成测试处理我们的代码和数据库之间的集成。通过 @DataJpaTest 注释,Spring Boot 提供了一种便捷的方法来设置一个具有嵌入式数据库的环境,以测试我们的数据库查询。在本教程中,我们将首先讨论哪些类型的查询值得测试,然后讨论创建用于测试的数据库模式和数据库状态的
2021-10-29 14:49:03
197
翻译 使用 Spring Boot 和 @WebMvcTest 测试 MVC Web Controller
【注】本文译自: Testing MVC Web Controllers with Spring Boot and @WebMvcTest - Reflectoring在有关使用 Spring Boot 进行测试的系列的第二部分中,我们将了解 Web 控制器。首先,我们将探索 Web 控制器的实际作用,这样我们就可以构建涵盖其所有职责的测试。然后,我们将找出如何在测试中涵盖这些职责。只有涵盖了这些职责,我们才能确保我们的控制器在生产环境中按预期运行。 代码示例本文附有 GitHub 上的工作代码
2021-10-27 19:26:37
182
翻译 使用 Spring Boot 进行单元测试
【注】本文译自: Unit Testing with Spring Boot - Reflectoring编写好的单元测试可以被认为是一门难以掌握的艺术。但好消息是支持它的机制很容易学习。本教程为您提供了这些机制,并详细介绍了编写良好的单元测试所必需的技术细节,重点是 Spring Boot 应用程序。我们将看看如何以可测试的方式创建 Spring bean,然后讨论 Mockito 和 AssertJ 的用法,这两个库默认包含在 Spring Boot 中用于测试。请注意,本文仅讨论单元测试。集
2021-10-26 12:06:39
352
翻译 Java ArrayList 与 LinkedList
【注】本文译自: Java ArrayList vs LinkedList | Baeldung1. 概述对于 collections (集合),Java 标准库提供了大量可供选择的选项。在这些选项中,有两个著名的 List 实现,称为 ArrayList 和 LinkedList,每个实现都有自己的属性和用例。在本教程中,我们将看到这两者是如何实现的。然后,我们将为评估每个应用的不同。2. ArrayList在内部,ArrayList 使用数组来实现 List 接口。由于数组在 Java 中是
2021-10-25 14:56:30
89
翻译 Java hashCode() 指南
【注】本文译自:Guide to hashCode() in Java | BaeldungJava hashCode() 指南1. 概述 哈希是计算机科学的一个基本概念。 在 Java 中,高效的哈希算法支持一些最流行的集合,例如 HashMap(查看这篇深入的 文章)和 HashSet。 在本教程中,我们将重点介绍 hashCode() 的工作原理、它如何在
2021-10-21 19:09:49
76
翻译 Java 17 与 Java 11 相比有什么变化?
【注】本文译自: What’s New Between Java 11 and Java 17? 9 月 14 日 Java 17 发布。是时候仔细看看自上一个 LTS 版本(即 Java 11)以来的变化。我们先简要介绍许可模型,然后重点介绍 Java 11 和 Java 17 之间的一些变化,主要是通过 例子。享受吧!1. 介绍 首先,让我们仔细看看 Java 许可和支持模型。Java 17 是一个 L
2021-10-15 19:18:39
835
翻译 DataOps(数据运维)指南 - 数据管理的新时代
【注】本文译自:A Guide to DataOps - DZone Big DataDataOps 不仅仅是另一种开发方法。它通过民主化的访问和巨大的潜力从根本上改变了组织使用数据的方式。 最近一项关于企业面临的大数据挑战的调查揭示了一些有关数据利用的惊人事实。38% 的企业“缺乏”令人信服的商业案例来使用他们的数据。34% 的公司没有足够成熟的流程来处理大数据技术,其中 24% 的公司无法为最终用户提供大数据!  
2021-10-14 11:26:12
282
翻译 Java 异常机制
【注】本文译自:Java Exceptions - DZone JavaJava Exception Java Exception 是为处理异常应用程序行为而创建的类。在本文中,我将解释如何使用 Java Exception 类以及如何在考虑现有 Java Exceptions 设计的情况下创建异常结构。Java 异常概念是 Java 中的重要里程碑之一,每个开发人员都必须了解它。Java 异常结构比你想象的要有用 &n
2021-10-12 15:02:04
21
翻译 GraphQL 快速入门【5】GraphQL 示例
【注】本文译自:GraphQL - Quick Guide (tutorialspoint.com) 在本章中,我们将创建一个简单的 API,它返回一条问候消息 HelloWorld,并使用 GraphiQL 访问它。示例 本示例基于 NodeJS、Express 和 Apollo 服务器。我们将学习通过以下步骤将所有概念结合起来:第 1 步:设置 Express &n
2021-09-29 19:58:19
140
翻译 GraphQL 快速入门【4】GraphQL 组件
【注】本文译自: GraphQL - Quick Guide (tutorialspoint.com) 本章讨论不同的 GraphQL 组件以及它们相互通信的方式。整个应用程序组件可以区分如下:服务器端组件客户器端组件服务端组件 GraphQL 服务器构成了服务器端的核心组件,并允许解析来自 GraphQL 客户端应用程序的查询。Apollo Server 是最常用的 GraphQL 规范实现。其他服
2021-09-28 20:23:21
30
翻译 GraphQL 快速入门【3】GraphQL 架构
【注】本文译自: GraphQL - Quick Guide (tutorialspoint.com) GraphQL 是描述 GraphQL 服务器行为的规范。它是一组关于如何处理请求和响应的指南,如支持的协议、服务器可以接受的数据格式、服务器返回的响应格式等。客户端向 GraphQL 发出的请求服务器称为查询。GraphQL 的另一个重要概念是其传输层不可知性。它可以与任何可用的网络协议一起使用,如 TCP、websocket 或任何其他传输层协议。它对数
2021-09-23 19:05:55
89
翻译 GraphQL 快速入门【2】环境设置
【注】本文节译自:GraphQL - Quick Guide (tutorialspoint.com) 在本章中,我们将学习 GraphQL 的环境设置。 要执行本教程中的示例,您将需要以下内容:运行 Linux、macOS 或 Windows 的计算机。网络浏览器,最好是最新版本的 Google Chrome。安装了最新版本的 Node.js。建议使用最新的 LTS 版本。已安装适用于 VSCode 的扩展 GraphQL 的 Visual St
2021-09-13 15:33:33
91
翻译 GraphQL 快速入门【1】简介
【注】本文节译自:GraphQL - Quick Guide (tutorialspoint.com) GraphQL 是 Facebook 开发的一种开源服务器端技术,用于优化 RESTful API 调用。它是一种执行引擎和一种数据查询语言。在本章中,我们将讨论使用 GraphQL 的优势。为什么使用 GraphQL RESTful API 遵循清晰且结构良好的面向资源的方法。但是,当数据变得更复杂时,路
2021-09-13 11:52:03
54
翻译 如何构建 Spring Boot 12 因素应用
【注】本文译自:How to build a Spring Boot 12-Factor app (theserverside.com)在这里,我们看看 Spring Boot 框架如何支持十二因素应用的方法,以及 GitHub、Docker 和 Kubernetes 等工具填补了哪些空白。 没有国际标准组织指定 Spring Boot 应用作为微服务必须满足的标准。Heroku 联合创始人 Adam Wiggins 向部署到 Heroku 平台的开发人员提
2021-08-23 10:30:55
53
翻译 技术白皮书:现代企业架构设计
【注】本文节译自:APIs and microservices: How to create modern enterprise architectures (bitpipe.com) 创建和发展现代化的企业架构并非易事:这意味着打破单一的、集中的系统,转而使用 API 和微服务等工具支持更多云功能和自适应环境。在本指南中,我们研究了这些类型的云连接架构的关键属性,并提供了有助于培养以 API 为中心的现代架构的实用建议。接下来,我们来探讨一下渐进式 Web
2021-08-19 17:02:13
129
翻译 面向资源的架构(ROA)概述
【注】本文译自: Overview of Resource-Oriented Architectures (ROA) | Developer.com了解面向资源的架构 (ROA)、其价值以及最佳实践。 面向服务的架构 (Service-Oriented Architecture,SOA) 和面向资源的架构 (Resource-Oriented Architecture,ROA) 是用于实现健壮、可扩展的分布式应用程序架构的架构设计模式。分布式架构由通过定义良好的接口在网络上使用的组件组成。在 R
2021-07-21 11:53:09
258
翻译 软件库与框架的区别
【注】本文译自:https://www.theserverside.com/tip/Library-vs-framework-How-these-software-artifacts-differ 库与框架:这两个软件构件的区别库(Libraries)是提供特定功能(如建立网络连接)的低级组件。框架(Framework)是已知的编程环境,比如 Spring Boot。 当软件主管开始构建新的企业应用程序时,他们必须决定要使用哪一组库和框架。 这引出了一个明显的问题:软件库和框架之间有什么区别?
2021-07-19 19:45:13
97
翻译 面向服务体系结构的领域驱动设计
【注】本文译自:https://www.thoughtworks.com/insights/blog/domain-driven-design-services-architecture 这篇文章是关于软件设计的选择。特别是大型系统,这些系统可能会以服务端点的形式分为多个可部署的对象。我不会特别谈论服务端点设计,但是我想讨论创建多个服务应用的构思阶段。 当我们面对复杂的问题时,我们通常试图理解复杂的单个部分。通过分解问题,我们将其变成为更易于理解和管理的部分。 正如在许多产品/项目管理周期中所
2021-05-20 13:57:09
56
翻译 领域驱动设计(DDD)
【注】本文译自: https://www.geeksforgeeks.org/domain-driven-design-ddd/ 领域驱动设计(Domain-Driven Design)是程序员 Eric Evans 于 2004 在他的**《 领域驱动设计:解决软件核心中的复杂性》**一书中提出的一个概念。 这是一种自顶向下的软件设计方法。首先,让我们尝试重点介绍一下在这种情况下领域的含义。什么是领域? 在软件开发的上下文中,“域”指的是业务。在应用程序开发过程中,通常使用术语域逻辑或业务
2021-05-18 15:57:46
153
原创 三大业界大佬的DevOps解决方案
DevOps 在商业界的一些解决方案,主要包括:微软公司的 Azure DevOps亚马逊公司的 Aws DevOps阿里云的 云效 DevOpsAzure DevOps Azure DevOps 也称为 Microsoft Visual Studio 团队服务(VSTS)。它是为云构建的一组协作开发工具。 VSTS 通常被用作独立术语,Azure DevOps 是一个由几种不同产品组成的平台,例如:Azure 测试计划Azure 看板Azure 存储库Azure 流水线A
2021-05-17 11:05:42
346
翻译 ELK 教程 - 高效发现、分析和可视化你的数据
【注】本文译自:https://www.edureka.co/blog/elk-stack-tutorial/ 随着越来越多的 IT 基础设施转身云计算,对公共云安全工具和日志分析平台的需求也在迅速增加。不管组织的规模有多大,每天都会生成大量的数据。这些数据中有相当一部分是由公司的 Web 服务器日志组成的。日志是最重要的信息来源之一, 但往往被忽视。每个日志文件都包含一些宝贵的信息,这些信息大多是非结构化的,没有任何意义。如果不对此日志数据进行详尽的分析,那么企业可能会忽视其周围的机会和威胁。这是日
2021-04-28 18:43:03
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人