Spring Cloud 2022.0.0正式发布:OpenFeign稳得很全面迈向GraalVM

news2024/11/15 9:02:45

在这里插入图片描述

本文已被https://yourbatman.cn收录;女娲Knife-Initializr工程可公开访问啦;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复“专栏列表”获取全部小而美的原创技术专栏

你好,我是YourBatman:一个俗人,贪财好色。

TitleLink
所属专栏[YourBatman]-资讯/新特性,[YourBatman]-Spring技术栈新特性
源代码https://github.com/yourbatman/FXP-java-ee
程序员专用网盘公益上线啦,注册送1G超小容量,帮你实践做减法https://wangpan.yourbatman.cn
Java开发软件包(Mac)https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit
女娲工程http://152.136.106.14:8761
版本约定[Mac OS 13.1],[IDEA 2022.3.1],[Spring Boot 3.0.x],[Spring Cloud 2022.0.0]

📚前言

北京时间2022-12-16,Spring Cloud 2022.0.0(代号Kilburn)正式发布。明天就是2023 年了,怎么现在才发布 2022 版本呢?你以为一年都快结束了但Spring Cloud才开始,但其实人家早在今年的第一个月就定下了基调:
在这里插入图片描述
至于正式发布时间嘛,去年也差不多是这样子的,千年的2020.0.0版本发布时间是2020-12-22。
在这里插入图片描述
其实,Spring Cloud的发版速度慢其实是必然的,毕竟越上层技术依赖的就会越多,测试难度就越高。毕竟,Spirng Boot 3.0于2022-11-24才发布,Eureka 2.0.0也2022-12-14才发布嘛,被“逼”到了这个时间节点而已。

Netflix Eureka 2.0.0正式发布:借尸还魂还是虚晃一枪?
Spring Boot 3.0.0正式发布,Banner不再支持图片&增强可观测性

总的来讲Spring技术栈发版是非常规律和可信的,可谓业界标杆。感受下之前的版本特性:

  • Spring Cloud 2022.0.0正式发布:OpenFeign稳得很&全面迈向GraalVM
  • Spring Cloud 2021.0.0正式发布,FeignClient调用结果可一键缓存
  • Spring Cloud 2020.0.0正式发布,再见了Netflix
  • Spring改变版本号命名规则:此举对非英语国家很友好

✍正文

Spring Cloud 2022.0.0版本的pom依赖:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2022.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

依赖Spring Boot 3.0.0版本即可,好在这次对齐了,有进步。还记得前两个版本的依赖关系吗?

  • Spring Cloud 2021.0.0最低依赖Spring Boot 2.6.1(而非2.6.0)
  • Spring Cloud 2020.0.0最低依赖Spring Boot 2.5.1(而非2.5.0)

即使强如Spring技术团队都会因为bug导致出现这种“对不齐”的现象,洁癖患者看着着实有点小难受有木有。所以,程序员平时多多宽容自己O(∩_∩)O

🌈老生常谈

一年一次,关于Spring Cloud,每每都有些老生常谈的议题,很基础,但又不得不知,不得不晓。

✌和Spring Boot的对应关系

Spring Cloud作为云计算框架,以Spring Boot作为基石,因此它和Spring Boot的版本对应关系非常重要

Release Train发布时间Spring Boot版本SC Commons版本
2022.0.x(Kilburn)2022-123.0.x4.0.x
2021.0.x(Jubilee)2021-122.6.x,2.7.x(从2021.0.3起)3.1.x
2020.0.x(Ilford)2020-122.4.x,2.5.x(从2020.0.3起)3.0.x
Hoxton2019-072.2.x, 2.3.x (从SR5起)2.2.x
Greenwich2018-112.1.x2.1.x
Finchley2017-102.0.x2.0.x
Edgware2017-081.5.x1.3.x
Dalston2017-051.5.x1.2.x
Brixton2016-091.3.x1.1.x
Angel2016-051.2.x1.0.x

按目前节奏,Spring Boot每年发布2个中版本、一个大版本升级,Spring Cloud保持每年一次大版本升级的用以匹配节奏。

✌版本管理

Spring Cloud管理着众多功能组件,本版本和去年2021.0.0版本对比图如下:
在这里插入图片描述
不管从数量上(2022更少)还是版本号上(2022均是大版本号升级),差异都还挺大的。

本次对很多模块进行了更新,笔者绘制成表格,方便你收藏:

