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地址
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激动剂类药物市场规模不断增长,美…...
YOLOv5实战:如何用Inner-IoU提升小目标检测效果(附完整代码)
YOLOv5实战:用Inner-IoU解决小目标检测痛点的工程指南 无人机镜头下的蚂蚁、CT扫描中的微小结节、卫星图像里的车辆——当目标尺寸小于3232像素时,传统检测器的性能往往会断崖式下跌。我们团队在医疗影像分析项目中就曾遇到这样的困境:常规Io…...
Mac能够连接校园网,但是无法上网
Mac电脑能够正常连接校园网,但是无法上网解决步骤:打开系统设置,网络,WI-FI,DNS把现有的删掉重置它。原因分析:应该是在使用代理时、访问什么网站被自动篡改了 DNS 设置,导致连接的 DNS 无法解析…...
如何为Rainmeter贡献多语言翻译:完整指南
如何为Rainmeter贡献多语言翻译:完整指南 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具,支持全球用户通过多语言界…...
Label Studio实战:如何为NLP项目自定义标注模板(含模板代码分享)
Label Studio实战:如何为NLP项目自定义标注模板(含模板代码分享) 在自然语言处理项目中,数据标注的质量往往直接决定模型性能的上限。Label Studio作为当前最主流的开源标注工具之一,其灵活的自定义模板功能让NLP工程师…...
避坑指南:S-Function参数传递中mxArray操作的3个典型错误
S-Function开发实战:mxArray参数传递的3大陷阱与防御性编程技巧 在Simulink的S-Function开发中,mxArray作为MATLAB与C/C之间的数据桥梁,其正确操作直接关系到模块的稳定性和可靠性。许多开发者在参数传递环节频繁遭遇段错误、内存泄漏和类型误…...
Science重磅指南:如何打造高影响力论文摘要?附Abstract写作黄金法则!
1. 科学论文摘要的黄金结构 写论文摘要就像给陌生人讲一个精彩的故事——要在短短200字内让人眼前一亮。我在Nature和Science上发过几篇论文,也审过上百篇投稿,发现顶级期刊的摘要其实有套"万能公式"。这个公式的核心是把摘要拆解成7个关键部分…...
CANoe实战:手把手教你用J1939.dbc发送超8字节长帧报文(附完整CAPL代码)
CANoe实战:J1939长帧报文分包发送全解析与CAPL代码优化 在汽车电子开发领域,J1939协议作为商用车通信标准,其长帧报文处理一直是工程师面临的典型挑战。当数据长度超过CAN总线单帧8字节限制时,如何高效实现分包传输?本…...
达摩院PALM春联模型多场景落地:政务大厅自助春联机解决方案
达摩院PALM春联模型多场景落地:政务大厅自助春联机解决方案 春节贴春联,是咱们中国人传承千年的文化习俗。一副好春联,不仅承载着对新年的美好祝愿,也体现着家庭的品味和格调。但你知道吗?现在写春联这件事࿰…...
RWKV7-1.5B-g1a参数详解教程:temperature/top_p/max_new_tokens调优指南
RWKV7-1.5B-g1a参数详解教程:temperature/top_p/max_new_tokens调优指南 1. 模型简介 rwkv7-1.5B-g1a 是基于 RWKV-7 架构的多语言文本生成模型,特别适合以下场景: 基础问答文案续写简短总结轻量中文对话 这个模型在单卡 24GB 显存的设备上…...
【实战篇】OneWire时序精解:从复位脉冲到DS18B20温度读取
1. OneWire协议基础:单线通信的魔法 第一次接触OneWire(单总线)协议时,我盯着那根孤零零的信号线愣了半天——这根线既要供电又要传数据,还要协调多个设备,简直像用一根吸管同时喝奶茶、吃珍珠和传情书。但…...
