购物网站建设 属于信息系统管理与设计么?/成人职业技能培训有哪些项目
Dubbo3简单使用
👉 使用Spring Boot实现Dubbo3,请参见以下地址。
# Dubbo3官网地址
https://cn.dubbo.apache.org/zh/# 使用SpringBoot实现Dubbo3的地址
https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/quick-start/spring-boot/# 该项目的git地址
https://github.com/MasonYyp/mydubbo
1 同一个项目中创建多个应用
1.1 创建空项目
(1)创建空项目
(2)提示错误
⚠️ 注意:会提示下面错误,点击“OK”即可。
(3)空项目创建完成
1.2 创建应用模块
(1)创建模块
(2)创建Maven
选择Maven模块,点击“Next”。
(3)设置应用信息
设置应用信息后,点击“Finish”即可。
(4)创建完成
1.3 创建其他
创建其他应用的方法和上面的方法类似,分别创建Dubbo的服务提供者(duprovider)和服务消费者(duconsumer)。
- GroupId: com.mason
- Version: 1.0
- 创建应用的目录:mydubbo目录下
分别在应用下创建java包(选择Module时创建Maven默认不会创建java包)。
应用名称(ch) | 应用名称(en) | 包名 | 备注 |
---|---|---|---|
公共模块 | ducommon | com.mason.ducommon | 为其他模块提供公共接口 |
服务提供者 | duprovider | com.mason.duprovider | 提供服务 |
服务消费者 | duconsumer | com.mason.duconsumer | 消费服务 |
应用创建完成后如下
2 软件版本选择
(1)Spring Cloud Alibaba版本说明
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
(2)Spring Cloud版本说明
# 介绍了相应的版本
https://spring.io/projects/spring-cloud#overview# 介绍了稳定版(含有GA标识)
https://spring.io/projects/spring-cloud#learn
(3)版本选择
⚠️ 组件版本很重要,需要慎重选择,Dubbo3需要配合Nacos2使用。
软件 | 版本号 |
---|---|
Spring Cloud | Hoxton.SR12 |
Spring Boot | 2.3.12.RELEASE |
Spring Cloud Alibaba | 2.2.9.RELEASE |
Sentinel | 1.8.5 |
Nacos | 2.1.0 |
RocketMQ | 4.9.4 |
Seata | 1.5.2 |
Dubbo | 3.1.4 |
3 安装nacos
3.1 Nacos安装参考地址
https://blog.csdn.net/make_progress/article/details/128855472
3.2 安装MySQL
# 创建网桥
docker network create --driver bridge du_net# 下载MySQL
docker pull mysql:5.7.34# 创建数据库
docker run -itd --name du_mysql \
--net du_net \
--restart=always \
-p 3306:3306 \
-v /home/dubbo/mysql/conf:/etc/mysql/conf.d \
-v /home/dubbo/mysql/data:/var/lib/mysql \
-v /home/dubbo/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7.34
3.3 初始化Nacos数据库
# 解压“nacos-server-2.1.0.zip”文件,将“nacos-server-2.1.0/nacos/conf”目录中的“nacos-mysql.sql”复制到容器中
docker cp nacos-mysql.sql du_mysql:/home/# 进入容器
docker exec -it du_mysql /bin/bash# 进入MySQL数据库,输入密码后进入MySQL
mysql -u root -p# 创建数据库
create database nacos_config;# 切换数据库
use nacos_config# 导入nacos配置信息到数据库
source /home/nacos-mysql.sql
3.4 安装Nacos
# 下载Nacos镜像
docker pull nacos/nacos-server:v2.1.0# 安装nacos
# 注意:Nacos2比Nacos1多开9848、9849两个端口需求全部开放,否则应用无法注册到Nacos
docker run -itd --name du_nacos \
--net du_net \
--restart=always \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=du_mysql \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=123456 \
--env MYSQL_SERVICE_DB_NAME=nacos_config \
nacos/nacos-server:v2.1.0
访问Nacos
# 地址
http://192.168.108.200:8848/nacos账号:nacos
密码:nacos
4 公共模块
4.1 项目截图
4.2 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.mason</groupId><artifactId>ducommon</artifactId><version>1.0</version><properties><java.version>11</java.version></properties><dependencies><!-- Parse json --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.58</version></dependency><!-- Init the entity --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>provided</scope></dependency></dependencies></project>
4.3 服务层service下接口文件
service包下文件
package com.mason.ducommon.service;public interface TestService {public String getInfo(String message);
}
5 服务提供者
5.1 项目截图
5.2 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.mason</groupId><artifactId>duprovider</artifactId><version>1.0</version><properties><java.version>11</java.version><spring-cloud.version>Hoxton.SR12</spring-cloud.version><spring.cloud.alibaba.version>2.2.9.RELEASE</spring.cloud.alibaba.version></properties><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>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 引入自定义的公共模块 --><dependency><groupId>com.mason</groupId><artifactId>ducommon</artifactId><version>1.0</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
5.3 yml文件
服务提供者做了3个节点,yml文件有“application-node1.yml,application-node2.yml,application-node3.yml”
application-node1.yml
server:port: 8081spring:# 配置注册在Nacos中的应用名称application:name: app-duprovidercloud:# 设置Nacos服务注册地址nacos:discovery:server-addr: 192.168.108.200:8848dubbo:# 设置Dubbo服务的应用名,如果不设置此应用名默认为应用名,此外默认为“app-duprovider”application:name: dubbo-duprovider# 设置Dubbo协议信息protocol:name: dubbo# 端口可以设置为“-1”,表示端口自增长port: 9081# 设置注册地址registry:address: nacos://192.168.108.200:8848# 设置服务超时provider:timeout: 3000management:endpoints:web:exposure:include: '*'
application-node2.yml
server:port: 8082spring:application:name: app-duprovidercloud:nacos:discovery:server-addr: 192.168.108.200:8848dubbo:application:name: dubbo-duproviderprotocol:name: dubboport: 9082registry:address: nacos://192.168.108.200:8848provider:timeout: 3000management:endpoints:web:exposure:include: '*'
application-node3.yml
server:port: 8083spring:application:name: app-duprovidercloud:nacos:discovery:server-addr: 192.168.108.200:8848dubbo:application:name: dubbo-duproviderprotocol:name: dubboport: 9083registry:address: nacos://192.168.108.200:8848provider:timeout: 3000management:endpoints:web:exposure:include: '*'
5.4 controller
此处的controller的作用是查看服务是否启动,与Dubbo提供服务无关,可以不要controller。
DubboController.java
package com.mason.duprovider.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/provider")
public class DubboController {@Value("${server.port}")private String port;@RequestMapping("/getdata")public String getData(){return "Dubbo " + this.port;}
}
5.5 service
提供Dubbo服务,实现公共模块(ducommon)中的服务接口。
Dubbo在新版本中使用@DubboService,旧版本中使用@Service,将Dubbo服务注册到注册中心。
TestServiceImpl.java
package com.mason.duprovider.service;import com.mason.ducommon.service.TestService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Value;@DubboService
public class TestServiceImpl implements TestService {@Value("${server.port}")private String port;@Overridepublic String getInfo(String message) {return "Service " + this.port + message;}
}
5.6 启动类
DuproviderApplication.java
⚠️ 注意:需要在启动类上,添加“@EnableDubbo"注解
package com.mason.duprovider;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableDubbo
public class DuproviderApplication {public static void main(String[] args) {SpringApplication.run(DuproviderApplication.class, args);}}
5.7 访问controller的服务
# 访问地址
http://127.0.0.1:8081/provider/getdata
浏览器结果
Nacos中结果
6 服务消费者
6.1 项目截图
6.2 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.mason</groupId><artifactId>duconsumer</artifactId><version>1.0</version><properties><java.version>11</java.version><spring-cloud.version>Hoxton.SR12</spring-cloud.version><spring.cloud.alibaba.version>2.2.9.RELEASE</spring.cloud.alibaba.version></properties><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>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>3.1.4</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 引入自定义的公共模块 --><dependency><groupId>com.mason</groupId><artifactId>ducommon</artifactId><version>1.0</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
6.3 yml文件
服务消费者也做了3个节点,yml文件有“application-node1.yml,application-node2.yml,application-node3.yml”
application-node1.yml
server:port: 8091spring:# 配置注册在Nacos中的应用名称application:name: app-duconsumercloud:# 设置Nacos服务注册地址nacos:discovery:server-addr: 192.168.108.200:8848dubbo:# 此处可以不设置Dubbo服务的应用名,因为没有注册Dubbo服务application:name: dubbo-duprovider# 设置Dubbo协议信息protocol:name: dubbo# 端口可以设置为“-1”,表示端口自增长port: 9091# 设置注册地址registry:address: nacos://192.168.108.200:8848# 设置服务超时provider:timeout: 3000management:endpoints:web:exposure:include: '*'
application-node2.yml
server:port: 8092spring:application:name: app-duconsumercloud:nacos:discovery:server-addr: 192.168.108.200:8848dubbo:application:name: dubbo-duproviderprotocol:name: dubboport: 9092registry:address: nacos://192.168.108.200:8848provider:timeout: 3000management:endpoints:web:exposure:include: '*'
application-node3.yml
server:port: 8093spring:application:name: app-duconsumercloud:nacos:discovery:server-addr: 192.168.108.200:8848dubbo:application:name: dubbo-duproviderprotocol:name: dubboport: 9093registry:address: nacos://192.168.108.200:8848provider:timeout: 3000management:endpoints:web:exposure:include: '*'
6.4 controller
控制层,为用户提供服务。
DubboController.java
package com.mason.duconsumer.controller;import com.mason.duconsumer.service.TestServiceRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/consumer")
public class DubboController {@Autowiredprivate TestServiceRequest testServiceRequest;@RequestMapping("/getdata")public String getData(){return this.testServiceRequest.getInfo();}}
6.5 service
服务层,消费Dubbo服务提供者提供的服务。
Dubbo在新版本中使用@DubboReference,旧版本中使用@Reference,消费注册中心的Dubbo服务。
TestServiceRequest.java
package com.mason.duconsumer.service;import com.mason.ducommon.service.TestService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;@Service
public class TestServiceRequest {@DubboReferenceprivate TestService testService;public String getInfo() {return this.testService.getInfo(" -- Hello Dubbo");}
}
6.6 启动类
DuconsumerApplication.java
package com.mason.duconsumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DuconsumerApplication {public static void main(String[] args) {SpringApplication.run(DuconsumerApplication.class, args);}}
6.7 访问controller的服务
# 访问地址
http://127.0.0.1:8081/consumer/getdata
浏览器中的结果
Nacos中结果
相关文章:

