当前位置: 首页 > news >正文

maxwell

一、maxwell简介

它是一款轻量级工具,主要用于实现 MySQL 到 Kafka 的数据实时同步,尤其适合对实时性要求较高的场景。

1.核心功能

借助解析 MySQL 的 Binlog,能够实时捕获数据变更,并将这些变更数据发送至 Kafka。

2.缺点

仅支持 MySQL 数据源,适用范围较窄。

3.maxwell官网

官网默认下载的是最新版本

https://maxwells-daemon.io/

文档查询地址

http://maxwells-daemon.io/quickstart/

历史版本下载

https://github.com/zendesk/maxwell/releases

4.版本选择

4.1 JDK版本

v1.29.2及更早版本:仅支持 JDK 1.8,若使用更高版本 JDK 会导致运行失败。
v1.30.0 及以上版本:不再支持 JDK 1.8,需升级至 JDK 11+

4.2 maxwell版本

小规模场景或 JDK 1.8 用户:选择 v1.29.2,稳定性较好且轻量。
需高兼容性或新功能:尝试 v1.30.0,但需确保 JDK 环境符合要求

二、mysql环境

1.版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.40    |
+-----------+
1 row in set (0.00 sec)

2.查看二进制日志位置

mysql8 默认二进制日志是开启的

mysql> show variables like "%log_bin%";
+---------------------------------+-------------------------------+
| Variable_name                   | Value                         |
+---------------------------------+-------------------------------+
| log_bin                         | ON                            |
| log_bin_basename                | /data/mysql/data/binlog       |
| log_bin_index                   | /data/mysql/data/binlog.index |
| log_bin_trust_function_creators | OFF                           |
| log_bin_use_v1_row_events       | OFF                           |
| sql_log_bin                     | ON                            |
+---------------------------------+-------------------------------+

3.创建连接用户

1.创建用户
create user 'root'@'127.0.0.1' identified by '666666';2.授权用户
grant all on *.* to 'root'@'127.0.0.1' with grant option;3.刷新权限
flush privileges;

4.连接测试

[root@node-1 local]# mysql -u root -p -h 127.0.0.1
Enter password: 

创建测试数据库

mysql> create database test_db;

三、搭建maxwell

1.版本

这里使用的是最新版本

tar xf maxwell-1.41.2.tar.gz
mv maxwell-1.41.2 /usr/local/maxwell

2.配置

[root@node-1 root]# cd /usr/local/maxwell/
[root@node-1 maxwell]# cp config.properties.example config.properties
[root@node-1 maxwell]# egrep -v "^$|#" config.properties
log_level=info
# 将结果输出到屏幕上
producer=stdout
# mysql连接地址,也就是要收集的数据源地址
host=localhost
# 连接的用户名
user=root
# 连接的密码
password=666666#以下都是默认配置
kafka.compression.type=snappy
kafka.retries=0
kafka.acks=1

3.启动maxwell

[root@node-1 maxwell]# ./bin/maxwell --config ./config.properties
[root@node-1 maxwell]# ./bin/maxwell --config ./config.properties
2025-03-12 02:51:22 INFO  Maxwell - Starting Maxwell. maxMemory: 247332864 bufferMemoryUsage: 0.25
2025-03-12 02:51:22 INFO  SchemaStoreSchema - Creating maxwell database
2025-03-12 02:51:22 INFO  Maxwell - Maxwell v1.41.2 is booting (StdoutProducer), starting at Position[BinlogPosition[binlog.000006:115920], lastHeartbeat=0]
2025-03-12 02:51:22 INFO  AbstractSchemaStore - Maxwell is capturing initial schema
2025-03-12 02:51:22 INFO  BinlogConnectorReplicator - Setting initial binlog pos to: binlog.000006:115920
2025-03-12 02:51:22 INFO  BinaryLogClient - Connected to localhost:3306 at binlog.000006/115920 (sid:6379, cid:71)
2025-03-12 02:51:22 INFO  BinlogConnectorReplicator - Binlog connected.

4.测试

4.1 创建测试表

mysql> use test_db
Database changedmysql> create table t1(id int primary key auto_increment,name varchar(20));
Query OK, 0 rows affected (0.06 sec)

4.2 插入测试数据

mysql> insert into t1 values(NULL,'zhangsan');
Query OK, 1 row affected (0.00 sec)

4.3 maxwell控制台结果

{"database":"test_db","table":"t1","type":"insert","ts":1741763417,"xid":4915,"commit":true,"data":{"id":1,"name":"zhangsan"}}