模块版本核心组件
spring-cloud-commons-dependencies4.0.0spring-cloud-commons
spring-cloud-context
spring-cloud-loadbalancer
spring-cloud-starter
spring-cloud-netflix-dependencies4.0.0spring-cloud-starter-netflix-eureka-client
spring-cloud-starter-netflix-eureka-server
eureka-core-jersey3
eureka-client-jersey3
spring-cloud-openfeign-dependencies4.0.0spring-cloud-starter-openfeign
feign-bom:12.1
feign-form-spring:3.8.0
spring-cloud-gateway-dependencies4.0.0spring-cloud-gateway-webflux
spring-cloud-gateway-mvc
spring-cloud-gateway-server
spring-cloud-starter-gateway
spring-cloud-circuitbreaker-dependencies3.0.0resilience4j-bom:2.0.2
spring-cloud-starter-circuitbreaker-resilience4j
spring-cloud-starter-circuitbreaker-reactor-resilience4j
spring-cloud-starter-circuitbreaker-spring-retry
spring-cloud-config-dependencies4.0.0spring-cloud-starter-config
spring-cloud-config-client
spring-cloud-config-server
spring-cloud-config-monitor
org.eclipse.jgit:6.4.0.202211300538-r
spring-cloud-stream-dependencies4.0.0spring-cloud-stream
spring-cloud-stream-binder-kafka
spring-cloud-stream-binder-rabbit
spring-cloud-stream-schema-registry-client
spring-cloud-task-dependencies3.0.0spring-cloud-starter-task
spring-cloud-task-batch
spring-cloud-task-stream
spring-cloud-consul-dependencies4.0.0spring-cloud-starter-consul
spring-cloud-starter-consul-bus
spring-cloud-starter-consul-config
spring-cloud-starter-consul-discovery
spring-cloud-starter-consul-all
com.ecwid.consul:consul-api:1.4.5
spring-cloud-sleuth-dependencies3.1.0spring-cloud-sleuth-brave
spring-cloud-sleuth-zipkin
spring-cloud-starter-sleuth
spring-cloud-zookeeper-dependencies4.0.0spring-cloud-starter-zookeeper-config
spring-cloud-starter-zookeeper-discovery
spring-cloud-starter-zookeeper-all
org.apache.curator:curator-framework:5.1.0
spring-cloud-cloudfoundry-dependencies3.1.0spring-cloud-cloudfoundry-discovery
spring-cloud-starter-cloudfoundry
spring-cloud-bus-dependencies4.0.0spring-cloud-starter-bus-amqp
spring-cloud-starter-bus-kafka
spring-cloud-starter-bus-stream
spring-cloud-bus-rsocket
spring-cloud-contract-dependencies4.0.0spring-cloud-contract-wiremock
spring-cloud-contract-spec
spring-cloud-contract-spec-java<
spring-cloud-contract-spec-kotlin
spring-cloud-contract-stub-runner
spring-cloud-function-dependencies4.0.0spring-cloud-function-context
spring-cloud-starter-function-web
spring-cloud-starter-function-webflux
spring-cloud-function-deployer
spring-cloud-function-adapter-aws
spring-cloud-function-adapter-azure
spring-cloud-function-adapter-gcp
spring-cloud-function-adapter-openwhisk
spring-cloud-vault-dependencies4.0.0spring-cloud-vault-config-aws
spring-cloud-vault-config-consul
spring-cloud-vault-config-database
spring-cloud-vault-config-rabbitmq
spring-cloud-kubernetes-dependencies3.0.0io.kubernetes:client-java:17.0.0
io.fabric8:kubernetes-client-bom:6.2.0
spring-cloud-kubernetes-client-config
spring-cloud-kubernetes-client-discovery
spring-cloud-kubernetes-fabric8-istio
spring-cloud-kubernetes-fabric8-loadbalancer
spring-cloud-starter-kubernetes-fabric8-all

可以看到,相较于上个版本,本次删除了spring-cloud-sleuthspring-cloud-cloudfoundry,以及spring-cloud-cli三个模块的管理。

🌈what’s new(新特性)

老规矩,将我们关心的功能爽一遍。

🚀最低版本要求

  • Java 17
  • Jakarta EE 9
  • Spring Framework 6.x
  • Spring Boot 3.x