Dubbo3简单使用
Dubbo3简单使用 👉 使用Spring Boot实现Dubbo3,请参见以下地址。 # Dubbo3官网地址 https://cn.dubbo.apache.org/zh/# 使用SpringBoot实现Dubbo3的地址 https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/quick-start/spring-boot/# 该项目的git地址…...

Redis未授权漏洞蜜罐模拟与捕获分析
1.概述 文章主要分析Redis未授权漏洞的原理及形成原因,使用vulhub靶场进行漏洞复现,在了解漏洞原理并复现的基础上使用golang编写蜜罐代码进行模拟,开放端口在网上捕获真实存在的恶意攻击行为,对恶意样本进行分析,总结…...

Spring Security Oauth2.0认证授权
基本概念认证: 用户认证就是判断一个用户的身份是否合法的过程 ,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机…...

安卓小游戏:贪吃蛇
安卓小游戏:贪吃蛇 前言 这个是通过自定义View实现小游戏的第二篇,实际上第一篇做起来麻烦点,后面的基本就是照葫芦画瓢了,只要设计下游戏逻辑就行了,技术上不难,想法比较重要。 需求 贪吃蛇࿰…...

CUDA中的图内存节点
CUDA中的图内存节点 文章目录CUDA中的图内存节点1. 简介2. 支持的架构和版本3. API基础知识3.1. 图节点 APIs3.2. 流捕获3.3. 在分配图之外访问和释放图内存3.4. cudaGraphInstantiateFlagAutoFreeOnLaunch4. 优化内存复用4.1. 解决图中的重用问题4.2. 物理内存管理和共享5. 性…...