这里说明已经能够实时记录用mysql数据的变化

5.数据匹配filter

maxwell默认是获取所有数据库中的所有表数据。在实际获取数据的时候,并不需要这么多表的数据,那么如何获取部分数据。在配置文件中配置如下

filter=exclude:*.*,include:test_db./t2|t3/解释:
filter: 表示使用过滤规则
exclude: 拒绝获取所有数据,是的,没错,拒绝获取所有数据,然后后续在获取指定的表数据。*.* 表示所有库的所有表
incdlue:获取指定的表数据此处是获取test_db数据库中的 t2和t3表的数据

四、maxwell对接kafka

1.版本

这里的kafka使用的是单机版,3.7版本

2.创建topic

./kafka-topics.sh --bootstrap-server 192.168.1.12:9092 --create --topic MysqlBinLog

3.启用一个匿名消费者

/kafka-console-consumer.sh --bootstrap-server 192.168.1.12:9092 --topic MysqlBinLog

4.配置maxwell对接kafka

# tl;dr config
log_level=info#启用kafka模式
producer=kafka
kafka.bootstrap.servers=192.168.1.12:9092
kafka_topic=MysqlBinLog#下边的配置上边已经讲述过了
host=localhost
user=root
password=666666
filter=exclude:*.*,include:test_db./t2|t3/
client_id=1.10
binlog_connector=true
output_binlog_position=true
output_server_id=true
output_ddl=tru

5.启动maxwell

./bin/maxwell --config ./config.properties

6.修改mysql数据

mysql> insert into t3 values(NULL,'fy');
Query OK, 1 row affected (0.06 sec)mysql> insert into t2 values(NULL,'fy');
Query OK, 1 row affected (0.01 sec)mysql> insert into t1 values(NULL,'fy');
Query OK, 1 row affected (0.01 sec)mysql> insert into t1 values(NULL,'fy');
Query OK, 1 row affected (0.01 sec)mysql> insert into t2 values(NULL,'fy');
Query OK, 1 row affected (0.02 sec)

7.查看kafka消费者

这里可以看到,修改t3,t2表修改成功,修改t1表没有变化