🚀移除掉三个模块

  • Spring Cloud CLI:该模块在Spring Boot CLI的基础上,简化Spring Cloud应用部署。有了它可以通过一些命令spring cloud configserver、$ spring cloud eureka快速启动一些组件
    • 笔者体验后的感觉:生产上真是没啥用,玩玩就可以了
  • Spring Cloud Cloudfoundry:SC里有个枚举类CloudPlatform能看到:
    在这里插入图片描述
    Cloud Foundry是业界第一个开源PaaS云平台,但它可能真不太适合现在的云环境,要被列入前辈行列了,毕竟K8S势如破竹。
  • Spring Cloud Sleuth:分布式链路追踪模块(Zipkin是默认实现),遵循Google的开源项目Dapper以及OpenTracing标准。这次把这个模块干掉,当然不是放弃链路追踪功能,而是将它交给了Micrometer Tracing项目,现在日志、指标、追踪都可交给Micrometer了。

🚀Spring Cloud Commons

要说Spring Cloud最最最重要的一个模块是什么,那便是Spring Cloud Commons。作为阻断式的大版本升级(Spring Cloud Commons从3.1.x升级到了4.0.0),必然也是大刀阔斧,甩掉包袱,主要有:

🚩AsyncRestTemplate相关类被移除

AsyncRestTemplate&AsyncRestOperations作为异步请求器,一直依赖存在感其实蛮若的。而在Spring Framework 5.0的时候就已将它哥俩标记为@Deprecated了,取代它们的是Spring Reactor Web提供的WebClient

在Spring Framework 6,AsyncRestTemplate已被删除。因此Spring Cloud也移除了其相关配置类:AsyncLoadBalancerAutoConfigurationAsyncRestTemplateCustomizer等等。

🚩httpclient包下面的类全被被移除

如下图所示:
在这里插入图片描述
这个有点狠,整个被全部拿下,包括:Apache HttpCLient和OkHttp3的相关集成Factory等。之前版本中像OpenFeign就会用到它。

🚩@EnableCircuitBreaker注解被移除

原因很简单,这个Hystrix在Spring Cloud 2022中不再被支持,这个预防针在Spring Cloud 2020就已经打过啦(当时不建议使用,现在是移除支持)。

Spring Cloud 2020.0.0正式发布,再见了Netflix

🚩@SpringCloudApplication注解终被移除

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootApplication
@EnableDiscoveryClient
public @interface SpringCloudApplication {

}

这个注解很熟悉,但又很陌生?嗯,一个典型的Spring Cloud应用注解,在之前版本更是带有@EnableCircuitBreaker注解呢。现在@EnableDiscoveryClient@EnableCircuitBreaker都不需要了,自然@SpringCloudApplication就没有再存在的意义了。

  • @EnableDiscoveryClient:只要classpath里存在相关类,就会被自动开启
    • 毕竟,服务发现已成微服务应用最基本的设施了嘛,默认就开启喽。当然,你可通过spring.cloud.discovery.enabled=false来显示关闭,具有更好的灵活性
  • @EnableCircuitBreaker:Hystrix自从Spring Cloud 2020.0.0版本就退出历史舞台了,取而代之的Resilience4j用不着它

此注解在早在Spring Cloud Common 3.0.1(对应Spring Cloud 2020.0.1)就被标记为了@Deprecated,直到Spring Cloud Common 4.0.0版本被从源码正式拿下。

🚀Spring Cloud OpenFeign

在这里插入图片描述
太多的博文拿这个标题来“做文章”:OpenFeign要退出历史舞台了?笔者的观点:这是趋势,但开发者duck不必担心,因为OpenFeign还很活跃,退出按照时间维度来讲5年打底,10年差不多。所以,该学的Feign技术还得继续,比如笔者的这个Feign专题:
在这里插入图片描述
另外,看看本次Spring Cloud对Feign的升级更改,就知道退出还有很长路要走:

🚩属性配置统一为spring.cloud.openfeign前缀

之前版本feign相关的属性配置都为feign.xxx,现在统为spring.cloud.openfeign.xxx,队形保持和其它模块一致,更加和谐了。举例如下:
在这里插入图片描述
在这里插入图片描述

🚩默认使用Jackson完成序列化/反序列化

在此之前,序列化和反序列化默认情况下是Feign自己实现的,我们一般会选择显示开启Jackson支持。毕竟它已成为标准组件,Spring MVC、Redis等一般都使用它完成。

为此,本版本讲Jackson正式转正:默认使用它来完成Feign的序列化/反序列化功能。具体配置差异如下图所示:
在这里插入图片描述

🚩拥抱Apache HttpClient 5,移除对4的支持

