Ubuntu利用docker将ONNX模型转换为RK3588模型
1.安装docker
下载教程
1.拉取镜像
方法一:通过命令拉取
# 下载官方Docker镜像sudo docker pull registry.cn-hangzhou.aliyuncs.com/rockchip/rknn-toolkit2:v2.3.0
方法二:通过rknn-toolkit2自带的直接安装
2.开始工作
创建工作目录并复制ONNX模型
# 创建工作目录mkdir -p ~/rknn_workspace# 复制ONNX模型到工作目录cp /mnt/e/Projects/3.项目/RKNN/fnet_onnx/fnet.onnx ~/rknn_workspace/
运行Docker容器并挂载目录
# 运行Docker容器,挂载工作目录docker run -it --rm \-v ~/rknn_workspace:/workspace \rknn-toolkit2:local \/bin/bash
- 在Docker容器内创建转换脚本
# 在Docker容器内执行以下命令cd /workspace# 创建转换脚本cat > docker_convert.py << 'EOF'#!/usr/bin/env python3from rknn.api import RKNNimport numpy as npONNX_MODEL = 'fnet.onnx'RKNN_MODEL = 'fnet_rk3588.rknn'# 创建RKNN对象rknn = RKNN(verbose=True)# 配置转换参数print('--> Config model')rknn.config(target_platform='rk3588',optimization_level=3,batch_size=1,single_core_mode=True,force_builtin_perm=True,quantized_dtype='dynamic_fixed_point-8',custom_op_limit=[{'type': 'OP_TENSOR_LIMIT', 'limit_size': 10000}])print('完成配置')# 加载ONNX模型print('--> 加载ONNX模型')ret = rknn.load_onnx(model=ONNX_MODEL)if ret != 0:print('加载ONNX模型失败!')exit(ret)print('ONNX模型加载成功')# 构建模型print('--> 构建模型')ret = rknn.build(do_quantization=True,rknn_batch_size=1,pre_compile=True)if ret != 0:print('构建模型失败!')exit(ret)print('模型构建成功!')# 导出RKNN模型print('--> 导出RKNN模型')ret = rknn.export_rknn(RKNN_MODEL)if ret != 0:print('导出RKNN模型失败!')exit(ret)print('模型导出成功!')rknn.release()print('模型转换完成!')EOF# 添加执行权限chmod +x docker_convert.py
-
运行转换脚本
# 在Docker容器内执行python3 docker_convert.py
查看转换结果:
# 在Docker容器内查看生成的RKNN模型ls -lh /workspace/fnet_rk3588.rknn
退出docker容器:
# 退出容器exit
验证WSL本地目录中的模型:
# 在WSL中查看生成的模型ls -lh ~/rknn_workspace/fnet_rk3588.rknn
将生成的模型复制到原始项目目录:
# 复制模型到项目目录cp ~/rknn_workspace/fnet_rk3588.rknn /mnt/e/Projects/3.项目/RKNN/fnet_onnx/
注意:WSL 和直接的LINUX操作系统部分命令可能有区别
附:1.docker基础
一、Docker是什么?
想象你要搬家,把家具打包进标准集装箱里,无论用轮船、火车还是卡车运输,里面的物品都保持原样。Docker就是软件世界的"集装箱"技术,它将应用及其依赖(代码、环境、配置等)打包成标准化容器,实现"一次打包,处处运行"。
核心价值:解决"在我电脑能跑,别人电脑报错"的环境差异问题,提升开发部署效率。
二、Docker vs 虚拟机
特性 | Docker容器 | 传统虚拟机 |
---|---|---|
启动速度 | 秒级启动(如启动APP) | 分钟级(需启动完整操作系统) |
资源占用 | 仅MB级(共享内核) | GB级(独占虚拟硬件资源) |
隔离性 | 进程级隔离(轻量但满足多数场景) | 硬件级强隔离(安全性更高) |
适用场景 | 微服务、快速迭代、CI/CD | 安全敏感型应用、完整OS环境需求 |
举个栗子:虚拟机好比每个租客住整栋别墅,Docker则是共享地基的公寓,每个房间独立但共用地基(操作系统内核)。
三、Docker核心概念(必须掌握!)
-
镜像(Image)
- 只读模板,相当于软件安装包(包含代码+环境)
- 分层存储:类似Photoshop图层,基础镜像(如Ubuntu)作为底层,新增内容叠加形成新镜像
- 常用命令
docker pull nginx # 拉取镜像 docker images # 查看本地镜像 docker rmi 镜像ID # 删除镜像
-
容器(Container)
- 镜像的运行实例,相当于运行中的软件
- 每个容器有独立文件系统、网络、进程空间
- 常用命令:
docker run -d -p 80:80 nginx # 启动容器(后台运行+端口映射) docker ps # 查看运行中容器 docker exec -it 容器ID bash # 进入容器内部 docker stop 容器ID # 停止容器
-
仓库(Registry)
- 镜像的存储中心,类似应用商店
- 公共仓库:Docker Hub(默认,含百万镜像)
- 私有仓库:企业自建(如Harbor)
-
Dockerfile
- 文本文件,定义镜像构建步骤(环境安装、文件复制等)
- 示例:构建Python应用镜像
构建命令:FROM python:3.10 # 基础镜像 WORKDIR /app # 工作目录 COPY . . # 复制文件 RUN pip install -r requirements.txt # 安装依赖 CMD ["python", "app.py"] # 启动命令
docker build -t myapp:v1 .
四、Docker底层原理
- 命名空间(Namespaces)
- 隔离进程、网络、文件系统等资源,实现"每个容器都以为自己在独立机器上运行"
- 控制组(Cgroups)
- 限制CPU/内存等资源使用,防止单个容器耗尽主机资源
- 联合文件系统(UnionFS)
- 镜像分层存储,多个容器共享基础层,节省磁盘空间
五、安装与配置(手把手教学)
- 安装Docker(以Ubuntu为例)
sudo apt update sudo apt install docker-ce sudo systemctl start docker sudo usermod -aG docker $USER # 当前用户免sudo操作
- 配置镜像加速
重启服务:{"registry-mirrors": ["https://docker.1panel.live"] }
sudo systemctl restart docker
六、实战操作场景
-
部署Nginx网站
docker run -d --name my-nginx -p 8080:80 nginx # 访问 http://localhost:8080 即可看到欢迎页
-
数据持久化
docker run -v /宿主机路径:/容器路径 mysql # 目录映射
-
多容器互联(Docker Compose)
version: '3' services:web:image: nginxports: ["80:80"]db:image: mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456
启动:
docker-compose up -d
七、安全须知
- 风险点:容器逃逸、镜像漏洞、配置不当
- 防护建议:
- 使用非root用户运行容器
- 定期更新基础镜像
- 限制容器资源(CPU/内存)
- 扫描镜像漏洞(如Trivy工具)
八、应用场景
- 微服务架构:每个服务独立容器化
- CI/CD流水线:构建→测试→部署全流程标准化
- 快速搭建开发环境:一键启动MySQL/Redis等中间件
- 混合云部署:跨云平台保持环境一致性
学习建议
- 实操练习:从运行第一个容器开始,逐步尝试构建自定义镜像
- 掌握核心命令:
run/ps/exec/build/logs
- 理解容器编排:学习Docker Compose和Kubernetes
- 关注镜像安全:选择官方镜像,定期更新
附:2.docker为什么这么神奇?
Docker的神奇之处源于其独特的轻量级虚拟化设计和对底层操作系统的深度优化,其实现机理融合了Linux内核的三大核心能力。以下从核心优势、实现原理、技术架构三方面深入解析:
一、Docker的“神奇”价值:轻量高效与环境一致性
二、Docker实现机理:Linux内核的三大核心技术
-
命名空间(Namespaces)——资源隔离
通过6种命名空间实现资源隔离,使每个容器拥有独立的运行环境:- PID命名空间:隔离进程树,容器内进程无法看到宿主机或其他容器的进程
- NET命名空间:每个容器独立IP、网卡和防火墙规则,如容器A的80端口与容器B的80端口互不冲突
- MNT命名空间:独立的文件系统挂载点,容器看到的根目录与实际宿主机路径隔离
-
控制组(Cgroups)——资源限制
通过层级化进程组管理,实现:- CPU配额:限制容器最多使用50%的CPU时间片
- 内存硬限制:容器内存超限时触发OOM Killer自动终止进程
- 磁盘IO优先级:为数据库容器分配更高的IO带宽
三、Docker技术架构:三位一体的运行体系
四、Docker与虚拟机的本质差异
维度 | Docker容器 | 传统虚拟机 |
---|---|---|
虚拟化层级 | 操作系统级(共享内核) | 硬件级(Hypervisor虚拟化) |
启动速度 | 0.1秒级(相当于启动进程) | 1分钟级(需启动完整OS) |
镜像大小 | 通常50MB-500MB(如Alpine仅5MB) | 最小1GB以上 |
资源开销 | 仅需进程运行资源 | 需分配固定CPU/内存/磁盘 |
五、典型应用场景
- 微服务架构:每个服务独立容器化,通过Kubernetes实现弹性扩缩容
- CI/CD流水线:构建→测试→部署全流程容器化,耗时从小时级降至分钟级
- 混合云部署:同一镜像可运行在AWS/阿里云/本地机房,实现跨云无缝迁移
总结
Docker通过Linux命名空间实现隔离、Cgroups实现资源控制、UnionFS实现高效存储,三者协同构建了轻量级、高性能的容器化解决方案。其核心价值在于用“集装箱”思维标准化软件交付流程,使开发、测试、运维的协作效率发生质变。想要深入实践,可从docker run -d nginx
启动第一个容器开始体验
相关文章:
Ubuntu利用docker将ONNX模型转换为RK3588模型
1.安装docker 下载教程 1.拉取镜像 方法一:通过命令拉取 # 下载官方Docker镜像sudo docker pull registry.cn-hangzhou.aliyuncs.com/rockchip/rknn-toolkit2:v2.3.0 方法二:通过rknn-toolkit2自带的直接安装 2.开始工作 创建工作目录并复制ONNX模型…...
Go:入门
文章目录 Hello, World命令行参数找出重复行GIF动画获取一个URL并发获取多个URL一个 Web 服务器其他 Hello, World Hello world package main import "fmt" func main() {fmt.Println("Hello, 世界") }package main表明这是一个可独立执行的程序包&#…...
深入理解 ResponseBodyAdvice 及其应用
ResponseBodyAdvice 是 Spring MVC 提供的一个强大接口,允许你在响应体被写入 HTTP 响应之前对其进行全局处理。 下面我将全面介绍它的工作原理、使用场景和最佳实践。 基本概念 接口定义 public interface ResponseBodyAdvice<T> {boolean supports(Metho…...
SpringBoot对接火山引擎大模型api实现图片识别与分析
文章目录 一、前言二、创建应用三、后端1.SDK集成2.调用Rest API 四、前端 一、前言 Spring AI实战初体验——实现可切换模型AI聊天助手-CSDN博客 如上,在上一篇博客,我们已经实现了spring ai对接本地大模型实现了聊天机器人,但是目前有个新…...
Java ---成员,局部变量与就近原则
成员变量 声明在类内部,但在方法、构造器或代码块之外的变量。 属于类的实例(对象)或类本身(静态变量)。 实例变量(非静态成员变量): public class Person {private String name…...
基于libevent写一个服务器(附带源码)
使用libevent搭建服务器 服务器源码二级目录 使用开源框架,目的是减少程序员对一些精细的操作的误操作,也是为了让程序员能更好的对接业务而不是底层api的使用。 为何使用libevent,因为libevent开源已经有十几年了,能很好的承受数…...
2.2.3 Spark Standalone集群
搭建Spark Standalone集群需要完成多个步骤。首先,配置主机名、IP地址映射、关闭防火墙和SeLinux,并设置免密登录。接着,配置JDK和Hadoop环境,并在所有节点上分发配置。然后,下载并安装Spark,配置环境变量和…...
每天记录一道Java面试题---day38
说说类加载器双亲委派模型 回答重点 AppClassLoader的父加载器是ExtClassLoader,ExtClassLoader的父加载器是BootStrapClassLoader。JVM在加载一个类时,会调用AppClassLoader的laodClass方法来加载这个类,不过在这个方法中,会先…...
[ctfshow web入门] web33
信息收集 相较于上一题,这题多了双引号的过滤。我猜测这一题的主要目的可能是为了不让使用$_GET[a]之类的语句,但是$_GET[a]也是一样的 没有括号可以使用include,没有引号可以使用$_GET 可以参考[ctfshow web入门] web32,其中的所…...
【时时三省】(C语言基础)用switch语句实现多分支选择结构
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(85分以上为A等,70 ~ 84分为B等,60 ~ 69分为C等)&…...
为您的 Web 应用选择最佳文档阅读器
为显示选择合适的文档查看器是开发 Web 应用过程中至关重要的一步。文档查看器应能在提供功能性的同时,确保用户体验的流畅性。 开发人员必须评估多种因素,以确保效率、性能和兼容性。本文将帮助您了解影响用户文档浏览体验成功与否的关键指标。 渲染质…...
js逆向入门图灵爬虫练习平台第六题
地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvNi8 观察可以发现请求头有有字段加密和响应结果加密 查看启动器 开始断点调试 直接复制里面的js内容,测试函数...
招商蛇口 | 回归生活本身,革新CID的143㎡改善标准
时光流转,城市向前。在西安这片千年文脉的沃土之上,招商蛇口已深耕11载,用21座标杆作品,为17000余户家庭筑就理想栖居。从曲江到高新,从城市更新到人居焕新,每一座作品都是对“美好生活承载者”使命的践行。…...
第6课:分布式多智能体系统架构
分布式多智能体系统架构:从算力协同到微服务部署的工程化实践 一、引言:当智能体规模突破百级:分布式架构为何成为必选项? 在多智能体系统(MAS)从“实验室Demo”走向“工业级应用”的过程中,传…...
Vue3 Teleport 深度解析与面试技巧
Vue3 Teleport 深度解析与面试技巧 一、Teleport 核心价值解析 1.1 诞生背景与设计哲学 DOM层级困境:传统组件树与视觉层级的矛盾样式污染问题:z-index层级管理的世纪难题逻辑解耦需求:业务逻辑与DOM结构的正交性要求 1.2 核心能力矩阵 能…...
断言与反射——以golang为例
断言 x.(T) 检查x的动态类型是否是T,其中x必须是接口值。 简单使用 func main() {var x interface{}x 100value1, ok : x.(int)if ok {fmt.Println(value1)}value2, ok : x.(string)if ok {//未打印fmt.Println(value2)} }需要注意如果不接受第二个参数就是OK,这…...
react函数组件中,className字符串、style对象如何在父子组件之间传递
一、需要传递的样式在父组件的scss文件中提前写好 子组件的dom解析后: 二、向子组件直接传递style对象...
WHAT - React Portal 机制:将子组件渲染到 DOM 的指定节点
文章目录 适合场景基本语法示例:Modal 弹窗1. 创建一个简单的 Modal.tsx2. 在 App 中使用 为什么要用 Portal?TypeScript 中 Portal 类型定义? 适合场景 React Portal 是 React 提供的一种机制,让你可以将子组件渲染到 DOM 的指定…...
企业绿电消纳比例不达标?安科瑞微电网智慧能源平台助力企业低碳转型
方案配置支持请联系安科瑞电气周女士 企业绿电消纳政策是国家推动能源转型和实现“双碳”目标的重要抓手,近年来政策体系逐步完善。企业通过建设“源网荷储”一体化项目、虚拟电厂等技术,提升绿电消纳能力。 一、安科瑞提供解决方案 深耕用电业务&…...
uni-app初学
文章目录 1. pages.json 页面路由2. 图标3. 全局 CSS4. 首页4.1 整体框架4.2 完整代码4.3 轮播图 swiper4.3.1 image 4.4 公告4.4.1 uni-icons 4.5 分类 uni-row、uni-col4.6 商品列表 小程序开发网址: 注册小程序账号 微信开发者工具下载 uniapp 官网 HbuilderX 下…...
网络划分vlan隔离
隔离划分 比如我们想要将pc1和pc2隔离,我们只需在lsw1交换机中,如下配置: sys 先进入系统视图 先后输入 代表创建2个隔离区 vlan 10 vlan 20 然后进入0/0/1、0/0/2设置隔离类型,并划分隔离区域 int gi0/0/01 port l…...
HDCP(四)
HDCP驱动开发实战深度解析 以下从协议栈架构、核心模块实现、安全设计到硬件集成,结合HDCP 2.x规范与主流硬件平台(如ARM、FPGA)特性,系统拆解驱动开发关键环节: 1. 协议栈架构与模块划分 驱动分层设计 硬件抽象层&…...
大数据(7.4)Kafka存算分离架构深度实践:解锁对象存储的无限潜能
目录 一、传统架构的存储困境与破局1.1 数据爆炸时代的存储挑战1.2 存算分离的核心价值矩阵 二、对象存储集成架构设计2.1 分层存储核心组件2.2 关键配置参数优化 三、深度集成实践方案3.1 冷热数据分层策略3.1.1 存储策略性能对比 3.2 跨云数据湖方案 四、企业级应用案例4.1 金…...
SLAM文献之SuMa++: Efficient LiDAR-based Semantic SLAM
SuMa是基于Surfel的SLAM算法SuMa的改进版本,通过引入语义分割信息提升动态环境下的鲁棒性和回环检测性能。以下从算法原理和公式推导两方面详细阐述: 一、SuMa算法原理 1. 基础:SuMa算法 SuMa使用Surfel(表面元素)构…...
react中通过 EventEmitter 在组件间传递状态
要在 Reply 组件中通过 statusChangeEvent 发送状态值,并在 Select 组件中接收这个状态值 status,你可以按照以下步骤实现: //Event.jsimport EventEmitter from events;export const statusChangeEvent new EventEmitter();// 工单状态切换…...
机器学习 从入门到精通 day_03
1. KNN算法-分类 1.1 样本距离判断 明可夫斯基距离:欧式距离,明可夫斯基距离的特殊情况;曼哈顿距离,明可夫斯基距离的特殊情况。 两个样本的距离公式可以通过如下公式进行计算,又称为欧式距离。 (…...
WHAT - React 两个重要的 Typescript 类型:ReactNode vs JSX.Element
文章目录 ReactNode 是什么?示例用途 JSX.Element 是什么?示例用途 ReactNode vs JSX.Element 对比使用建议其他相关类型例子总结 这两个类型 ReactNode 和 JSX.Element 在 React TypeScript 中经常出现,但它们含义不同,适用场景…...
了解 DeFi:去中心化金融的入门指南与未来展望
去中心化金融,或 DeFi,代表着全球金融体系运作方式的革命性转变。它是一个总称,指的是一个不断增长的去中心化应用程序(dapp)、协议和平台生态系统,这些生态系统构建在公共区块链网络上,无需传统…...
四旋翼无人机手动模式
无人机的手动模式(Manual Mode)是指飞手完全通过遥控器手动控制无人机的飞行姿态、高度、方向和速度,无需依赖自动稳定系统或辅助功能(如GPS定位、气压计定高、视觉避障等)。这种模式赋予操作者最大的操控自由度&a…...
航电系统之驱动系统篇
航电系统的驱动系统是航空电子系统中负责为各类电子设备、传感器、执行机构及控制模块提供稳定、可靠电能的关键部分。其核心功能在于将飞机电源系统的电能转换为适合航电设备使用的形式,确保航电系统在各种飞行条件下正常运行。以下从组成结构、工作原理、技术特点…...
《嵌入式开发实战:基于Linux串口的LED屏显系统设计与实现》
一、项目概述 本文介绍如何通过Linux系统的串口通信,驱动工业级LED显示屏实现动态数据展示。项目采用C语言开发,包含气象数据显示和实时时钟两大核心功能,涉及以下关键技术点: 串口通信协议配置 自定义数据帧封装 CRC16校验算法…...
记录一下移动端uView动态表单校验
uni-app开发uView必不可少,uView是uni-app生态专用的UI框架。 像element-ui一样uView也有自己的表单组件u-form。 对于下图这种列表数据该如何做表单校验,官方文档好像没有具体的案例,记录一下。 问题: 主要实现步骤:…...
Django项目入门二
Django项目入门二 目录 1.修改部门数据 2.新增员工数据 3.修改员工数据 4.删除员工数据 一、修改部门数据 上一篇文章, 我们只剩下修改功能没有做了, 那在这篇文章, 我们给它补上。 在做之前, 我们需要对views.py文件进行调整, 由于我们考虑到有部门信息和员工信息, 如…...
Java创建Android自用证书
在 Android 开发中,如果需要创建一个自用的证书,可以使用 Java 开发工具包(JDK)自带的 keytool 工具。 KeystoreGenerator.java import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.…...
Redis——实现消息队列
目录 前言 基于List结构模拟消息队列 基于List实现消息队列优缺点 基于PubSub(订阅者)实现消息队列 示例 基于PubSub的消息队列的优缺点 基于Stream的消息队列 STREAM类型消息队列的XREAD命令特点: 基于Stream的消息队列-消费者组 基于…...
学习51单片机Day01---做实验前置一些内容
目录 一、前面要看的: 1.下载软件 2.如何开始做? 3.基本框架: 4.如何编译运行: 5.可以运行的样子: 6.怎么生成hex: 7.滴滴放到单片机上: 二、过程中可能出现的问题(一直会更…...
pipe匿名管道实操(Linux)
管道相关函数 1 pipe 是 Unix/Linux 系统中的一个系统调用,用于创建一个匿名管道 #include <unistd.h> int pipe(int pipefd[2]); 参数说明: pipefd[2]:一个包含两个整数的数组,用于存储管道的文件描述符: pi…...
vscode 异常关闭后无法远程连接服务器
笔记本没关机只是合上,结果第二天上班整台笔记本高度发热发烧,吓坏了。。。 强制关机后再开机,幸好能用。但是vscode连接服务器一直不对。 解决方式: 解决一:打开VS Code菜单"View"->“Command Palatt…...
Rust主流框架性能比拼: Actix vs Axum vs Rocket
本内容是对知名性能评测博主 Anton Putra Actix (Rust) vs Axum (Rust) vs Rocket (Rust): Performance Benchmark in Kubernetes 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在以下中,我们将比较 Rust 生态中最受欢迎的几个框架。我会将三个应用程序…...
二氧化铪(HfO2)市场发展分析:从基础到前沿应用
引言:探索二氧化铪的重要性与市场潜力 在现代材料科学中,二氧化铪(HfO2)作为一种关键的高介电常数(High-k)材料,正逐渐成为半导体行业不可或缺的一部分。二氧化铪是一种白色的固体,…...
写一个简单的demo来理解数据库外键
准备工作 安装MySQL 确保已安装MySQL,并启动服务。可以通过命令行或工具(如MySQL Workbench)操作。 创建数据库 sql 复制 CREATE DATABASE school; USE school;创建父表和子表 步骤 1:创建父表(students)…...
Prompt-to-prompt image editing with cross attention control
Project Page: https://prompt-to-prompt.github.io Paper: https://arxiv.org/abs/2208.01626 Code: https://github.com/google/prompt-to-prompt 文章目录 1. Introduction2. Method2.1 Cross-attention in text-conditioned Diffusion Models2.2 Controlling the Cross-att…...
C++Cherno 学习笔记day18 [71]-[75] C++安全、PCH、dynamic_cast、基准测试、结构化绑定
b站Cherno的课[71]-[75] 一、现代C中的安全以及如何教授二、C的预编译头文件PCH三、C的dynamic_cast四、C的基准测试五、C的结构化绑定 一、现代C中的安全以及如何教授 安全编程,或者说C编程中,降低崩溃,内存泄露、非法访问等问题 C11&#…...
根据 PID 找到对应的 Docker 容器
引言 在日常运维与调试过程中,我们常常需要查找某个进程所属的 Docker 容器。当系统出现问题或资源异常时,根据进程的 PID 找到其所属容器可以帮助我们迅速定位问题。本文将介绍如何利用 Linux 的 cgroup 机制,以及 Docker 提供的工具来完成…...
传统项目纯前端实现导出excel之xlsx.bundle.js
传统项目纯前端实现导出excel之xlsx.js 自从vue问世后,使得前端开发更加简洁从容,极大的丰富组件样式和页面渲染效果,使得前端功能的可扩展性得到极大地加强。虽然vue的使用对于前后端分离的项目对于功能实现与扩展有了质的飞跃,但…...
大型手游 DDoS 攻击怎么防护?游戏盾 SDK 技术解剖实录
一、重灾区警报:大型手游为何成为 DDoS 靶心? 1. 血淋淋的行业数据 攻击规模暴涨:2024 年全球手游遭受 > 300Gbps 攻击次数同比激增 173%(Akamai 报告)经济杀伤链:1 小时 500Gbps 攻击可造成ÿ…...
【Harmony】状态管理(V1)
一、概述 文章目录 一、概述二、组件状态管理1、State1.1、State简介1.2、State简单示例 2、Prop2.1、Prop简介2.2、Prop底层实现原理2.3、Prop简单示例 3、Link3.1、Link简介3.2、Link底层实现原理3.3、Link简单示例 4、Provide Consume4.1、Provide Consume简介4.2、Provide …...
udev规则实例:监听usb插拔事件并做出相应
在 Linux 和 Android 系统中,USB 插拔事件的判断涉及从内核到用户空间的多层协作。以下是源码中关键判断点的梳理: 事件流程 内核层:UEvent 机制 USB 插拔事件首先由内核通过 UEvent 机制 上报。内核中的 USB 驱动(如 drivers/…...
【算法】【蓝桥23国A软件C】四版代码思路分析与逐步优化
题目来源:第十四届蓝桥杯大赛软件赛国赛C/C 大学 A 组 题目描述: 问题描述 给定一个 WH 的长方形,两边长度均为整数。小蓝想把它切割为很多个边长为整数的小正方形。假设切割没有任何损耗,正方形的边长至少为 2,不允…...
程序设计竞赛1
题目1 2025年春节期间,DeepSeek作为“AI界的天降紫微星”成为新晋效率神器,热度席卷全球,其团队主创成员也迅速引起了大家的关注。 DeepSeek之所以能在短时间内取得如此不凡成绩,与其团队成员的背景密不可分。团队汇聚了来自清华…...