你真的看好低代码开发吗?
低代码开发前景如何,大家真的看好低代码开发吗?之前有过很多关于低代码的内容,这篇就来梳理下国内外低代码开发平台发展现状及前景。 01、国外低代码开发平台现状 2014年,研究机构Forrester Research发表的报告中提到“面向客户…...

一篇带你MySQL运维
1. 日志 1.1 错误日志 错误日志是 MySQL 中 重要的日志之一,它记录了当 mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&…...

《嵌入式 – GD32开发实战指南》第22章 SPI
开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 22.1 SPI简介 SPI,是Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的…...

一个优质软件测试工程师的简历应该有的样子(答应我一定要收藏起来)
个人简历 基本信息 姓 名:xxx 性 别: 女 年 龄:24 现住 地址: 深圳 测试 经验:3年 学 历:本科 联系 电话:18xxxxxxxx 邮 箱:xxxxl163.com 求职意向 应聘岗位:软件…...

C++ 浅谈之 STL Deque
C 浅谈之 STL Deque HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 🏃&a…...

Koa2-项目中的基本应用
文章目录安装配置koa2配置nodemon,热更新我们的项目中间件什么是中间件👻洋葱模型路由中间件连接数据库 - mysql后端允许跨域处理请求getpostputdelete后续会继续更新安装配置koa2 👻安装 koa2 npm i koa2 -s👻在package.json 配置,当然是在…...

