SpringCloud Alibaba--nacos简介和注册中心和登录

目录

一.理论基础

二.nacos

2.1 简介

2.2 安装

三.父项目

三.生产者

3.1 配置依赖

3.2 配置文件

3.3 启动类

3.4 控制类

四.消费者

4.1 配置依赖

4.2 配置文件

4.3 启动类

4.4 feign的接口

五.效果

六.负载均衡--权重算法

6.1重启nacos

6.2 设置权重

6.3 设置配置

6.4 效果

SpringCloudAlibaba-登录

1.登录页面

父依赖

2.消费者

2.1 依赖

2.2配置文件

2.3 控制层

2.4 servie层

3.生产者

3.1 依赖

3.2 配置文件

3.3 控制层

3.4 访问层

3.5 实体类

3.6 实现类

3.7 mapper

4.效果


 


 

一.理论基础

Spring Cloud Alibaba 为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 微服务框架开发应用程序。

有了Spring Cloud Alibaba,您只需要添加一些注释和少量配置,就可以将Spring Cloud的应用程序连接到阿里巴巴的分布式解决方案上,并利用阿里巴巴的中间件构建分布式应用系统。

主要功能:

服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。
阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。
阿里云短信服务:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

Spring Cloud Alibaba和Spring Cloud和Spring Boot之间的版本对应:

Spring Cloud Alibaba Version

Spring Cloud Version

Spring Boot Version

2021.0.4.0*

Spring Cloud 2021.0.4

2.6.11

2021.0.1.0

Spring Cloud 2021.0.1

2.6.3

2021.1

Spring Cloud 2020.0.1

2.4.2

 

Spring Cloud Alibaba Version

Spring Cloud Version

Spring Boot Version

2022.0.0.0-RC2

2022.0.0

3.0.2

2022.0.0.0-RC1

2022.0.0

3.0.0

Spring Cloud Alibaba和各组件间的版本对应:

Spring Cloud Alibaba Version

Sentinel Version

Nacos Version

RocketMQ Version

Dubbo Version

Seata Version

2.2.9.RELEASE

1.8.5

2.1.0

4.9.4

~

1.5.2

2021.0.4.0

1.8.5

2.0.4

4.9.4

~

1.5.2

2.2.8.RELEASE

1.8.4

2.1.0

4.9.3

~

1.5.1

2021.0.1.0

1.8.3

1.4.2

4.9.2

~

1.4.2

2.2.7.RELEASE

1.8.1

2.0.3

4.6.1

2.7.13

1.3.0

2.2.6.RELEASE

1.8.1

1.4.2

4.4.0

2.7.8

1.3.0

2021.1 or 2.2.5.RELEASE or 2.1.4.RELEASE or 2.0.4.RELEASE

1.8.0

1.4.1

4.4.0

2.7.8

1.3.0

2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE

1.8.0

1.3.3

4.4.0

2.7.8

1.3.0

2.2.1.RELEASE or 2.1.2.RELEASE or 2.0.2.RELEASE

1.7.1

1.2.1

4.4.0

2.7.6

1.2.0

2.2.0.RELEASE

1.7.1

1.1.4

4.4.0

2.7.4.1

1.0.0

2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE

1.7.0

1.1.4

4.4.0

2.7.3

0.9.0

2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE

1.6.3

1.1.1

4.4.0

2.7.3

0.7.1

二.nacos

2.1 简介

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。能够替代Eureka做服务注册中心,替代Config做服务配置中心。

49cc23462914452e8ca7a3231e21b4ab.png

2.2 安装

安装地址

解压后可直接使用。

在环境变量中配置JDK,需要先配置JAVA_。

打开nacos下的bin文件,用记事本打开startup.cmd,将set MODE="cluster"改为set 。MODE="standalone"后保存。

再次双击打开startup.cmd。

d50fefbc8357445da7c8b049f03a4e40.png

使用localhost:8848/nacos,访问注册中心,用户名和密码为nacos。

fe724140b23f45888003e7c88f29cca9.png

三.父项目

 配置依赖管理,alibaba-dependencies需要在dependencies的基础上运行,所以需要spring-cloud-dependencies的依赖。

<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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.0.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2022.0.0.0-RC2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

三.生产者

3.1 配置依赖

需要加入web依赖和nacos依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

3.2 配置文件

application

定义好nacos路径和端口

server:
  port: 8003
spring:
  application:
    name: provider
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848

3.3 启动类

编写启动类并加注解。

@EnableDiscoveryClient注解,开启nacos服务中心。

@SpringBootApplication
@EnableDiscoveryClient
public class nacosClient3Application {
    public static void main(String[] args) {
        SpringApplication.run(nacosClient3Application.class,args);
    }
}

3.4 控制类

进行feign和负载均衡使用。