弃用了对Apache HttpClient 4的支持,拥抱Apache HttpClient 5。直观的讲,HttpClientFeignConfiguration等相关类已删除:只剩下HttpClient5FeignConfiguration
在这里插入图片描述
而在2021版本的Spring Cloud里它是存在的,并且默认开启的是HttpClient 4哦:
在这里插入图片描述
这一点与Spring Framework、Spring Boot中的变化保持一致。

🚩@FeignClient的decode404属性改为dismiss404

@FeignClient注解的改动如下:
在这里插入图片描述
修改的原因是:与上游技术(也就是原生Feign)命名保持一致。因为Feign从11.9版本起内部就做了改名:

在这里插入图片描述
因此Spring Cloud借这次阻断式升级,顺势将名称整规范喽,非常有追求有木有。

🚩Feign升级到12.1版本

从上个版本的11.7升级到本版本的12.1

🚩@FeignClient的注册不再使用懒加载

代码的改变在这里,一看便知:
在这里插入图片描述
很明显,如果希望加载行为保持和之前版本一致,只需加个配置spring.cloud.openfeign.lazy-attributes-resolution = true即可.。

🚀Spring Cloud Netflix

Spring Cloud Netflix曾作为Spring Cloud的全栈解决方案,现在唯一被“保留”下来的有且仅有Eureka了。
在这里插入图片描述
这一次继续砍:移除掉注解@EnableEurekaClient(毕竟@EnableDiscoveryClient都不需要显示指定了嘛)

🚀Eureka升级到2.0.0

嗯,不再重复阐述了哈,笔者写了篇文章专门介绍Eureka 2.0.0:Netflix Eureka 2.0.0正式发布:借尸还魂还是虚晃一枪?

🚀迈向GraalVM:支持AOT和Native image

Spring Boot 3.0最大看点和改动,就是对GraalVM原生镜像的支持。Spirng团队多次强调,为此付出的心血和花费精力都是最多的。

GraalVM技术是JRE的替代方案,基本原理是通过预编译AOT(Ahead Of Time)技术先编译好,这样Spring框架就可以获取到更多信息,从而启动就非常快了,这不难理解哈。

Spring团队早在2019年就开始研究对GraalVM的支持,还记得那个Spirng Native项目吗?它就是专门用于研究GraalVM的,曾经的实验性项目,现正式被Spring Boot 3.0收纳,光荣完成使命。

本次Spring Cloud 2022对各个模块(大部分模块)都添加了AOT和Native image的支持,可谓补射完了临门一脚,Spring技术栈正式迈向GraalVM,且逐渐趋于成熟。相信不远的将来会逐渐流行开来,笔者预估3年有明显变化,5年快速增长。

🚀其它

  • Spring Cloud Circuitbreaker模块的Resilience4J升级到了2.0.2功能(上个版本为1.7.x)
  • Spring Cloud Gateway增加对Observability检测的支持
  • Spring Cloud Stream移除@StreamListener、@Input等注解
  • Spring Cloud Kubernetes移除@ConditionalOnKubernetesEnabled注解
    这个注解属于Spring Cloud的:
    在这里插入图片描述
    代替者是使用Spring Boot的@ConditionalOnCloudPlatform注解:
    在这里插入图片描述

🍞总结

谈OpenFeign被淘汰还为时尚早:依旧主流,该学还得继续学;
学GraalVM已为时不晚:必然的发展趋势,早学早受益;
用Spring Cloud 2022时机基本成熟:demo练手,迎接下一次革新。

推荐阅读

  • IntelliJ IDEA 2022.3正式发布,配置云同步&支持Redis好用到炸
  • Spring Framework 6正式发布,携JDK 17&Jakarta EE开启新篇章
  • IntelliJ IDEA 2022.2正式发布,支持Spring Boot 3和Spring 6
  • JVM除了HotSpot,你还知道哪些?
  • YourBatman用趣味代码雨祝你:端午安康
  • 逐渐碎片化的Java生态圈:Oracle JDK、OpenJDK、阿里Dragonwell、华为毕昇

在这里插入图片描述

我是YourBatman:前25年不会写Hallo World、早已毕业的大龄程序员。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签

  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍《Spring奇淫巧技》

在这里插入图片描述