Flask入门(2):配置
目录2.Flask配置2.1 直接写入主脚本2.2 系统环境变量2.3 单独的配置文件2.4 多个配置类2.5 Flask内置配置2.Flask配置 我们都知道,Flask应用程序肯定是需要各种各样的配置。来满足我们不同的需求的,这样可以使我们的应用程序更加灵活。比如可以根据需要…...

Linux--fork
一、fork入门知识 fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。可以简单地说fork()的作用就是创建一…...

计算机组成原理(一)
1.了解计算机硬件的发展和软件的发展历程; 硬件: 电子管时代(1946-1959):电子管、声汞延迟线、磁鼓 晶体管时代(1959-1964):晶体管、磁芯 中、小规模集成电路时代&#…...

【SpringBoot】实现Async异步任务
1. 环境准备 在 Spring Boot 入口类上配置 EnableAsync 注解开启异步处理。 创建任务抽象类 AbstractTask,并分别配置三个任务方法 doTaskOne(),doTaskTwo(),doTaskThree()。 public abstract class AbstractTask {private static Random r…...

Node =>Express学习
1.Express 能做什么 能快速构建web网站的服务器 或 Api接口的服务期 Web网站服务器,专门对外提供Web网页资源的服务器Api接口服务器:专门对外提供API接口的服务器 2.安装 在项目所处的目录中,运行以下命令,简装到项目中了 npm …...

QT基础入门【布局篇】消除控件之间的间隔
一、相关参数 layoutLeftMargin: layout内的布局距离边框左端的距离。 layoutTopMargin: layout内的布局距离边框顶端的距离。 layoutRightMargin: layout内的布局距离边框右端的距离。 layoutBottomMargin: layout内的布局距离边框底端的距离。 layoutHorizontalSpacing: layo…...

vue脚手架 element-ui spring boot 实现图片上传阿里云 并保存到数据库
一.阿里云 注册登陆就不讲了,登陆进去后如下操作 1. 进入对象存储OSS 创建一个新的Bucket 随后点击新建的bucket 2.去访问RAM 前往RAM控制台 3.去创建用户 4.创建密匙 5.随后返回RAM控制台 给用户增加权限,文件上传所需权限,需要带含有…...

【FPGA】Verilog:组合电路 | 3—8译码器 | 编码器 | 74LS148
前言:本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例:编码/译码器的应用 功能特性: 采用 Xilinx Artix-7 XC7A35T芯片 配置方式:USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器&…...

GLP-1类药物研发进展-销售数据-上市药品前景分析
据一项2021 年的报告发现,当 GLP-1 类似物用于治疗 2 型糖尿病时,全因死亡率降低了 12%,它们不仅降糖效果显著,同时还兼具减重、降压、改善血脂谱等作用。近几年,随着GLP-1R激动剂类药物市场规模不断增长,美…...

C++远程监控系统接收端- RevPlayMDIChildWnd.cpp
void CRevPlayWnd::InitMultiSock() { int RevBuf; int status; BOOL bFlag; CString ErrMsg; SOCKADDR_IN stLocalAddr; SOCKADDR_IN stDestAddr; SOCKET hNewSock; int RevLensizeof(RevBuf); //创建一个IP组播套接字 MultiSock W…...

QT之OpenGL深度测试
QT之OpenGL深度测试1. 深度测试概述1. 1 提前深度测试1.2 深度测试相关函数2. 深度测试精度2.1 深度冲突3. Demo4. 参考1. 深度测试概述 在OpenGL中深度测试(Depth Testing)是关闭的,此时在渲染图形时会产生一种现象后渲染的会把最先渲染的遮挡住。而在启用深度测试…...

用LCR测试仪测试无线充电系统中的线圈
宽阻抗范围用来表征电感和质量因数– 高精度 DCR 测量– 制造环节快速测量– 大量夹具可供选择智能终端上不断增加新功能,电池寿命成为用户最头痛的问题之一。相比便携式电源和电缆供电而言,无线充电技术因其方便性和多功能性获得了很大的关注࿰…...

华为、南卡和漫步者蓝牙耳机怎么选?国产高性价比蓝牙耳机推荐
随着蓝牙耳机的快速发展,现如今使用蓝牙耳机的人也越来越多。其中,日益增多的国产蓝牙耳机品牌也逐渐被大众认识、认可。目前一些热销的国产蓝牙耳机,如华为、南卡和漫步者等都是大家比较熟知的品牌。那么,这三个品牌哪个性价比高…...

MySQl学习(从入门到精通12)
MySQl学习(从入门到精通12)第 15 章_存储过程与函数1. 存储过程概述1. 1 理解1. 2 分类2. 创建存储过程2. 1 语法分析2. 2 代码举例3. 调用存储过程3. 1 调用格式3. 2 代码举例3. 3 如何调试4. 存储函数的使用4. 1 语法分析4. 2 调用存储函数4. 3 代码举…...

08讲 | 基于STM32单片机NBIOT定位实战项目
前言 绘制基于 STM32 单片机的 NBIOT 实战开发板。 文章目录前言一、原理图1、绘制1)电源供电a、USB 转 TTL 电路b、锂电池充电管理电路c、3.3V电压转换电路d、一键开关机电路2)单片机最小系统3)ADC电压转换电路4)NBIOT 模组串口电…...