@RestController
public class MyController {
    @RequestMapping("/test")
    public String gotoTest(){
        return "nacosClient3";
    }
}

四.消费者

4.1 配置依赖

需要加入web依赖、nacos依赖、feign依赖和负载均衡依赖

 

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
    </dependencies>

4.2 配置文件

定义好nacos路径、端口和名字

server:
  port: 9000
spring:
  application:
    name: consumer
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848

4.3 启动类

编写启动类并加注解。

@EnableDiscoveryClient注解,开启nacos服务中心。

@EnableFeignClients注解,开启feign

@EnableFeignClients//启动feign
@SpringBootApplication
@EnableDiscoveryClient开启nacos服务中心
public class nacosCostomerApplication {
    public static void main(String[] args) {
        SpringApplication.run(nacosCostomerApplication.class,args);
    }
}

4.4 feign的接口

@Service
@FeignClient(name = "provider")
public interface ServiceCostomer {
    @RequestMapping("/test")
    public String gotoTest();
}

五.效果

dd91ded6db5541a880d06615fd1bc9b3.png

六.负载均衡--权重算法

负载均衡中默认方法为轮询算法,但在实际应用中,是需要给每个生产者有不同的任务,根据服务区的内存等原因,分配不同的任务量。

权重:后端服务器处理请求的优先级,设置权重较高的服务器会更频繁地被选中处理请求。

6.1重启nacos

直接更改权重会出现错误。

f81b02edd21d4bfa94bc3728899981f7.png

 

首先停止nacos,将nacos文件下的data包删除。删除后重启nacos。

32b9de48fd7f427395f6cd170c3391d5.png

 

6.2 设置权重

在生产者中点击详情,编辑生产者权重。

注意:生产者的权重之和为1,每个生产者的权重设置为0.n。

5c829ba71fda4f2186678bef6265e569.png

 

31cf065efbfc4bbe88e96f19a6942355.png

16ca095c21b14f27b5508fafd7532ab4.png

6.3 设置配置

在消费者中开启nacos的负载均衡策略。

 

cloud:
    loadbalancer:
      nacos:
        enabled: true

6.4 效果

将会给生产者1的分配次数变多。

cd78f256817644a09df318fb025c7022.png

SpringCloudAlibaba-登录

页面输入用户名和密码,提交到后端消费者,消费者传到生产者后端在进行判断,返回登录成功或登录失败到消费者,消费者再放到页面上进行显示。

restTemplate.getForObject 向远程取数据 两个参数url和数据类型

restTemplate.postForObject 向远程服务传参数 三个参数url、参数、返回值类型

@RequestBody 跨域(端口不同)得到对象数据,必须是post提交

1.登录页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>
<form th:action="@{/loginEntity}" method="post">
    <span th:text="${result}"></span>
    <input type="username" th:placeholder="请输入用户名" name="username"/>
    <input type="password" placeholder="请输入密码" name="password" />
    <input type="submit" th:value="登录"/>
</form>

</body>
</html>

父依赖

管理spring-cloud、spring-boot、spring-cloud-alibaba、mysql和mybatis的版本号,添加共用的lombok依赖

<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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.0.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2022.0.0.0-RC2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>8.0.33</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>3.0.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
        <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

 

2.消费者

需要将页面的值传递给生产者,并接受生产者的返回值。

2.1 依赖

<dependencies>
    使用公共实体类
        <dependency>
            <groupId>org.example.entity</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
    nacos依赖
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    feign依赖
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    负载均衡依赖
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
    thymeleaf页面依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>

2.2配置文件

server:
  port: 9000
spring:
  application:
    name: customer
  thymeleaf:
    #设置页面路径的前缀
    prefix: classpath:/templates/
    #设置页面路径的后缀
    suffix: .html
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848
    loadbalancer:
      nacos:
        enabled: true

2.3 控制层

在该层写好逻辑,使用feign。

@Controller
public class MyController {
    @Autowired
    ServiceCostomer serviceCostomer;
    ModelAndView mav = new ModelAndView();
   
    @RequestMapping("/login")
    private String login(){
        return "login";
    }
   
    @RequestMapping("/loginEntity")
    public ModelAndView loginEntity(User user) {
        String result = serviceCostomer.loginProvider(user);
        mav.addObject("result", result);
        mav.setViewName("login");
        return mav;
    }
}

2.4 servie层

通过生产者的名字和路径找到对应生产者的方法并传值。

@Service
@FeignClient(name = "provider")
public interface ServiceCostomer {
    @RequestMapping("/login")
    public String loginProvider(@RequestBody User user);
}

3.生产者

因为使用负载均衡,所以不知道第一次回去那个生产者,所以每个生产者都需要写loginProvider。这里以其中一个为例。

3.1 依赖

加入sql依赖、mybatis依赖、nacos依赖

<dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
    </dependencies>

3.2 配置文件

三个生产者每个生产者各使用一个数据库,所以这里以生产者3为例

server:
  port: 8001
spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/my_sql_1
    username: root
    password: root
  application:
    name: provider
mybatis:
  mapper-locations: classpath:/mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  type-aliases-package: org.example.client.dao

 

869b1ae209404d09a513420424d59201.png

3.3 控制层

@RestController
public class MyController {
    @Autowired
    MyUserService myUserService;

    @RequestMapping("/login")
    public String loginProvider(@RequestBody UserEntity user) {
        UserEntity user1 = myUserService.getUser(user);
        if (user1 != null) {
            return "登录成功,欢迎";
        } else {
            return "登录失败,暂无该用户,请注册";
        }
    }
}

3.4 访问层

@Mapper
public interface MyUserDao {
  public userEntity getUser(userEntity user);
}

3.5 实体类

@Data
public class userEntity {
    public int id;
    public String username;
    public String password;
}

3.6 实现类

@Service
public class MyUserServiceImpl implements MyUserService {
    @Autowired
    MyUserDao myUserDao;
    @Override
    public userEntity getUser(userEntity user) {
        return myUserDao.getUser(user);
    }
}

3.7 mapper

<mapper namespace="org.example.client.dao.MyUserDao">
    <select id="getUser">
        select *
        from my_user
        where username = #{username} and password=#{password}
    </select>
</mapper>

4.效果

给每个生产者设置不同的权重。

92e4052d11904d12be6d1eac8901dcd4.png

进入login页面

3cdd4d1bb8e34f8eb6ded56ee00896eb.png

登录失败

2e5c479541fd4bda80ac70a6ae5f1e7a.png

登录成功

1a31978b6e624d0c81e32b0788dc27f0.png

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【1431】java学习网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 学习网站系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

【Django】django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.

其中django后台manage.py入口程序报错&#xff0c;检索很多问题解决方案&#xff0c;这里记录下个人问题原因 1.django启动异常问题详情 django.core.exceptions.AppRegistryNotReady: Apps aren’t loaded yet. 2.问题原因 Python第三方包安装版本不一致或缺少依赖包&…

利用AI知识库,优化医保系统售后信息管理流程

在医疗行业中&#xff0c;传统知识库管理虽能整合医疗行业知识&#xff0c;但搜索和管理效率有限&#xff0c;导致医护人员难以高效利用。特别是面对医保系统等复杂系统时&#xff0c;他们常需依赖人工客服或繁琐的电子产品手册解决问题。而HelpLook AI知识库利用AI技术&#x…

拼多多面试题——力扣版测试用例纠错

最近我看到力扣上这个题目&#xff0c;用了三种方法&#xff0c;结果没有一种正确&#xff0c;我就纳闷儿了&#xff0c;为何总有一个测试用例过不了&#xff0c;结果我发现这个测试用例确实有问题啊。。。。。 题目&#xff1a; 表&#xff1a;Logs ----------------------…

Anon Network:基于 Ator Protocol 的 DePIN 匿名互联网

Anon Network正在以Ator Protocol为基础构建世界上最大的Web3隐私互联网生态&#xff0c;其旨在基于DePIN网络&#xff08;Ator protocol&#xff09;&#xff0c;通过激励体系构建一个自下而上、自我维持且可持续、不依赖于任何三方实体且完全匿名的完备互联体系。在该体系中&…

在html页面中使用Vue3和Element-Plus实现基金成本计算器

背景 周边朋友都说基金亏麻了&#xff0c;有些 “鸡” 到底部了&#xff0c;想要补个仓&#xff0c;但是又不知道要投入多少才能拉低到心里预期的成本&#xff0c;并且每只 “鸡” 都得自己输入计算&#xff0c;很麻烦&#xff0c;所以本着偷懒的原则&#xff0c;做了下面的这个…

机器学习中常见的数据分析,处理方式(以泰坦尼克号为例)

数据分析 读取数据查看数据各个参数信息查看有无空值如何填充空值一些特殊字段如何处理读取数据查看数据中的参数信息实操具体问题具体分析年龄问题 重新划分数据集如何删除含有空白值的行根据条件删除一些行查看特征和标签的相关性 读取数据 查看数据各个参数信息 查看有无空…

【Linux】实现一个进度条

我们之前也学了gcc/vim/make和makefile&#xff0c;那么我们就用它们实现一个进度条。 在实现这个进度条之前&#xff0c;我们要先简单了解一下缓冲区和回车和换行的区别 缓冲区其实就是一块内存空间&#xff0c;我们先看这样一段代码 它的现象是先立马打印&#xff0c;三秒后程…

Java Instrumentation插桩技术

