Ardupilot开源无人机之Geek SDK进展2024-2025
Ardupilot开源无人机之Geek SDK进展2024-2025
- 1. 源由
- 2. 状态
- 3. TODO
- 3.1 【进行中】跟踪目标框
- 3.2 【暂停】onnxruntime版本
- 3.3 【完成】CUDA 11.8版本
- 3.4 【完成】pytorch v2.5.1版本
- 3.5 【未开始】Inference性能
- 3.6 【未开始】特定目标集Training
- 4. Extra-Work
- 4.1 【完成】CUDA 12.3版本
- 4.2 【暂停】TensorRT 8.6
- 4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
- 5. 同步工作
- 6. 参考资料
- 7. 问题
- 7.1 风扇启动全速噪音问题
- 7.2 Jetson Orin Nano Super性能升级
- 7.3 Jetpack5 TensorRT 8.5不可升级版
1. 源由
前期搭建《Ardupilot开源无人机之Geek SDK》,主要目的是:
- 基于:《ArduPilot开源飞控系统 - 无人车、船、飞机等》
- 验证:《Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考》可行性
- 框架:打通硬实时、软实时的控制面和数据面链路,提供一个简单、多样、高效的验证平台 jetson-fpv
2. 状态
-
简单示例
-
框架成型:jetson-fpv
-
支持特性:
-
FPV features (FPV功能)
- MSPOSD for ground station (OSD)
- video-viewer (视频图像,可以达到120FPS)
- Adaptive wireless link (链路自适应)
-
Jetson video analysis (Jetson推理功能)
- detectnet for object detection
- segnet for segmentation
- posenet for pose estimation
- imagenet for image recognition
-
yolo for object detection (YOLO目标检测)
-
Real time video stabilizer
-
DeepStream analysis (DeepStream目标跟踪分析)
- ByteTrack
- NvDCF tracker
-
-
硬件形态


