【无人机】无人机飞行日志下载及分析,飞行日志分析软件的使用
目录
一、飞行日志下载
1.1 通过地面站下载
1.1.1 QGroundControl(QGC)地面站
1.1.2 Mission Planner 地面站
1.2 通过内存卡读卡器下载
1.3 通过数传模块下载(数传日志)
二、飞行日志分析
2.1 使用 Flight Review 分析
2.1.1 基本信息查看(数据分析,查看飞行效果)
2.1.2 3D 飞行视角查看
2.1.3 数据分析
2.2 使用 FlightPlot 分析
2.2.1 数据选择
2.2.2 绘图分析
2.3 使用 MATLAB 分析
2.3.1 格式转换
2.3.2 数据处理与绘图
一、飞行日志下载
1.1 通过地面站下载
1.1.1 QGroundControl(QGC)地面站
日志可以从QGroundControl: Analyze View(分析视图 > Log Download(下载日志)中下载.
用数据线将飞控与地面站连接,连接之后打开 QGC 地面站。
在界面中找到日志相关选项,一般能看到保存的日志列表,从中选择需要下载的日志文件,
先刷新refresh,再选择日志文件,点击 “下载” 按钮,并指定保存目录,即可完成下载 。
若希望无人机在上电后便开始记录日志,需将 SDLOG_MODE 参数进行设置。如图,参数模式。
1.1.2 Mission Planner 地面站
首先安装 Mission Planner 软件,从其官方网站或 github 仓库下载对应操作系统(windows、linux、macos)的最新版本进行安装。
安装完成后,用数据线连接飞控与电脑,当软件提示时,单击 “日志下载”。
在弹出的 “日志” 界面中,一般建议选择数字最大的日志(通常为最新日志),然后单击 “下载这些日志”。
下载完成的日志文件默认保存在软件安装目录的 logs 文件夹中 。
1.2 通过内存卡读卡器下载
先将飞控上用于存储日志的 SD 卡小心取出,注意避免静电和物理损坏。
将 SD 卡插入读卡器,再把读卡器连接到电脑。
电脑识别出 SD 卡存储设备后,进入 SD 卡中存储日志的文件夹,一般为 “log” 文件夹。
在该文件夹内,将所需的日志文件拷贝到电脑上预先指定好的位置,即可完成下载 。
1.3 通过数传模块下载(数传日志)
如果无人机配备了如 3DR 或 XBee 等数传模块,在飞行过程中,当通过数传模块连接 APM 到电脑时,Mission Planner(或其他支持的地面站)会自动记录数传日志,即 “tlogs”。
这类日志无需额外手动下载操作,在飞行结束后,在地面站软件对应的存储路径中即可找到相应的数传日志文件 。
二、飞行日志分析
2.1 使用 Flight Review 分析
在线软件:将日志文件上传到在线Flight Review工具。
软件链接:Flight Review
2.1.1 基本信息查看(数据分析,查看飞行效果)
使用Flight Review进行日志分析 解释了怎样分析图形,这可以帮你确认/排除一些常见的问题:过大的震动、很差的PID调优、控制器饱和、车辆不平衡、GPS 噪声、等等。
上传日志文件后,在 Flight Review 界面可查看丰富的无人机基本信息,
包括无人机机架类型,这有助于了解无人机的结构特点;
固件版本,可判断是否为最新或适合的版本;
日志记录时间,明确飞行数据的记录时段;
飞行时间,直观知晓本次飞行的时长等 。
参考:炸机不可怕,可怕的是你不知道为什么炸_qgc飞行日志怎么查-CSDN博客
常用数据分析
(1)高度信息其中包括GPS高度、气压计高度、融合高度估计,高度定位点,以及推力。
(2)该分析工具直接列出了无人机横滚轴,俯仰轴,偏航轴在角度和角速度实际值与期望值,方便用户之间查看。
对于期望姿态和实际姿态数值应尽量的相近,从曲线上看就是两条线应该尽量重合,俩条曲线重合性和跟随性好就说明无人机飞行性能不错,PID调节比较合适,无人机能够很快很稳的到达预期角度。
(3)无人机x、y、z三个方向期望与实际位置
(4)无人机在飞行过程中电机电调输出的PWM值
该部分记录了飞控对各电机的输出大小,多轴电机悬停时应该所有电机输出差异不大,从这一项我们可以看出飞机重心,电机水平等情况,
如果相邻两个电机输出大,相对的两个输出小,就说明重心偏向输出大的电机那一边了;
如果是对角的两个电机输出偏大,则要检查是不是电机座没有安装水平;
还能通过各轴电机输出的变化推算出飞机当时的姿态和动作情况。
(5)遥控器摇杆与通道输入
曲线分别表示飞控接收到遥控器信号的记录值,有横滚、俯仰、偏航、油门、控制飞行模式以及锁桨等通道的输出。
(6)原始加速度
该图显示了 x、y 、z 轴的原始加速度计测量值。理想情况下,每根线条都很细,可以清楚地显示车辆的加速度。如果 z 轴图在悬停或慢速飞行期间接触 x/y 轴图,则振动级别太高。
(7)GPS设备信息显示
图中显示了有关GPS的信息,用于分析无人机定位不准相关问题。
注意:
使用卫星的数目(GPS Fix)应大约或多余 12 个;
水平位置精确度(Horizontal position accuracy)应小于 1 米;
垂直位置精确度(Vertical position accuracy)应小于 2 米。
(8)在QGC地面站中所有参数显示以及无人机飞行过程中消息打印
2.1.2 3D 飞行视角查看
点击 “open3dview” 选项,能打开独特的无人机 3D 飞行视角。
通过该视角,可直观、立体地了解无人机在飞行过程中的轨迹,
包括飞行方向、高度变化、航线曲折程度等,对于分析飞行路径规划是否合理等具有重要意义 。
2.1.3 数据分析
- 姿态数据:可查看无人机横滚轴 / 俯仰轴 / 偏航轴的角度和角速度实际值与期望值。对比这些数据,能判断无人机姿态控制的准确性和稳定性。例如,实际角度与期望角度偏差过大,可能意味着姿态控制算法存在问题或受到外部干扰 。
- 遥控器数据:能查看遥控器摇杆与通道输入曲线,了解飞手操作与无人机响应之间的关系。比如,通道输入曲线是否平滑,有无异常波动,可反映遥控器信号传输是否稳定以及飞控对遥控器指令的处理情况 。
- 传感器数据:像原始加速度数据,能帮助分析无人机飞行过程中的受力情况,判断是否存在异常振动或冲击;GPS 设备信息,如定位精度、卫星数量等,可用于评估 GPS 定位的可靠性,若 GPS 定位精度差或卫星数量少,可能影响无人机的定点悬停和航线飞行精度 。
- 错误信息:飞行过程中所有系统错误和警告消息会在消息打印一栏完整呈现。例如,电池电量不足警告、信号丢失错误等,通过这些信息能快速定位飞行过程中出现的问题,为后续故障排查和优化提供关键线索 。
2.2 使用 FlightPlot 分析
2.2.1 数据选择
打开 FlightPlot 软件并加载下载好的日志文件后,点击界面中的 “Fields List” 按钮,此时会弹出数据类型选择窗口。在该窗口中,可根据分析需求选择想要查看的数据类型,如姿态数据、传感器数据、飞行模式数据等,点击 “Add” 按钮,将所选数据添加到显示列表 。
2.2.2 绘图分析
在数据选择完成后,在画图区点击 “Add” 按钮,软件将按照设定,把处理完的数据以曲线、图表等形式绘制出来。通过观察这些图形,可清晰地看到数据随时间的变化趋势和特征。例如,通过高度随时间变化的曲线,能直观了解无人机的升降过程;通过电机输出功率曲线,可判断电机工作是否正常 。
2.3 使用 MATLAB 分析
2.3.1 格式转换
由于 PX4 飞控的日志文件通常为 ULog 格式,而 MATLAB 更适合处理常见的文本格式数据,因此需要进行格式转换。在日志文件所在目录下,打开命令行窗口,输入 “ulog2csv” 命令,该命令会将 ULog 格式的日志文件转换为 CSV 格式,以便 MATLAB 能够读取和处理 。
2.3.2 数据处理与绘图
在 MATLAB 软件中,通过导入功能将转换后的 CSV 数据文件导入到工作区。导入后,可利用 MATLAB 丰富的函数库和工具,对数据进行各种处理和分析操作。例如,进行数据滤波去除噪声干扰,计算数据的统计特征等。完成处理后,可根据需求绘制出相应图形,如绘制位置 - 时间曲线、速度 - 时间曲线等,并且在图形中还能查看每个时间戳对应的数据值,从而深入、细致地分析飞行数据 。
参考:
使用 Flight Review 进行日志分析 · PX4 User Guide
飞行报告 · PX4
炸机不可怕,可怕的是你不知道为什么炸_qgc飞行日志怎么查-CSDN博客
使用 Flight Review 进行日志分析 | PX4 Guide (main)
相关文章:
【无人机】无人机飞行日志下载及分析,飞行日志分析软件的使用
目录 一、飞行日志下载 1.1 通过地面站下载 1.1.1 QGroundControl(QGC)地面站 1.1.2 Mission Planner 地面站 1.2 通过内存卡读卡器下载 1.3 通过数传模块下载(数传日志) 二、飞行日志分析 2.1 使用 Flight Review 分析 …...
【朝夕教育】《鸿蒙原生应用开发从零基础到多实战》003-TypeScript 中的类
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...
Java并发编程之可见性、原子性和有序性
引言 CPU缓存与内存产生的一致性问题(可见性) CPU时间片切换产生的原子性问题 CPU指令编译优化产生的有序性问题 并发编程问题的根源 CPU、内存、I/O设备三者速度差异一直是 核心矛盾 三者速度差异可形象描述为:天上一天(CPU),…...
99分巧克力
99分巧克力 ⭐️难度:中等 🌟考点:二分 2017省赛真题 📖 📚 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();i…...
阿里重磅模型深夜开源;DeepSeek宣布开源DeepGEMM;微软开源多模态AI Agent基础模型Magma...|网易数智日报
阿里重磅模型深夜开源:表现超越Sora、Pika,消费级显卡就能跑 2月26日,25日深夜阿里云视频生成大模型万相2.1(Wan)正式宣布开源,此次开源采用Apache2.0协议,14B和1.3B两个参数规格的全部推理代码…...
WPF10-绑定属性
目录 1. WPF属性系统1.1. CLR属性(CLR Properties)1.2. 相关属性(Related Properties)1.3. 附加属性(Attached Properties)1.4. 依赖属性(Dependency Properties)2. 依赖属性2.1. 定义2.2. 应用场景2.3. 理解2.3.1. 初识依赖属性2.3.2. 自定义依赖属性2.3.3. 使用依赖属…...
Python PDF文件拆分-详解
目录 使用工具 将PDF按页数拆分 将PDF的每一页拆分为单独的文件 将PDF按指定页数拆分 根据页码范围拆分PDF 根据指定内容拆分PDF 将PDF的一页拆分为多页 在日常生活中,我们常常会遇到大型的PDF文件,这些文件可能难以发送、管理和查阅。将PDF拆分成…...
ollama本地部署DeepSeek-R1大模型使用前端JS调用的详细流程
以下是关于如何在本地部署 DeepSeek-R1 大模型(通过 Ollama),并使用前端 JavaScript 调用其功能的详细流程。 前提条件 硬件要求: 建议至少 16GB RAM(运行较小模型如 1.5B 或 7B 参数版本),如果…...
Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系
一、前言 在搭建SpringCloud项目环境架构的时候,需要选择SpringBoot和SpringCloud进行兼容的版本号,因此对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启动不起来,怪…...
初识SQL
SQL 定义:SQL(Structured Query Language,结构化查询语言)是一种标准化的数据库操作语言,广泛用于关系数据库管理系统(RDBMS),如 MySQL、PostgreSQL 等。它支持数据的定义࿰…...
12_Pandas时序数据(上)
固定时间 时间的表示 固定时间是指一个时间点。固定时间是时序数据的基础,一个固定时间带有丰富的信息,如年份、周几、月份、季度等。 Python的官网库datetime支持创建和处理时间: datetime.now() # 当前时间 datetime(2025,2,26,12) # 指…...
当我删除word文件时无法删除,提示:操作无法完成,因为已在Microsoft Word中打开
现象: 查看电脑桌面下方的任务栏,明明已经关闭了WPS和WORD软件,但是打开word文档时还是提示: 解决方法步骤: 1、按一下键盘上的ctrl Shift Esc 键打开任务管理器 2、在进程中找到如下: 快速找到的方法…...
0x03 http协议和分层架构
HTTP协议 简介 Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 http协议基于TCP协议:面向连接,安全基于请求-响应模型:一次请求对应一次响应HTTP协议是无状态的协议ÿ…...
JavaScript系列03-异步编程全解析
本文介绍了异步相关的内容,包括: 回调函数与回调地狱Promise详解async/await语法Generator函数事件循环机制异步编程最佳实践 1、回调函数与回调地狱 JavaScript最初是为处理网页交互而设计的语言,异步编程是其核心特性之一。最早的异步编…...
深度解读 AMS1117:从电气参数到应用电路的全面剖析
在电子设备的电源管理领域,线性稳压器扮演着至关重要的角色,而 AMS1117 凭借其出色的性能和广泛的适用性,成为众多工程师的热门选择。本文将依据相关资料,对 AMS1117 的特性、应用、电气参数等方面进行详细解读。 一、功能特性概…...
深入理解Tomcat与Web应用部署:C/S与B/S架构下的实践指南
在当今的互联网时代,Web应用的开发与部署是软件开发领域的重要组成部分。无论是传统的C/S架构,还是现代广泛应用的B/S架构,了解它们的优缺点以及如何高效部署Web应用是每个开发者都需要掌握的技能。本文将深入探讨C/S与B/S架构的区别…...
XML 编辑器:全面指南与最佳实践
XML 编辑器:全面指南与最佳实践 引言 XML(可扩展标记语言)编辑器是处理XML文件的关键工具,对于开发人员、系统管理员以及任何需要处理XML数据的人来说至关重要。本文将全面介绍XML编辑器的概念、功能、选择标准以及最佳实践,旨在帮助读者了解如何选择和使用合适的XML编辑…...
Python实现GO鹅优化算法优化BP神经网络回归模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 传统BP神经网络的局限性:BP(Back Propagation)神经网络作为一种…...
如何配置虚拟机的IP上网
要配置虚拟机的IP地址以便上网,你可以按照以下步骤操作: 打开虚拟机软件,确保虚拟机的网络设置为“桥接模式”或“NAT模式”,这样虚拟机可以与物理网络连接。 在虚拟机操作系统中,打开网络设置界面,一般在…...
【洛谷贪心算法题】P1094纪念品分组
该题运用贪心算法,核心思想是在每次分组时,尽可能让价格较小和较大的纪念品组合在一起,以达到最少分组的目的。 【算法思路】 输入处理:首先读取纪念品的数量n和价格上限w,然后依次读取每件纪念品的价格,…...
学习笔记08——ConcurrentHashMap实现原理及源码解析
1. 概述 为什么需要ConcurrentHashMap? 解决HashMap线程不安全问题:多线程put可能导致死循环(JDK7)、数据覆盖(JDK8) 优化HashTable性能:通过细粒度锁替代全局锁,提高并发度 对比…...
redis slaveof 命令 执行后为什么需要清库重新同步
在 Redis 中,执行 SLAVEOF(或 REPLICAOF)命令后,从节点需要清空现有数据并重新同步的主要原因如下: 1. 保证数据一致性 核心目标:确保从节点的数据与主节点 完全一致。问题场景: 如果从节点之前…...
6-1JVM的执行引擎处理
一、执行引擎的组成结构 解释器(Interpreter) 逐条解释执行字节码指令,启动速度快但执行效率较低。适用于短生命周期或对启动时间敏感的场景,如调试环境。 即时编译器(JIT Compiler) 通过动态…...
CMU15445(2023fall) Project #4 - Concurrency Control踩坑历程
把树木磨成月亮最亮时的样子, 就能让它更快地滚下山坡, 有时会比骑马还快。 完整代码见: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering…...
腿足机器人之十三-强化学习PPO算法
腿足机器人之十三-强化学习PPO算法 腿足机器人位姿常用强化学习算法PPO算法核心原理PPO算法的创新设计PPO算法典型流程优势函数 对于复杂地形适应性(如楼梯、碎石路),传统的腿足机器人采用基于模型的控制器,该方法依赖精确动力学建…...
ubuntu下r8125网卡重启丢失修复案例一则
刚装的一台服务器,ubuntu24.04,主板网卡是r8125,安装服务后会莫名其妙丢失驱动 按照官网的方法下载最新8125驱动包: Realtek 然后卸载驱动 rmmod r8125 然后在驱动包里安装(幸好我之前装了build-essential&#x…...
设计一个“车速计算”SWC,通过Sender-Receiver端口输出车速信号。
1. 需求分析 功能目标:根据车轮脉冲信号(轮速传感器输入)计算当前车速,并将结果通过Sender端口发送给其他SWC。 输入:轮速脉冲数(如WheelPulse,类型uint32)。 输出:车速(如VehicleSpeed,类型float32,单位km/h)。 触发方式:周期性计算(例如每10ms执行一次)。 2.…...
DeepSeek 使用窍门与提示词写法指南
一、通用提示词技巧 窍门分类技巧说明示例提示词明确需求用“角色任务要求”明确目标作为健身教练,为30岁上班族设计一周减脂计划,需包含饮食和15分钟居家训练结构化提问分步骤、分模块提问第一步:列出Python爬虫必备的5个库;第二…...
MySQL零基础教程12—聚合查询(聚合函数)
背景 有时候我们需要汇总一些数据,比如查询一个班级的平均分数,这个时候我们需要的是把分数汇总,然后计算出一个平均值进行返回,并不需要返回某一列的值,针对这种场景,mysql中提供了一些聚合函数帮助快速完…...
JMeter 引入 JAR 包的几种方法
JMeter 支持加载外部 JAR 文件,用于: 扩展 JMeter 功能使用 Java 代码(BeanShell / JSR223)连接数据库 / 解析 Excel / 读取 CSV 📌 1. JMeter 引入 JAR 包的方式 ✅ 方式 1:将 JAR 放入 lib/ 或 lib/ext…...
一周一个Unity小游戏2D反弹球游戏 - 球板的发球
前言 本文将实现当游戏开始时球在球板上,且不具备物理性,在Windows平台上通过点击屏幕来球发射,安卓平台上当手指触摸到屏幕上时进行发球,并此时开始具备物理性。 发球逻辑 首先在球板上创建一个球的发射点,新建一个空的游戏物体,并命名为BallPoint,并将其作为SpringBoa…...
C++Primer学习(4.8位运算符)
4.8位运算符 位运算符作用于整数类型的运算对象,并把运算对象看成是二进制位的集合。位运算符提供检查和设置二进制位的功能,如17.2节(第640页)将要介绍的,一种名为bitset的标准库类型也可以表示任意大小的二进制位集合,所以位运算符同样能用…...
Linux | Ubuntu 与 Windows 双系统安装 / 高频故障 / UEFI 安全引导禁用
注:本文为 “buntu 与 Windows 双系统及高频故障解决” 相关文章合辑。 英文引文,机翻未校。 How to install Ubuntu 20.04 and dual boot alongside Windows 10 如何将 Ubuntu 20.04 和双启动与 Windows 10 一起安装 Dave’s RoboShack Published in…...
SpringSecurity 实现token 认证
配置类 Configuration EnableWebSecurity EnableGlobalMethodSecurity(prePostEnabledtrue) public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { Bean Override public AuthenticationManager authenticationManagerBean() throws Exception {return s…...
C语言基础要素(007):使用变量
定义变量的同时可以给定一个值,这叫初始化变量;未初始化的变量,其值在程序运行时是不确定的。变量在定义之后可以多次设置值,这称为赋值。定义使得变量从无到有,而赋值则改变已有变量的状态。变量只能被初始化一次&…...
6. Nginx 动静分离配置案例(附有详细说明+配图)
6. Nginx 动静分离配置案例(附有详细说明配图) 文章目录 6. Nginx 动静分离配置案例(附有详细说明配图)1. 动静分离概述说明2. 先使用传统方式实现,不使用 Nginx3. 使用上 Nginx 实现动静分离优化步骤4. 最后: 1. 动静分离概述说明 什么是动静分离&…...
Deepseek对ChatGPT的冲击?
从测试工程师的视角来看,DeepSeek对ChatGPT的冲击主要体现在**测试场景的垂直化需求与通用模型局限性之间的博弈**。以下从技术适配性、效率优化、风险控制及未来趋势四个维度展开分析: --- ### **一、技术适配性:垂直领域能力决定工具选择…...
在已安装二进制movit2的情况下使用自编译moveit2
在已安装二进制movit2的情况下,想使用自编译moveit2,只要引入一下自编译moveit2库的环境变量即可。主要是想搞明白这个过程发生了什么,也就是引入环境后有什么变化,以及如何对编译过程产生影响 一、setup.bash流程 所有资料上都…...
React 常见面试题及答案
记录面试过程 常见问题,如有错误,欢迎批评指正 1. 什么是虚拟DOM?为什么它提高了性能? 虚拟DOM是React创建的一个轻量级JavaScript对象,表示真实DOM的结构。当状态变化时,React会生成新的虚拟DOM…...
2025-03-01 学习记录--C/C++-C语言 整数类型对比
C语言 整数类型对比 类型位数范围(有符号)范围(无符号)格式化符号char8-128 到 1270 到 255%c 或 %hhdshort16-32,768 到 32,7670 到 65,535%hdint32-2,147,483,648 到 2,147,483,6470 到 4,294,967,295%dlong32 或 64-2,147,483…...
金融赋能绍兴纺织 民生银行助力外贸中小微企业“走出去”
在浙江绍兴,纺织业作为一张熠熠生辉的产业名片,承载着深厚的历史底蕴与蓬勃的发展活力。这里依傍长三角经济圈,交通网络纵横交错,将原材料产地与广阔市场紧密相连;产业集群高度成熟,上下游产业链完备&#…...
TCP的三握四挥
TCP协议 TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 TCP的基本特点 面向连接:通信双方在进行数据传输之前&…...
Phpstudy中的MySQL无法正常启动或启动后自动暂停,以及sqlilab环境搭建出现的问题解决方法
【解决方法】 无法启动的原因是Phpstudy中的MySQL与本地的mysql重名,导致无法正常启动;所以这时我们就需要将本地的MySQL进行修改名称; 或者修改phpstudy中数据库的端口号,但是我觉得还是不是很好解决这种问题 最后一个方法&#…...
用C语言实现一个链表(四)
用C语言实现一个链表(四) 在上期内容中,我们探讨了实现一个双向循环链表的准备工作以及一些功能——创建新结点,初始化头结点,尾插数据,尾删数据,遍历的代码,上期内容留下了一个判断…...
【我的 PWN 学习手札】House of Kiwi
House of Kiwi 之前我们利用IO_FILE一般是通过劫持vtable来实现的, House of Kiwi虽然不是通过劫持vtable来实现,但实质上是劫持vtable指向的全局的_IO_file_jumps_表来实现的。注意:对于某些版本的glibc,_IO_file_jumps_并不可写…...
象棋笔记-实战记录
文章目录 实战没发现杀招2024-06-16 实战又漏杀了,尴尬,炮震五子,3路炮有下底的机会,本来是绝杀,没算明白,以为窝心马和象都能看住这个点。。。2024-07-06 实战有进炮串打的机会,又错过了&#…...
RabbitMQ系列(六)基本概念之Routing Key
在 RabbitMQ 中,Routing Key(路由键) 是用于将消息从交换机(Exchange)路由到指定队列(Queue)的关键参数。其核心作用是通过特定规则匹配绑定关系,确保消息被正确分发。以下是其核心机…...
企业微信里可以使用的企业内刊制作工具,FLBOOK
如何让员工及时了解公司动态、行业资讯、学习专业知识,并有效沉淀企业文化?一份高质量的企业内刊是不可或缺的。现在让我来教你该怎么制作企业内刊吧 1.登录与上传 访问FLBOOK官网,注册账号后上传排版好的文档 2.选择模板 FLBOOK提供了丰富的…...
JAVA笔记【一】
现实 (抽象) 类 (创建) 对象 特点: 1.面向对象 2.跨平台 3.安全性 4.多线程 java程序基本结构 1. java源代码文件实际是普通的文本文件,源代码文件必须是.java扩展名,且必须小写 2. …...
Mybatis做批量操作
前面我们将动态标签foreach的时候,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法: 在获取…...