Instrumentation基础 openrasp中用到了Instrumentation技术&#xff0c;它的最大作用&#xff0c;就是类的动态改变和操作。 使用Instrumentation实际上也可以可以开发一个代理来监视jvm的上运行的程序&#xff0c;可以动态的替换类的定义&#xff0c;就可以达到虚拟机级别的…

QA测试开发工程师面试题满分问答20: 软件的安全性应从哪几个方面去测试?

软件的安全性测试应从多个方面进行&#xff0c;并确保覆盖以下关键方面&#xff1a; 当回答问题时&#xff0c;可以根据自己的经验和知识&#xff0c;从上述要点中选择适合的方面进行详细说明。强调测试的综合性、全面性和持续性&#xff0c;并强调测试的重要性以及如何与开发团…

亚信安全深度参与撰写《金融行业云原生安全体系研究报告》引领云原生安全 !

近日&#xff0c;北京金融科技产业联盟正式发布《金融行业云原生安全体系研究报告》&#xff08;以下简称《报告》&#xff09;。报告由中国银联等单位牵头&#xff0c;亚信安全受邀作为联合牵头单位全程参与《报告》的讨论和撰写工作。亚信安全依托突出的云原生安全实践经验以…

windows安装nssm并将jar打包为服务

一、nssm 下载地址 二、安装nssm服务 将下载的压缩包复制到安装目录进行解压&#xff0c;解压后有两个版本 win32 和 win64&#xff0c;根据系统选择。打开系统 powershell 命令窗口&#xff0c;进入安装目录指定版本目录&#xff0c;就可以使用nssm服务了。 # 安装服务&…

揭开ChatGPT面纱(2):OpenAI主类源码概览

文章目录 〇、使用OpenAI的两个步骤一、初始化方法__init__()1.源码2.参数解析 二、提供的接口1.源码2.接口说明主要接口说明 OpenAI版本1.6.1 〇、使用OpenAI的两个步骤 在上一篇博客中&#xff0c;我实现并运行了一个OpenAI的demo&#xff0c;我们可以发现&#xff0c;想要使…

自定义mybatis插件实现读写分离

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 自定义mybatis插件实现读写分离 前言场景分析前置配置讲解数据源切换实现代码实现(插件)说明 注意实现效果 有时候我更想看到的是bug&#xff0c;比如做这个插件的时候 前言 在数据库的世界里&#x…

力扣HOT100 - 230. 二叉搜索树中第K小的元素

解题思路&#xff1a; class Solution {List<Integer> list new ArrayList<>();public int kthSmallest(TreeNode root, int k) {dfs(root);return list.get(k - 1);}public void dfs(TreeNode root) {if (root null) return;dfs(root.left);list.add(root.val)…

一个联合均值与方差模型的R包——dglm

目录 一、引言二、包的安装与载入三、模拟例子3.1 数据生成3.2 数据查看3.3 模型估计参数 一、引言 在 R 语言中&#xff0c;dglm 包是用于拟合双参数广义线性模型&#xff08;Double Generalized Linear Models&#xff0c;简称 DGLMs&#xff09;的一个工具。这类模型允许同…

使用STM32F103驱动读取MAX30102时的调试问题记录

1、数据FIFO寄存器&#xff0c;也就是地址为0x07的FIFO DATA寄存器&#xff0c;必须一次性将采样数据全部读出&#xff0c;也就是IIC起始信号发出后&#xff0c;必须连续读取FIFO中所有数据&#xff0c;如果一个字节一个字节读的话&#xff0c;实测FIFO的读写指针不会变化&…

YOLOv8改进项目汇总-超全改进-ultralyticsPro介绍:订阅了《芒果YOLOv8原创改进专栏》的读者免费赠送,包括很多稀有改进

&#x1f525;&#x1f525;&#x1f525;专注于YOLOv8改进&#xff0c;NEW - YOLOv8 &#x1f680; in PyTorch >, Support to improve Backbone, Neck, Head, Loss, IoU, LA, NMS and other modules&#x1f680; Makes YOLOv8 improvements easy again 芒果出品 YOLOv8…

HarmonyOS开发案例:【图片编辑】

介绍 本篇Codelab是基于ArkTS的声明式开发范式的样例&#xff0c;主要介绍了图片编辑实现过程。样例主要包含以下功能&#xff1a; 图片的解码。使用PixelMap进行图片编辑&#xff0c;如裁剪、旋转、亮度、透明度、饱和度等。图片的编码。 相关概念 [图片解码]&#xff1a;读…

NVIDIA Jetson jtop查看资源信息

sudo -H pip install -U jetson-stats 安装好之后可能需要reboot 执行jtop&#xff1a; 时间久了可能会退出&#xff0c;可参考如下再次启动。 nvidiategra-ubuntu:~$ jtop The jtop.service is not active. Please run: sudo systemctl restart jtop.service nvidiategra-ub…