3. TODO
优先级:
- 【0101暂定】3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training > 3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本
- 【0109变更】3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本 > 3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training
- 【0117变更】目前NVIDIA主要支持L4T36.x(ubuntu22.04),对L4T35.x(ubuntu20.04)支持力度日渐转弱,进度很慢(尽管官方论坛说没有停止支持)。将不连续帧跟踪目标框持续OSD输出的问题尽快提上日程。
└──> 【完成】3.3 CUDA 11.8版本│ └──> 【完成】4.1 CUDA 12.3版本└──> 【完成】3.4 pytorch v2.5.1版本└──> 【进行中】4.2 TensorRT 8.6├──> 【进行中】3.2 onnxruntime版本└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training
- 【0120变更】鉴于目前NVIDIA闭源,虽然尚未宣布Jetpack5的EOL时间,但是实际在版本支持和研发投入上,已经明显出现乏力(详见:7.3)!而目前来说Super版本似乎从性能上是一个改观,为此我们后续将投入BSP6.2版本,顺便调整优先级,废弃一些闭源升级问题带来的折腾。
├──> 【完成】3.3 CUDA 11.8版本│ │ └──> 【完成】4.1 CUDA 12.3版本│ └──> 【完成】3.4 pytorch v2.5.1版本│ └──> 【暂停】4.2 TensorRT 8.6│ └──> 【暂停】3.2 onnxruntime版本└──> 【完成】4.3 Jetpack6.2(Jetson Orin Nano Super)└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training
3.1 【进行中】跟踪目标框
- DeepStream-Yolo - How to keep the bounding boxes when interval is NOT zero? #604
- NVIDIA - How to keep the bounding boxes when interval is NOT zero?
3.2 【暂停】onnxruntime版本
- Yolov8s no bounding box on default settings #597
- NVIDIA - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild
- microsoft/onnxruntime - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild #23267
- [Build] Trying to build on a embedded device that doesn’t support BFLOAT16 #19920
- mlas: fix build on ARM64 #21099
通过上面的问题沟通,逐步锁定源头和原因:ARCH对bf16的硬件支持 vs gcc版本问题。
- arm64: force -mcpu to be valid #21117
基于Jetpack5.1.4升级gcc11版本
升级CUDA版本11.4.315 到11.8.89
提升3.3 CUDA 11.8任务优先级
需要考虑OpenCV对CUDA的版本依赖问题
- [Build] v1.19.2 abseil_cpp failed: 2 with JP5.1.4 gcc/g++13 #23286
- Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel
3.3 【完成】CUDA 11.8版本
- How to install CUDA 11.8 on Jetpack 5.1.4 L4T 35.6?
- Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换
目前,了解到支持的版本状况:CUDA Toolkit Archive
- Ubuntu 20.04 支持到 CUDA 12.3 (同时支持Ubuntu 22.04)
- 从CUDA 12.4开始仅支持Ubuntu 22.04
安装deb文件
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/arm64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
$ sudo dpkg -i cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
复制CUDA密钥
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings///more specific
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-tegra-95320BC3-keyring.gpg /usr/share/keyrings/
安装cuda及其依赖组件
$ sudo apt-get update
$ sudo apt-get -y install cuda
3.4 【完成】pytorch v2.5.1版本
- pytorch v2.5.1 build for nvidia jetson orin nano 8GB #143624
- Linux 35.6 + JetPack v5.1.4之 pytorch编译
- Linux 35.6 + JetPack v5.1.4之 pytorch升级
- Release pytorch-v2.5.1+l4t35.6-cp38-cp38-aarch64
pytorch 2.5.1 编译:
$ cat ./build.sh
#!/bin/bash# git clone https://github.com/SnapDragonfly/pytorch.git
# git checkout nvidia_v2.5.1
# git submodule update --init --recursiveexport USE_NCCL=0
export USE_DISTRIBUTED=0
export USE_QNNPACK=0
export USE_PYTORCH_QNNPACK=0
export TORCH_CUDA_ARCH_LIST="8.7"
export PYTORCH_BUILD_VERSION=2.5.1
export PYTORCH_BUILD_NUMBER=1
export L4T_BUILD_VERSION=35.6
export USE_PRIORITIZED_TEXT_FOR_LD=1
export USE_FLASH_ATTENTION=0
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHpython3 setup.py bdist_wheel
pytorch 2.5.1 二进制安装:
$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.5.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl
$ sudo pip3 install torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl
torchvision安装:
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.20.1
$ export BUILD_VERSION=0.20.1
$ sudo python3 setup.py install --user
$ cd ..
升级JetPack5.1.4 L4T35.6后的版本信息:
Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 11.8.89- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO version: 8.3.33Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aa
DeepStream SDK version: 1.1.8
3.5 【未开始】Inference性能
- DeepStream-Yolo - Anyway to boost yolo performance on Jetson Orin? #605
- NVIDIA - Anyway to boost yolo performance on Jetson Orin?
A: DeepStream-Yolo - INT8 calibration (PTQ)
B: NVIDIA - NvDCF tracker plugin
3.6 【未开始】特定目标集Training
TBD.
4. Extra-Work
4.1 【完成】CUDA 12.3版本
在CUDA 11.8基础上遇到了 Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel问题,貌似API版本不兼容,那么就升到最高支持的12.3尝试下。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo cp /var/cuda-repo-ubuntu2004-12-3-local/cuda-5B67C214-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-3
- 版本信息
Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 12.3.107- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO version: 8.3.33PYCUDA version: 2024.1.2Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aaDeepStream SDK version: 1.1.8
onnxruntime version: 1.16.3
onnxruntime-gpu version: 1.18.0
4.2 【暂停】TensorRT 8.6
- TensorRT 8.6 GA for Ubuntu 20.04 and CUDA 12.0 and 12.1 DEB local repo Package
- Guide for Upgrading TensorRT
- How to translate xx/x scripts of TensorRT installation?
- How to upgrade tensorrt to latest version for Jetpack 5.1.4?
4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
参考:Linux 36.3@Jetson Orin Nano之系统安装
- 下载Jetpack6.2
- 安装Linux36.4.3 - Jetson Linux Developer Guide (online version)
- 准备安装环境
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
$ tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
$ sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh
- 调整IPV6环境
$ sudo vi /etc/sysctl.confor
$ sudo sysctl net.ipv6.conf.all.disable_ipv6=0
$ sudo sysctl net.ipv6.conf.default.disable_ipv6=0
- 烧录固件(烧录模式)
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \--showlogs --network usb0 jetson-orin-nano-devkit internal
- 接上显示器、键盘、鼠标
启动Jetson Orin Nano,按照桌面提示设置系统,更新系统:
$ sudo apt-get update
$ sudo apt-get upgrade
5. 同步工作
- Open FPV VTX开源之DIY硬件形态
6. 参考资料
【1】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
【2】ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
【3】Ardupilot开源飞控之FollowMe计划
【4】Ardupilot开源飞控之FollowMe验证平台搭建
【5】Ardupilot开源无人机之Geek SDK讨论
【6】OpenIPC开源FPV之工程框架
【7】OpenIPC开源FPV之重要源码启动配置
【8】wfb-ng 开源代码之Jetson Orin安装
【9】wfb-ng 开源代码之Jetson Orin问题定位
【10】Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换
【11】Linux 35.6 + JetPack v5.1.4@yolo安装
【12】Linux 35.6 + JetPack v5.1.4@python opencv安装
【13】Linux 35.6 + JetPack v5.1.4@DeepStream安装
【14】Linux 35.6 + JetPack v5.1.4之RTP实时视频Python框架
【15】Linux 35.6 + JetPack v5.1.4之 pytorch编译
【16】Linux 35.6 + JetPack v5.1.4之 pytorch升级
【17】OpenIPC开源FPV之Adaptive-Link工程解析
【18】NVIDIA DeepStream插件之Gst-nvtracker
【19】Linux 36.3@Jetson Orin Nano之系统安装
7. 问题
7.1 风扇启动全速噪音问题
- Crazy loud noise fan early before NVIDIA logo display
- How to set fan pwm io low/high in the early boot stage?
7.2 Jetson Orin Nano Super性能升级
Jetson Orin Nano Super DevKit硬件上稍有差异,但是Jetson Orin Nano只要BSP升级到Jetpack6.2 就具备了67 TOPS性能
- What’s the difference between Jetson Orin Nano vs Jetson Orin Nano Super?
- NVIDIA Jetson Orin - Next-level AI performance for next-gen robotics and edge solutions