[root@node3 bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.1.12:9092 --topic MysqlBinLog
{"database":"test_db","table":"t3","type":"insert","ts":1741834723,"xid":16428,"commit":true,"position":"binlog.000006:549601","server_id":1,"data":{"id":16,"name":"fy"}}
{"database":"test_db","table":"t2","type":"insert","ts":1741834736,"xid":16463,"commit":true,"position":"binlog.000006:550976","server_id":1,"data":{"id":10,"name":"fy"}}
{"database":"test_db","table":"t2","type":"insert","ts":1741834748,"xid":16498,"commit":true,"position":"binlog.000006:552931","server_id":1,"data":{"id":11,"name":"fy"}}

相关文章:

maxwell

一、maxwell简介 它是一款轻量级工具,主要用于实现 MySQL 到 Kafka 的数据实时同步,尤其适合对实时性要求较高的场景。 1.核心功能 借助解析 MySQL 的 Binlog,能够实时捕获数据变更,并将这些变更数据发送至 Kafka。 2.缺点 仅…...

Qt 6.6.1 中 QPixmap::grabWindow() 的用法与替代方案

一、Qt 6 中的 API 变化 ‌弃用 QPixmap::grabWindow()‌ 在 Qt 6 中,QPixmap::grabWindow() 已被迁移至 QScreen 类,需通过 QScreen::grabWindow() 实现窗口截取‌。 原因: Qt 6 重构了图形模块,QPixmap 的截屏功能被整合到 QSc…...

【软件】免费的PDF全文翻译软件,能保留公式图表的样式

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 很多PDF全文翻译软件都是收费的,而划线翻译看着又很累。这个开源的PDF全文翻译软件非常好用,并且能够保留公式、图表、目录和注…...

LeetCode 112. 路径总和 II java题解

https://leetcode.cn/problems/path-sum/description/ class Solution {boolean resfalse;//记录结果public boolean hasPathSum(TreeNode root, int targetSum) {if(rootnull) return res;int sum0;find(root,sum,targetSum);return res;}public void find(TreeNode root,int…...

如何快速定位导致服务器卡顿的进程

在 Linux 系统中,可以通过多种方式快速定位导致服务器卡顿的进程。以下是一些常用的方法: 1. 使用 top 和 htop 命令: 使用 top 或 htop 命令可以实时监视系统资源利用情况,包括 CPU 和内存占用情况,以及运行的进程列…...

【计算机网络】第八版和第七版的主要区别,附PDF

「《计算机网络》(... 谢希仁」,https://pan.quark.cn/s/7c2147cb48f7 1. 新增内容 - 软件定义网络(SDN):第八版在网络层章节中新增了对SDN的简介(第4章),介绍了其基本原理和应用。 - Wi-Fi代…...

ubuntu20.04_vscode_snap安装方式

停止 Snap 服务 运行以下命令: sudo systemctl stop snapd 彻底停止 Snap 服务 停止 snapd.service 和 snapd.socket: sudo systemctl stop snapd.socket sudo systemctl stop snapd.service 禁用 Snap 服务的自动启动(可选)&…...

基于SpringBoot实现旅游酒店平台功能十一

一、前言介绍: 1.1 项目摘要 随着社会的快速发展和人民生活水平的不断提高,旅游已经成为人们休闲娱乐的重要方式之一。人们越来越注重生活的品质和精神文化的追求,旅游需求呈现出爆发式增长。这种增长不仅体现在旅游人数的增加上&#xff0…...

coze ai assistant Task 2

创建一个智能体:夸夸机器人 https://www.coze.cn/store/agent/7480939060010713138?bot_idtrue 改为豆包系列-豆包角色扮演 添加bingWebSearch搜索 添加前: 添加后: 改为工具调用: 添加知识库 使用长期记忆 结合自己的需求&…...

Qt/C++音视频开发82-系统音量值获取和设置/音量大小/静音

一、前言 在音视频开发中,音量的控制分两块,一个是控制播放器本身的音量,绝大部分场景都是需要控制这个,这个不会影响系统音量的设置。还有一种场景是需要控制系统的音量,因为播放器本身的音量是在系统音量的基础上控…...

C盘清理终极方案——基于Windows软连接的目录迁移实战

C盘清理终极方案——基于Windows软连接的目录迁移实战 &#xff08;案例实现&#xff1a;.cache、.conda、AppData\docker等目录移动至D盘&#xff09;​ 核心 # 创建目录软连接 mklink /J "C:\Users\<用户名>\AppData\Local\Docker" "D:\SoftwareCa…...

医疗AI测试实战:如何确保人工智能安全赋能医疗行业?

一、医疗AI测试的重要性 人工智能&#xff08;AI&#xff09;正广泛应用于医疗行业&#xff0c;如疾病诊断、医学影像分析、药物研发、手术机器人和智能健康管理等领域。医疗AI技术的应用不仅提高了诊断效率&#xff0c;还能降低误诊率&#xff0c;改善患者治疗效果。然而&…...

在资源有限中逆势突围:从抗战智谋到寒门高考的破局智慧

目录 引言 一、历史中的非对称作战&#xff1a;从李牧到八路军的智谋传承 李牧戍边&#xff1a;古代军事博弈中的资源重构 八路军的游击战&#xff1a;现代战争中的智慧延续 二、创业界的逆袭之道&#xff1a;小米与拼多多的资源重构 从MVP到杠杆解 社交裂变与资源错配 …...

在使用element-ui时表单的表头在切换页面时第一次进入页面容易是白色字体解决方法

在里面添加:header-cell-style"{ color: black }" <el-table :data"tableData" style"width: 100%" height"250" :header-cell-style"{ color: black }" ></el-table> 正确代码是 <templat…...

与指定数字相同的数的个数(信息学奥赛一本通-1102)

【题目描述】 输出一个整数序列中与指定数字相同的数的个数。 【输入】 输入包含三行&#xff1a; 第一行为n&#xff0c;表示整数序列的长度(n≤100)&#xff1b; 第二行为n个整数&#xff0c;整数之间以一个空格分开&#xff1b; 第三行包含一个整数&#xff0c;为指定的数字…...

13. Pandas :使用 to_excel 方法写入 Excel文件

一 to_excel 方法的相关参数 用它来指定要将 DataFrame 写入哪些工作表的哪些单元格&#xff0c;以及是否需要包含列标题和 DataFrame 索引。如何处理特殊值&#xff08;如 np.nan 和 np.inf&#xff09;。 1.指定工作表和单元格 sheet_name&#xff1a;指定将 DataFrame 写入的…...

python画图文字显示不全+VScode新建jupyter文件

之前有两个jupyter文件&#xff0c;一个显示正确一个显示错误。已经尝试过的方法包括&#xff1a; 1、更改下载好的SimHei字体&#xff0c;或者其他支持中文的字体 2、重新创建虚拟环境 3、清楚matplotlib缓存目录 4、从anaconda的jupyter换至vscode 目前部分中文不能正常…...

C#中继承的核心定义‌

1. 继承的核心定义‌ ‌继承‌ 是面向对象编程&#xff08;OOP&#xff09;的核心特性之一&#xff0c;允许一个类&#xff08;称为‌子类/派生类‌&#xff09;基于另一个类&#xff08;称为‌父类/基类‌&#xff09;构建&#xff0c;自动获得父类的成员&#xff08;字段、属…...

MOEFeedForward 模块

代码 class FeedForward(nn.Module):def __init__(self, config: LMConfig):super().__init__()if config.hidden_dim is None:hidden_dim 4 * config.dimhidden_dim int(2 * hidden_dim / 3)config.hidden_dim config.multiple_of * ((hidden_dim config.multiple_of - 1…...

TypeScript变量声明详解:与JavaScript的对比与工程化价值

TypeScript的变量声明机制在保留JavaScript灵活性的同时&#xff0c;通过类型注解和作用域强化显著提升了代码可靠性。本文将深入解析TypeScript的变量声明特性&#xff0c;并与JavaScript/ES标准进行对比&#xff0c;揭示其工程实践价值。 一、变量声明方式对比 1. 基础声明语…...

在 Axios 中设置代理

在 Axios 中设置代理 Axios 与代理 Axios 是 JavaScript 生态中最广泛使用的 HTTP 客户端之一。它基于 Promise&#xff0c;提供了易用、直观的 API&#xff0c;用于执行 HTTP 请求并处理自定义请求头、配置和 Cookie 等。 通过为 Axios 请求设置代理&#xff0c;您可以隐藏自…...

WebSocket 使用教程

WebSocket 使用教程 WebSocket 是一种在现代网络应用中广泛使用的网络通信协议&#xff0c;旨在实现服务器与客户端之间高效、实时的双向通信。与传统的 HTTP 协议相比&#xff0c;WebSocket 提供了更低的延迟和更高的互动性&#xff0c;使其成为构建实时应用的理想选择。无论…...

【RabbitMQ】rabbitmq在spring boot中的使用

rabbitmq官网地址&#xff1a;https://www.rabbitmq.com/tutorials 下面介绍rabbitmq官网中七种使用方式在spring boot中如何使用 下面是基于 Spring Boot 使用 RabbitMQ 实现这七种模式的示例代码。假设已经引入了以下依赖&#xff1a; Maven 依赖 <dependency><g…...

独立开发记录:使用Trae和Cloudflare快速搭建了自己的个人博客

前段时间我计划搭建个人博客&#xff0c;用于记录自己写的文章、录制的课程和开发的项目&#xff0c;于是结合 Trae AI IDE 与 Cloudflare 快速搭建并上线了人生第一个网站&#xff0c;在这个过程中&#xff0c;我整合了两种工具的优势&#xff08;AI辅助开发 免费托管加速&a…...

文件解析漏洞详解

IIS解析漏洞 环境安装 windows2003iis6 IIS6.X ⽬录解析 在iis6.x中&#xff0c;.asp⽂件夹中的任意⽂件都会被当做asp⽂件去执⾏。 在iis的⽹站根⽬录新建⼀个名为x.asp的⽂件 在x.asp中新建⼀个png⽂件。内容为<%now()%> asp代码。 外部浏览器中访问windows2003的i…...

自然语言处理:文本聚类

介绍 大家好&#xff0c;博主又来和大家分享自然语言处理领域的知识了。今天给大家分享的内容是自然语言处理中的文本聚类。 文本聚类在自然语言处理领域占据着重要地位&#xff0c;它能将大量无序的文本按照内容的相似性自动划分成不同的类别&#xff0c;极大地提高了文本处…...

【MySQL】基本操作 —— DDL

目录 DDLDDL 常用操作对数据库的常用操作查看所有数据库创建数据库切换、显示当前数据库删除数据库修改数据库编码 对表的常用操作创建表数据类型数值类型日期和时间类型字符串类型 查看当前数据库所有表查看指定表的创建语句查看指定表结构删除表 对表结构的常用操作给表添加字…...

玩转python:通俗易懂掌握高级数据结构:collections模块之namedtuple

引言 namedtuple是Python中collections模块提供的一个强大工具&#xff0c;用于创建具有字段名的元组。它不仅具备元组的不可变性&#xff0c;还能通过字段名访问元素&#xff0c;极大地提高了代码的可读性和可维护性。本文将详细介绍namedtuple的关键用法和特性&#xff0c;并…...

[GHCTF 2025]SQL??? 【sqlite注入】

梳理一下SQLite注入 常见指令 查看版本&#xff1a;sqlite_version() 列出附加数据库中的所有表&#xff1a;.tables 注入步骤 先查字段&#xff1a; 1 order by 5 # 三板斧&#xff1a; 0 union select 1,2,sql from sqlite_master; sql字段存储创建该数据库对象时所使…...

spring boot 发送邮件验证码

一、前置需求 1、准备邮箱 2、登录授权码 qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启服务 二、发送邮件 1、简单邮件 包含邮件标题、邮件正文 2、引入mail启动器 <dependency><groupId>org.springframework.boot</groupI…...

[项目]基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及移植FreeRTOS

基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及debug模块 一.项目搭建二.移植FreeRTOS 一.项目搭建 先配置SYS系统滴答定时器来源为默认&#xff0c;因为其他定时器用来驱动电机了只能与FreeRTOS共用&#xff1a; 之后选择RCC配置芯片的时钟来源&#xff1a; 配置时钟树&am…...

Amazon RDS ProxySQL 探索(一)

:::info &#x1f4a1; 在日常开发中&#xff0c;开发者们会涉及到数据库的连接&#xff0c;在使用Amazon RDS数据库时&#xff0c;若使用集群模式或者多数据库时&#xff0c;会出现一写多读多个Endpoint&#xff0c;在实际开发中&#xff0c; 开发者们配置数据库连接通常希望走…...

高速PCB设计(布线设计)

以下是针对高速PCB布线设计的综合笔记&#xff0c;结合用户提供的设计规范及行业通用原则整理而成&#xff1a; 一、关键信号布线原则 布线优先级 顺序&#xff1a;射频信号&#xff1e;中/低频信号&#xff1e;时钟信号&#xff1e;高速信号射频信号需包地处理&#xff0c;线…...

《探秘人工智能与鸿蒙系统集成开发的硬件基石》

在科技飞速发展的当下&#xff0c;人工智能与鸿蒙系统的集成开发开辟了创新的前沿领域。这一融合不仅代表着技术的演进&#xff0c;更预示着智能设备生态的全新变革。而在这场技术盛宴的背后&#xff0c;坚实的硬件配置是确保开发顺利进行的关键&#xff0c;它就像一座大厦的基…...

使用Langflow和AstraDB构建AI助手:从架构设计到与NocoBase的集成

本文由 Leandro Martins 编写&#xff0c;最初发布于 Building an AI Assistant with Langflow and AstraDB: From Architecture to Integration with NocoBase。 引言 本文的目标是演示如何创建一个集成了 NocoBase、LangFlow 和 VectorDB 工具的 AI 助手。作为基础&#xf…...

【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D刚体组件Rigidbody

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...

工程化与框架系列(30)--前端日志系统实现

前端日志系统实现 &#x1f4dd; 引言 前端日志系统是应用监控和问题诊断的重要工具。本文将深入探讨前端日志系统的设计与实现&#xff0c;包括日志收集、处理、存储和分析等方面&#xff0c;帮助开发者构建完整的前端日志解决方案。 日志系统概述 前端日志系统主要包括以…...

小爱音箱控制家里的NAS将影片在电视上播放-deepseek帮助下实现-慎入openmanux

天始规划 我给ai一个任务,不过我没那么多能力,听说AI代理很行,这个任务我打算交给它.就用现在火的,openmanu,功能简单,我来安装openmanus,并规划任务. 进入openmanu首页 https://github.com/wjcroom/OpenManus openusa推荐使用uv管理,打算安装在家里的nas虚拟机.uv和python环…...

jQuery EasyUI 扩展

jQuery EasyUI 扩展 引言 jQuery EasyUI 是一个基于 jQuery 的易于使用的界面扩展库,它简化了网页界面的开发过程。随着 Web 技术的不断发展,越来越多的开发者开始寻求对 jQuery EasyUI 的扩展,以满足不同场景下的需求。本文将详细介绍 jQuery EasyUI 的扩展方法、技巧以及…...

笔试刷题专题(一)

文章目录 最小花费爬楼梯&#xff08;动态规划&#xff09;题解代码 数组中两个字符串的最小距离&#xff08;贪心&#xff08;dp&#xff09;&#xff09;题解代码 点击消除题解代码 最小花费爬楼梯&#xff08;动态规划&#xff09; 题目链接 题解 1. 状态表示&#xff1…...

使用Docker部署前端应用到生产环境

前期准备 安装 Docker&#xff1a;确保你的开发机器和生产服务器都已经安装了 Docker。可以参考 Docker 官方安装指南 完成安装。准备前端项目&#xff1a;保证你的前端项目代码完整&#xff0c;并且能够在本地正常构建。 编写 Dockerfile Dockerfile 是用于构建 Docker 镜像…...

ES6(1) 简介与基础概念

1. ES6 简介 ES6&#xff08;ECMAScript 6&#xff09;是 JavaScript 的一个重要版本&#xff0c;它在 ES5 的基础上进行了扩展和优化。ES6 主要应用于现代 Web 开发&#xff0c;提高了 JavaScript 的编程效率和可读性。 2. ES6 与 JavaScript 的关系 JavaScript 是一种基于 E…...

redis数据库的介绍以及安装部署

一.redis数据库的介绍 借助nginx的upstream模块实现后端服务的负载均衡&#xff0c;如果后端服务采用的是会话的机制来识别客户端的身份&#xff0c;如果使用的调度算法是轮询算法的话&#xff0c;其中我们需要去做的就是实现后端服务的会话保持。 第一种换调度算法&#xff…...

MySQL数据库复杂的增删改查操作

在前面的文章中&#xff0c;我们主要学习了数据库的基础知识以及基本的增删改查的操作。接下去将以一个比较实际的公司数据库为例子&#xff0c;进行讲解一些较为复杂且现时需求的例子。 基础知识&#xff1a; 一文清晰梳理Mysql 数据库基础知识_字段变动如何梳理清楚-CSDN博…...

tomcat部署springboot+vue(不使用nginx)

1、首先将springboot项目打包为war包。 注意&#xff1a;将application.yml文件中添加以下信息&#xff1a; spring.jmx.enabledfalse 避免tomcat下部署多个项目&#xff0c;出现org.springframework.jmx.export.UnableToRegisterMBeanException:影响项目启动。 2、前段项目打…...

Flutter 从入门到进阶:构建跨平台应用的最佳实践

引言 Flutter 是 Google 推出的一款开源 UI 框架&#xff0c;能够帮助开发者使用 Dart 语言构建高性能、跨平台的移动、桌面和 Web 应用。它以 “一次编写&#xff0c;到处运行” 的特点吸引了众多开发者。Flutter 采用自绘 UI 渲染引擎&#xff08;Skia&#xff09;&#xff…...

ROS实践(三)机器人描述文件xacro(urdf扩展)

目录 一、定义 二、xacro 文件常见组成部分 1. 命名空间声明 2. 定义宏 3. 调用宏 4. 定义参数 5. 条件语句 6. 转换 xacro 文件为 urdf 7. gazebo标签 三、代码示例 1. gazebo标签使用&#xff08;仿真参数配置&#xff09; 2. 引用仿真配置并定义机器人模型&#x…...

微信小程序从右向左无限滚动组件封装(类似公告)

组件代码 wxml代码 <view class"container"><view class"text-wrapper"><!-- 这两个都不能删除,用来放无限滚动的,第一个滚完第二个接上,第二个滚完第一个又接上了 --><text class"scroll-text text1" style"left: …...

前端面试:axios 请求的底层依赖是什么?

在前端开发中&#xff0c;Axios 是一个流行的 JavaScript 库&#xff0c;用于发送 HTTP 请求。它简化了与 RESTful APIs 的交互&#xff0c;并提供了许多便利的方法与配置选项。要理解 Axios 的底层依赖&#xff0c;需要从以下几个方面进行分析&#xff1a; 1. Axios 基于 XML…...

【小白向】Ubuntu|VMware 新建虚拟机后打开 SSH 服务、在主机上安装vscode并连接、配置 git 的 ssh

常常有人问VMware-Tools装了也复制粘贴不了怎么办&#xff0c;这个东西影响因素太多了&#xff0c;具体解决办法你们可以参考一下&#xff1a;【经验】VMware&#xff5c;虚拟机只能使用鼠标无法使用键盘、装不了或装了VMware-Tools无法复制粘贴的可能解决办法_增强型键盘驱动程…...