序号专栏名称简介
01[YourBatman]-程序人生程序人生,人生程序
02[YourBatman]-资讯/新特性IDEA、JDK、Spring技术栈…新特性
03[YourBatman]-IntelliJ IDEA熟练使用IDEA就相当拥有物理外挂,助你高效编码
04[YourBatman]-Bean Validation熟练掌握数据校验,减少90%的垃圾代码
05[YourBatman]-日期时间帮你解决JDK Date、JSR 310日期/其实 的一切问题
06[YourBatman]-Spring类型转换Spring类型转换-框架设计的基石
07[YourBatman]-Spring staticstatic关键字在Spring里的应用
08[YourBatman]-Cors跨域关于跨域请求问题,本专栏足矣
09[YourBatman]-JacksonAlmost Maybe是最好的Jackson专栏
10[YourBatman]-Spring配置类专讲@Configuration配置类,你懂的
11[YourBatman]-Spring技术栈暂无所属小分类的,Spring技术栈大分类
12[YourBatman]-JDK暂无所属小分类的,JDK技术栈大分类
13[YourBatman]-ServletServlet规范、Web相关内容专题
14[YourBatman]-Java EE从Java EE到Jakarta EE,30年弹指一挥间
15[YourBatman]-工具/提效开发工具、软件工具,目标是提效
16[YourBatman]-Spring技术栈新特性 Spring Framework、Spring Boot、Spring Cloud、Spring其它技术
17[YourBatman]-基本功 每个Javaer,都需要有扎实的基本功
99源代码库大多数专栏均配有源代码,都在这里
  • 源代码库地址:https://github.com/yourbatman/tech-column-learning
  • CSDN主页:https://blog.csdn.net/f641385712
  • 掘金主页:https://juejin.cn/user/430664289367192
  • 博客园主页:https://www.cnblogs.com/yourbatman
  • 个人博客主页:https://yourbatman.cn
  • 个人网盘主页:https://wangpan.yourbatman.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vector在CANdb++中关于XCP和应用报文的定义

Vector DBC规则 前文讲解了dbc有关的属性定义与编辑,本文描述在开发过程中关于XCP和应用报文有关的规则说明,方便开发人员正确配置和代码生成所需的属性及其值。 关联文章: dbc的属性定义:dbc的属性定义 Vector DBC属性定义规则:Vector DBC属性定义规则 DBC编辑问题——…

我理解的proc伪文件系统

一.概念 提供可以动态操作Linux内核信息的接口&#xff0c;实现内核空间与用户空间进行数据交换的途径。 二.观察文件内容 //crtlaltt 快速打开Linux终端 //输入一下内容 cd /proc //进入proc文件夹 ls //观察proc文件夹下的内容 cd 2414 //任意打开一个带数字的文件…

【问题解决】解决xshell7会话窗口只能显示一个的问题

这恐怕会成为最短的一篇文章 问题复现 打开多个终端&#xff0c;最终只显示最后一个 如上图&#xff1a; 再打开一个192.168.1.42 &#xff0c;会覆盖掉1.41&#xff0c;终端上先显示最后打开的那个终端。 想要解决xshell7会话窗口只能显示一个的问题&#xff0c;我们只需要…

日志系统:一条SQL更新语句是如何执行的?

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 之前你可能经常听 DBA 同事说,…

怎么判定自己的账号有没有被限流?短视频运营推广学习日记

短视频运营推广学习日记 今天开始记录自己的学习过程&#xff0c;今天的内容是&#xff0c;怎么知道自己的账号有没有被限流&#xff1f;对比了几个方法&#xff0c;还是我赢的内容比较正常&#xff0c;限流主要是两种方式&#xff1a;作品限流和账号限流 作品限流&#xff1…

开发第一天

首先下载Binary Editor: https://www.vcraft.jp/soft/bz.html 如图所示&#xff0c;点击下载&#xff1a; 下载后解压&#xff0c;在同一个盘下创建文件夹取名为OSASK,启动Bz.exe程序并输入&#xff1a; 需要复制很多的0,一直到168000这个地址&#xff0c;得到的文件命名为he…

(九) DockerFile

DockerFile一、概述二、DockerFile构建过程2.1、Dockerfile内容基础知识2.2、Docker执行Dockerfile的大致流程2.3、小总结三、DockerFile常用保留字指令四、实操案例4.1、要求Centos7镜像具备vimifconfigjdk84.2、编写4.3、Build构建镜像4.4、虚悬镜像一、概述 Dockerfile是用来…

C++18 -- 虚析构函数构成多态、纯虚函数、抽象类、虚继承

多态的条件&#xff1a; 1&#xff09;覆盖 2&#xff09;基类的指针或者引用 虚表的运行原理&#xff1a; 一、多态的特例 – 虚析构函数构成多态 类有指针作为数据成员&#xff0c;必须要写析构函数&#xff0c;如果当前类被继承了&#xff0c;则析构函数写成virtual&#…