提取接近竖直物体(粗定位)
由于项目的需要提取图像之中的一个接近于竖直的物体,一般的方法是进行图像分割,分割方式使用什么OTSU方式以及hsv方法等等。但是项目中使用的相机是黑白相机,会受到一定的限制。因此想到的是使用线条提取方式。线条提取方式之中最好的方法是使…...

程序环境和预处理
目录一、程序的翻译环境和执行环境二、编译链接2.1 翻译环境2.2 编译2.2.1 预处理2.2.2 编译2.2.3 汇编2.3 链接2.4 结果三、运行环境四、预处理详解4.1 #define4.1.1 #define定义标识符4.1.2 #define定义宏4.1.3 #define 替换规则4.1.4 #和##4.1.5 带副作用的宏参数4.1.6 宏和…...

财报解读:业务复苏迹象明显,中国中免能否重写增长神话?
2月3日,中国中免披露2022年度业绩快报,2022年总营收为544.63亿元,同比下降19.52%;实现归属于上市公司股东的净利润50.25亿元,同比下降47.95%。来源:中国中免2022年度业绩快报业绩近乎腰斩,但从长…...

macOS中虚拟机桥接模式分配静态ip
1.首先使用dhclient命令,在局域网中分配一个C类地址。 2.获得地址后,输入ifconfig,查看分配的地址。 3.然后编辑vi /etc/sysconfig/network-scripts/ifcfg-en***文件 在该配置文件中编辑,设置ONBOOTyes,而后添加静态配…...