7.3 Jetpack5 TensorRT 8.5不可升级版
鉴于目前NVIDIA反馈在Jetpack5.1.4上TensorRT仅支持到8.5版本,但是从TensorRT 版本发布上看,确实也能看到8.6GA版本【怀疑存在诸多未言明问题】。
虽然,开源也有不少问题,但是随着我们的投入,逐步解决了开源系统的升级编译,但是对于闭源系统,确实非常无奈!
- Has JetPack 5 reached its end of life (EOL), or is there an EOL planned for it?
- How to translate xx/x scripts of TensorRT installation?

相关文章:
Ardupilot开源无人机之Geek SDK进展2024-2025
Ardupilot开源无人机之Geek SDK进展2024-2025 1. 源由2. 状态3. TODO3.1 【进行中】跟踪目标框3.2 【暂停】onnxruntime版本3.3 【完成】CUDA 11.8版本3.4 【完成】pytorch v2.5.1版本3.5 【未开始】Inference性能3.6 【未开始】特定目标集Training 4. Extra-Work4.1 【完成】C…...
在K8S中,如果后端NFS存储的IP发送变化如何解决?
在Kubernetes中,如果后端NFS存储的IP地址发生了变化,您需要更新与之相关的Peristent Volume(PV)或Persistent Volume Claim(PVC)以及StorageClass中关于NFS服务器IP的配置信息,确保K8S集群内的Pod能够正确连接到新的NFS存储位置。解决方案如下…...
模拟飞行入坑(五) P3D 多通道视角配置 viewgroup
背景: P3D进行多个屏幕显示的时候,如果使用英伟达自带的屏幕融合成一个屏,或者使用P3D单独拉伸窗口,会使得P3D的画面被整体拉伸,又或者,当使用Multichannel进行多个设备联动时,视角同步组合需要配置&#…...
【springboot集成knife4j】
SpringBoot集成knife4j Knife4j是为Java MVC框架集成Swagger生成API文档的一套增强解决方案,它基于Swagger原有的基础上进行了一些改进和增强,提供了更简洁的UI界面,同时支持更多的自用化配置。下面是在Spring Boot项目中集成Knife4j的基本步…...
GPUStack使用
1. 概述 官网:https://github.com/gpustack Open-source GPU cluster manager for running large language models(LLMs) https://github.com/gpustack/gpustack,Manage GPU clusters for running AI models GPUStack 是一个用于运行 AI 模型的开源 GPU 集群管理器。 官…...
如何选择一款助贷获客系统?
做助贷的销售们,一天打几百个电话,跑各种新媒体平台评论区偷流量,每天忙得昏天黑地,也没有多少客户。没有精准数据,助贷销售着急,公司也着急,每天让员工加班找客户,但是巧妇难为无米…...
GDB相比IDE有什么优点
GDB(GNU Debugger)相比于集成开发环境(IDE)具有一些独特的优点,主要体现在其灵活性、可定制性和低级控制能力。具体来说,GDB有以下几个优点: 1. 轻量级且无依赖 GDB是一个命令行工具,不依赖于任何复杂的图形界面或大型库,这使得它非常适合在资源受限的环境中使用,比…...
介绍用于机器学习的 Fashion-MNIST 数据集
介绍用于机器学习的 Fashion-MNIST 数据集 为什么要研究数据集? 让我们首先思考一下为什么要花时间研究数据集的问题。数据是深度学习的主要成分,虽然作为神经网络程序员的任务是让我们的神经网络从我们的数据中学习,但我们仍然有责任了解我…...
【GitHub】登录时的2FA验证
一、如何进行2FA认证 1.在你的浏览器中下载 Authenticator身份验证插件 2.使用身份验证器添加凭证 2.1 使用身份验证器扫描验证二维码 选择扫描二维码...
CSDN年度回顾:技术征途上的坚实步伐
嘿,时光过得可真快呀,就像那匹跑得飞快的白马,嗖的一下,2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年,心里那叫一个感慨万千,满满的都是喜悦,就像心里…...
Kotlin Bytedeco OpenCV 图像图像57 图像ROI
Kotlin Bytedeco OpenCV 图像图像57 图像ROI 1 添加依赖2 测试代码3 测试结果 1 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns"http://maven.apache.o…...
支持大功率输出高速频闪的图像处理用光源控制器
机器视觉系统中的光源控制器在确保图像质量、提高系统稳定性、降低能耗以及方便系统扩展和升级等方面发挥着重要作用。它可提供稳定光源,调节参数,另外具有操作便捷性。 下面我们来看Gardasoft的光源控制器,Gardasoft拥有作为图像处理用LED光…...
《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和
本博客将详细探讨如何通过二分查找算法来解决这几个经典问题。通过几个实际的例子,我们将展示如何在这些问题中灵活应用二分查找,优化计算过程,并在面对大数据量时保持高效性。 目录 前言 数的三次方根 算法思路 代码如下 机器人跳跃问题…...
Java-数据结构-二叉树习题(2)
第一题、平衡二叉树 ① 暴力求解法 📚 思路提示: 该题要求我们判断给定的二叉树是否为"平衡二叉树"。 平衡二叉树指:该树所有节点的左右子树的高度相差不超过 1。 也就是说需要我们会求二叉树的高,并且要对节点内所…...
解锁面向对象编程:Python 类与对象详解
🏠大家好,我是Yui_💬 🍑如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀 🚀如有不懂,可以随时向我提问,我会全力讲解~ ὒ…...
国产编辑器EverEdit -重复行
1 重复行 1.1 应用场景 在代码或文本编辑过程中, 经常需要快速复制当前行,比如,给对象的多个属性进行赋值。传统的做法是:选中行-> 复制-> 插入新行-> 粘贴,该操作有4个步骤,非常繁琐。 那有没…...
记一次数据库连接 bug
整个的报错如下: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho…...
【Springboot相关知识】Springboot结合SpringSecurity实现身份认证以及接口鉴权
Springboot结合SpringSecurity实现身份认证以及接口鉴权 身份认证1. 添加依赖2. 配置JWT工具类3. 配置Spring Security4. 创建JWT请求过滤器5. 创建认证控制器6. 创建请求和响应对象7. 配置UserDetailsService8. 运行应用程序9. 测试总结 接口鉴权1. 启用方法级安全注解2. 定义…...
算法竞赛之差分进阶——等差数列差分 python
目录 前置知识进入正题实战演练 前置知识 给定区间 [ l, r ],让我们把数组中的[ l, r ] 区间中的每一个数加上c,即 a[ l ] c , a[ l 1 ] c , a[ l 2] c , a[ r ] c; 怎么做?很简单,差分一下即可 还不会的小伙伴点此进入学习 进入正题 …...
20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机
sudo upgrade_tool uf update.img 20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机 2025/1/21 11:54 百度:ubuntu RK3566 刷机 firefly rk3566 ubuntu upgrade_tool烧写详解 https://wiki.t-firefly.com/Core-3566JD4/03-upgrad…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