四旋翼无人机学习第19节--allgero的板框导入,网表导入

文章目录1 板框导入2 网表导入3 颜色修改4 修改快捷键1 板框导入 1、板框可以在小马哥课程中获取哦。 课程地址:使用Cadence17.2 OrCAD Allegro绘制小马哥DragonFly四轴飞行器 2、下载得到文件&#xff0c;然后用CAD软件查看DXF文件&#xff0c;出现弹框点击是即可(文件只读)。…

科研小白如何做好科研(内附一些科研实用工具)

目录 前言 一、了解自己的研究方向 1、知其然并知其所以然 2、那如何做到呢&#xff1f; 二、拥有良好的科研素养 1、多读文献 2、夯实基础&#xff0c;搞清原理 3、不断学习&#xff0c;擅于总结 4、团队协作&#xff0c;勤沟通&#xff0c;多交流 三、掌握一些…

RHCEansible静态主机清单

首先要做好免密登录 RHCEansible虚拟机初始化配置&#xff0c;ansible配置和安装_无所不知的神奇海螺的博客-CSDN博客 添加主机组 [rootserver ~]# vim /etc/ansible/hosts 或者 测试 [rootserver ~]# ansible node1 -m command -a hostname --- 引号里的是想要受控主机执行的…

Dell inspiron 5488加装硬盘SSD

机械盘真心便宜&#xff0c; 当数据盘很合适。 ———— 我是装双系统&#xff0c; 希望速度快&#xff01; 我就装了一个SSD&#xff0c; STAT接口的&#xff0c; 和机械盘盒一样尺寸&#xff0c; 接口都是SATA&#xff0c; 我买的三星860EVO&#xff0c; 500G&…

I06-python菜鸟教程查漏补缺

学习链接&#xff1a;Python3 教程 | 菜鸟教程 目录 1.基础知识 2.字符串 1.基础知识 多行语句&#xff1a;复数类型&#xff1a; 复数由实数部分和虚数部分构成&#xff0c;可以用 a bj&#xff0c;或者 complex(a,b) 表示&#xff0c; 复数的实部 a 和虚部 b 都是浮点型…

项目的生命周期

0、Preface/Foreword PLM:Product Lifecycle Management System,产品生命周期管理;可以在公司内部或者多个公司之间对于产品研发协同办公,集成与产品相关的人力资源,流程、应用系统和信息,用于支持产品全生命周期的信息创建、管理、分发和应用。 1、硬件产品开发流程 立…

2022年下半年信息系统项目管理师综合知识真题及答案21-40

21、关于项目论证、项目评估目的和作用的描述&#xff0c;不正确的是&#xff1a;&#xff08;&#xff09;。 A&#xff0e;项目论证应围绕市场需求、开发技术、财务经济三个方面开展 B&#xff0e;项目论证的作用是审查可行性研究的可靠性、真实性和客观性 C&#xff0e;项目…

Java8 - Streams map()

文章目录概述Case 1 : A List of Strings to UppercaseCase 2 : List of objects -> List of StringCase 3 : List of objects -> List of other objectsTest概述 Stream.map()是Stream最常用的一个转换方法&#xff0c;它把一个Stream转换为另一个Stream map()方法用于…

网络安全人才市场需求调研

声明 本文是学习2022网络安全人才市场状况研究报告. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 网络安全人才市场需求调研 为了更好地了解网络安全人才市场能力需求情况&#xff0c;我们通过调研问卷对网络安全人才就业市场不同方向的十…

Jetson nano 入手系列之1—如何SSH远程登录

Jetson nano 入手系列之1— 如何SSH远程登录方法1.windows与jetson nano使用同一个网络方法2.windows与jetson nano使用网线连接参考文献本文使用的windows平台来ssh远程登录jetson nano&#xff0c;这里提供两种方法。方法1.windows与jetson nano使用同一个网络 使用同一个网络…

二氧化碳捕获和电化学转化(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

12---实现注册、异常处理,统一封装结果集

1、写统一返回结果包装类 在实际开发中&#xff0c;为了降低开发人员之间的沟通成本&#xff0c;一般返回结果会定义成一个统一格式&#xff0c;具体的格式根据实际开发业务不同有所区别&#xff0c;但至少包括三要素&#xff1a; code状态码&#xff1a;由后端统一定义各种返…