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

Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8

一、环境信息

1.1、硬件信息

Atlas 800I A2 * 2

1.2、环境信息

操作系统:openEuler 22.03 LTS
NPU驱动:Ascend-hdk-910b-npu-driver 24.1.0 linux-aarch64.run
NPU固件:Ascend-hdk-910b-npu-firware 7.5.0.3.220.run
MindIE镜像:2.0.T3-800I-A2-py311-openeuler24.03-lts

1.3、组网信息

  • 一台服务器的NPU-0口对应另一个服务器的NPU-0,然后剩下的依次使用光纤连接;
  • NPU侧IP最好在同一个网段里。

二、安装驱动固件

2.1、创建运行用户和所属组

groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

2.2、安装驱动(根据提示选择是否重启)

./Ascend-hdk-910b-npu-driver_24.1.0_linux-aarch64.run --full --install-for-all

2.3、安装固件(根据提示选择是否重启)

./Ascend-hdk-910b-npu-firmware_7.5.0.3.220.run --full

三、配置参数面(NPU)网络

3.1、配置IP和掩码

# 配置master节点上NPU的IP和掩码
hccn_tool -i 0 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 1 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 2 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 3 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 4 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 5 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 6 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 7 -ip -s address 修改成自己规划的IP netmask 255.255.255.0# 配置node节点上的NPU的IP和掩码
hccn_tool -i 0 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 1 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 2 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 3 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 4 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 5 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 6 -ip -s address 修改成自己规划的IP netmask 255.255.255.0 
hccn_tool -i 7 -ip -s address 修改成自己规划的IP netmask 255.255.255.0

3.2、配置检测IP

检测IP配置成对端NPU口的IP,比如说机器1的IP是: 192.168.10.11,机器2的IP是:192.168.10.19。那机器1的检测IP就是:192.168.10.19,机器2的检测IP就是:192.168.10.11。

# 配置master节点上NPU的侦测IP
hccn_tool -i 0 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 1 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 2 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 3 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 4 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 5 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 6 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 7 -netdetect -s address 修改成自己规划的IP# 配置master节点上NPU的侦测IP
hccn_tool -i 0 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 1 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 2 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 3 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 4 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 5 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 6 -netdetect -s address 修改成自己规划的IP
hccn_tool -i 7 -netdetect -s address 修改成自己规划的IP

3.3、关闭TLS

for i in {0..7}; do hccn_tool -i $i -tls -s enable 0 ; done

3.4、检测配置是否正确

1.1、检查物理链接
for i in {0..7}; do hccn_tool -i $i -lldp -g | grep Ifname; done 1.2、检查链接情况
for i in {0..7}; do hccn_tool -i $i -link -g ; done1.3、检查网络健康情况
for i in {0..7}; do hccn_tool -i $i -net_health -g ; done1.4、查看侦测ip的配置是否正确
for i in {0..7}; do hccn_tool -i $i -netdetect -g ; done1.5、获取每张卡的ip地址
for i in {0..7};do hccn_tool -i $i -ip -g; done1.6、检测NPU底层TLS行为一致性,每台机器需要是一样的值,建议全0
for i in {0..7}; do hccn_tool -i $i -tls -g ; done | grep switch1.7、NPU底层tls校验行为置0操作 
for i in {0..7};do hccn_tool -i $i -tls -s enable 0;done1.8、检测机器间NPU互联情况
hccn_tool -i NPU节点 -ping -g address 另一台机器NPU的IP

四、编辑rank_table_file.json文件

{"server_count": "2","server_list": [{"device": [{"device_id": "0","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "0"},{"device_id": "1","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "1"},{"device_id": "2","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "2"},{"device_id": "3","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "3"},{"device_id": "4","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "4"},{"device_id": "5","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "5"},{"device_id": "6","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "6"},{"device_id": "7","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "7"}],"server_id": "master-业务IP","container_ip": "master-业务IP"},{"device": [{"device_id": "0","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "8"},{"device_id": "1","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "9"},{"device_id": "2","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "10"},{"device_id": "3","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "11"},{"device_id": "4","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "12"},{"device_id": "5","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "13"},{"device_id": "6","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "14"},{"device_id": "7","device_ip": "参数面IP-修改成自己规划的IP","rank_id": "15"}],"server_id": "node-业务IP","container_ip": "node-业务IP"}],"status": "completed","version": "1.0"
}

五、启动容器

docker run -itd --privileged  --name=容器名称 --net=host \--shm-size 500g \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \--device=/dev/davinci4 \--device=/dev/davinci5 \--device=/dev/davinci6 \--device=/dev/davinci7 \--device=/dev/davinci_manager \--device=/dev/hisi_hdc \--device /dev/devmm_svm \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \-v /usr/local/sbin:/usr/local/sbin \-v /etc/hccn.conf:/etc/hccn.conf \-v 物理机权重路径:容器权重路径 \容器镜像名称或ID \bash

六、设置容器环境变量

vim ~/.bashrcsource /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh
source /usr/local/Ascend/atb-models/set_env.sh
source /usr/local/Ascend/mindie/set_env.sh# 服务化多机配套变量
export MIES_CONTAINER_IP=容器IP
export RANKTABLEFILE=rank_table_file.json文件路径# 日志打印(默认Error级别)
export MINDIE_LOG_TO_STDOUT=1# 虚拟内存
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True# ATB WorkSpace 使能
export ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=3
export ATB_WORKSPACE_MEM_ALLOC_GLOBAL=1 # 单线程加速权重加载
export OMP_NUM_THREADS=1# 设置显存占比
export NPU_MEMORY_FRACTION=0.96# 设置精度饱和模式,防止fp16引起的上下溢出
export INF_NAN_MODE_ENABLE=0# 关闭确定性计算
export HCCL_DETERMINISTIC=false# 使能AIV,暂时还有问题性问题,不建议线上业务使用,性能复现必须开启
export HCCL_OP_EXPANSION_MODE="AIV"# 使能内存复用
export ATB_LAYER_INTERNAL_TENSOR_REUSE=1
export ATB_OPERATION_EXECUTE_ASYNC=1
export ATB_CONVERT_NCHW_TO_ND=1
export ATB_WORKSPACE_MEM_ALLOC_GLOBAL=1
export ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=3
export ATB_CONTEXT_WORKSPACE_SIZE=0
export ATB_LAUNCH_KERNEL_WITH_TILING=1
export ATB_LLM_ENABLE_AUTO_TRANSPOSE=0# CPU亲和性调度
export CPU_AFFINITY_CONF=1
export TASK_QUEUE_ENABLE=1
unset ASCEND_LAUNCH_BLOCKING

七、拉起服务

# 修改MindIE配置文件
cd /usr/local/Ascend/mindie/latest/mindie-service/
vim conf/config.json# 修改如下配置:
"ipAddress" : "改成主节点IP""managementIpAddress" : "改成主节点IP"
"httpsEnabled" : false
"multiNodesInferEnabled" : true
"interCommTLSEnabled" : false
"interNodeTLSEnabled" : false
"npudeviceIds" : [[0,1,2,3,4,5,6,7]]
"modelName" : "模型名称"
"modelWeightPath" : "权重路径"
"worldSize":8# 配置文件权限
chmod -R 640 {rank_table_file.json路径}
chmod -R 750 {/path-to-weights}# 拉起服务
nohup ./bin/mindieservice_daemon > output.log 2>&1 &# 停止服务
ps -ef | grep mindieservice
pkill -9 mindieservice

八、测试

curl http://IP:1025/v1/chat/completions -d '{"model": "改为mindie配置文件中设置的名称","messages": [{"role": "user", "content": "请告诉我关于人工智能的一些信息。"}],"stream": true}'

相关文章:

Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8

一、环境信息 1.1、硬件信息 Atlas 800I A2 * 2 1.2、环境信息 操作系统:openEuler 22.03 LTS NPU驱动:Ascend-hdk-910b-npu-driver 24.1.0 linux-aarch64.run NPU固件:Ascend-hdk-910b-npu-firware 7.5.0.3.220.run MindIE镜像&#xff…...

OpenHarmony 入门——ArkUI 跨页面数据同步和页面级UI状态存储LocalStorage小结(二)

文章大纲 引言一、在代码逻辑使用LocalStorage二、从UI内部使用LocalStorage三、LocalStorageProp和LocalStorage单向同步四、LocalStorageLink和LocalStorage双向同步五、兄弟组件之间同步状态变量七、将LocalStorage实例从UIAbility共享到一个或多个视图 引言 前面一篇文章主…...

自我革命!优利德全面进入智能示波器时代

AI重构电子测试新范式 春节期间,DeepSeek(深度求索)火遍全网。作为国内首个全面对标GPT-4技术架构的AI大模型,DeepSeek凭借其自主研发的通用大语言模型体系,涵盖了从7B到超千亿参数的完整模型矩阵,在数学推…...

Vue3 实战:基于 mxGraph 与 WebSocket 的动态流程图构建

本文将详细介绍如何在 Vue3 项目中集成 mxGraph 可视化库,并通过 WebSocket 实现画布元素的实时更新。适合有 Vue 基础的前端开发者学习参考。 一、技术栈准备 Vue3:采用 Composition API 开发mxGraph:JavaScript 流程图库(版本 …...

Python-金融相关代码讲解

文章目录 概要整体架构流程1.代码部分2.逐个讲解1)# -*- coding: utf-8 -*-2)基本库引入3)函数模块4)主程序 小结1. 问题拆解思维2. 文件处理三件套3. 字典的妙用:4. 上下文管理器(with open...&#xff09…...

深度解读DeepSeek:开源周(Open Source Week)技术解读

深度解读DeepSeek:开源周(Open Source Week)技术解读 深度解读DeepSeek:源码解读 DeepSeek-V3 深度解读DeepSeek:技术原理 深度解读DeepSeek:发展历程 文章目录 一、开源内容概览Day1:FlashMLAD…...

【算法】十大排序算法(含时间复杂度、核心思想)

以下是 **十大经典排序算法** 的时间复杂度、空间复杂度及稳定性总结,适用于面试快速回顾:排序算法对比表 排序算法最佳时间复杂度平均时间复杂度最差时间复杂度空间复杂度稳定性核心思想冒泡排序O(n)O(n)O(n)O(1)稳定相邻元素交换,大数沉底…...

TCP传输---计算机网络

TCP结构 源端口和目标端口:标识通信的应用程序。序列号:标记发送的数据段的顺序序号。确认号 ( ACK):确认接收到的数据序号。标志位:控制连接状态,包括 SYN(同步)、ACK(确认&#xf…...

创建vue2项目

1、前往 Node.js 官网下载并安装 Node.js,安装完成后,npm 会随之安装。确认 Node.js 和 npm 是否成功安装,可以在命令行中运行以下命令检查版本: node -v npm -v 运行结果:(如下,表示node和n…...

从投机到可持续发展:ETHDenver 2025 的关键启示!

ETHDenver 2025 重点讨论了 Web3 向可持续发展转型,特别强调了人才培养、去中心化治理和激励机制的紧密结合。Polkadot 一直以来的长期观点也进一步支持了行业从投机转向长期、社区驱动增长的趋势。随着 ETHDenver 2025 会议的的落幕,Polkadot 生态中的贡…...

WPS宏开发手册——使用、工程、模块介绍

目录 系列文章前言1、开始1.1、宏编辑器使用步骤1.2、工程1.3、工程 系列文章 使用、工程、模块介绍 JSA语法 第三篇练习练习题,持续更新中… 前言 如果你是开发人员,那么wps宏开发对你来说手拿把切。反之还挺吃力,需要嘻嘻&#xf…...

操作系统为ubantu的服务器上部署nginx软件基础步骤总结

今天在这里,我们总结一下ubantu的服务器上部署nginx软件,请按照以下步骤进行安装: 1、更新包列表: 首先更新你系统中的可用软件包列表,以确保你可以安装最新版本。 sudo apt update2、 Ubuntu上更新已安装软件包&…...

批量给 PPT 文档添加或删除保护,批量设置打开密码和只读密码

为了保护保护档的安全,我们经常会给 PPT 文档添加打开密码或者只读密码保护。有些场景下,我们也可能会碰到需要删除 PPT 文档的打开密码或者只读密码的需求。今天就给大家介绍一种方法可以一次性批量给多个 PPT 文档添加打开密码或者只读密码保护&#x…...

Elasticsearch 中的数据分片问题

Elasticsearch 分片机制 Elasticsearch 在存储数据时采用 分片(Shard)机制,以提高性能和可扩展性。它索引中的数据被划分成多个 主分片(Primary Shard) 和 副本分片(Replica Shard)&#xff0c…...

如何在IPhone 16Pro上运行python文件?

在 iPhone 16 Pro 上运行 Python 文件需要借助第三方工具或远程服务,以下是具体实现方法和步骤: 一、本地运行方案(无需越狱) 使用 Python 编程类 App 以下应用可在 App Store 下载,支持直接在 iPhone 上编写并运行 …...

Xinference安装、使用详细笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xinference安装、使用详细笔记 支持推理引擎安装Xinference启动Xinference关于模型的推理引擎运行 qwen2.5-instruct管理模型官方详细文档:具体使用:对…...

NAT 模式

使用LVS的 NAT 模式实现 3 台RS的轮询访问。IP地址和主机自己规划。 1.节点规划 主机角色系统网络IPclientclientredhat 9.5仅主机192.168.180.100/24lvslvsredhat 9.5仅主机 NAT192.168.180.200/24 VIP 192.168.72.8/24 DIPnginxrs1redhat 9.5NAT192.168.226.7/24nginxrs2r…...

【中间件】Rabbit离线部署操作

准备安装包: 1.rabbitmq-server-4.0.7-1.el8.noarch.rpm 2.erlang-26.2.5.4-1.el9.x86_64.rpm 3.socat-1.7.4.1-6.el9.x86_64.rpm 操作步骤: 1.上传将RabbitMQ文件夹上传至服务器的home中 2.先安装erlang服务,顺序执行以下命令 设置服务的S…...

thinkphp漏洞再现

Thinkphp5x远程命令执行及getshell 1、开环境 2、使用工具攻击 开启工具 输入地址,点击漏洞检测 存在漏洞之后,选择漏洞,执行命令 3、也可以执行远程命令 执行命令 ?sindex/think\app/invokefunction&functioncall_user_func_array&…...

a-date-picker 格式化日期格式 YYYY-MM-DD HH:mm:ss

<template><a-range-pickerv-model:value"dateRange":show-time"{ format: HH:mm:ss, // 时间部分格式defaultValue: [moment(00:00:00, HH:mm:ss), moment(23:59:59, HH:mm:ss)] // 默认时间范围}"format"YYYY-MM-DD HH:mm:ss" // 整体…...

【前端】在<el-form>里循环插入list内容

这里的list为日志list【logList】 <el-row v-if"logList && logList.length > 0" style"display: flex; flex-direction: column; align-items: center;"><el-rowv-for"(log, index) in logList" :key"index" s…...

Spring Boot 一个接口实现任意表的 Excel 导入导出

Java的web开发需要excel的导入导出工具&#xff0c;所以需要一定的工具类实现&#xff0c;如果是使用easypoi、Hutool导入导出excel&#xff0c;会非常的损耗内存&#xff0c;因此可以尝试使用easyexcel解决大数据量的数据的导入导出&#xff0c;且可以通过Java8的函数式编程解…...

华为交换相关

端口模式 &#xff08;1&#xff09;access&#xff1a;只能属于单个VLAN&#xff0c;一般用于连接计算机端口 &#xff08;2&#xff09;trunk&#xff1a;端口允许多个VLAN通过&#xff0c;可以接收和发送多个VLAN报文&#xff0c;默认情况下只有管理VLAN不携带标签信息 &…...

「宇树科技」13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 2025年2月20日&#xf…...

Kafka Snappy 压缩异常分析与解决方案

1. 问题描述 在使用 Kafka 进行消息发送时&#xff0c;遇到了以下异常&#xff1a; org.apache.kafka.common.KafkaException: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.7-ee0a2284-1d05-4116-9ddc-a0d5d4b3f8cd-libsnappyjava.so: Error loading shared library ld…...

Agent系列——Manus调研

一、Manus核心技术解析&#xff08;代码实现原理&#xff09; 1. 多智能体协同架构 class PlanningAgent: # 任务规划代理def decompose_task(self, task):return ["unzip_files", "extract_info", "match_skills"]class ExecutionAgent: # …...

CS实现票据样式效果

效果图 代码 <template> <div class"outer"><div class"outer-container"></div></div> </template> <script langts> import { reactive, toRefs, onBeforeMount, onMounted } from vue import { useRouter, …...

Maven 简介及其核心概念

Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理。 官网: Introduction – Maven 下载地址: Download Apache Maven – Maven 1 Introduction Maven, a Yiddish word meaning accumulator of knowledge, began as an …...

阿里开源的免费数据集成工具——DataX

企业里真实的数据流转是什么样子的呢&#xff1f; 左侧描述了一个企业真实的样子&#xff0c;我们总是需要把数据从一个地方搬到另一个地方&#xff0c;最后就是搬来搬去搬成了一张张解不开的网。 右侧则表达了使用DataX为中心实现数据的同步。 什么是DataX DataX是一个异构…...

医学图像分割数据集肺分割数据labelme格式6299张2类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图像分辨率&#xff1a;1024x1024 图片数量(jpg文件个数)&#xff1a;6299 标注数量(json文件个数)&#xff1a;6299 标注类别数&#xff1a;2 标注类别名称:["leftl…...

Spring IoC的设计与实现

IoC,Inversion of Control 控制反转&#xff0c;将原本由应用程序负责对象创建的工作&#xff0c;交给IOC容器来完成。容器通过依赖注入&#xff08;DI&#xff0c;Dependency Injection&#xff09;来实现。 作用&#xff1a;降低类对象之间的耦合度&#xff0c;减少代码量。…...

微信小程序开发:页面结构与样式设计

微信小程序页面结构与样式设计研究 摘要 微信小程序作为移动互联网的重要应用形式&#xff0c;其页面结构与样式设计对于用户体验和功能实现具有关键作用。本文深入探讨微信小程序的页面结构与样式设计&#xff0c;包括WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以…...

Linux paste命令

目录 一. 简介二. 基本语法三. 小案例 一. 简介 paste 命令用于合并多个文件的行&#xff0c;按列方式输出&#xff0c;默认以制表符&#xff08;Tab&#xff09;分隔。 ⏹基本语法 paste [选项] 文件1 文件2 ...二. 基本语法 <()的方式模拟文件流paste命令将2个文件流粘…...

关于Object.assign

Object.assign 基本用法 Object.assign() 方法用于将所有可枚举属性的值从一个或者多个源对象source复制到目标对象。它将返回目标对象target const target { a: 1, b: 2 } const source { b: 4, c: 5 }const returnedTarget Object.assign(target, source)target // { a…...

新能源汽车充换站如何实现光储充一体化管理?

长三角某换电站光伏板晒到发烫&#xff0c;却因电网限电被迫切机&#xff1b;北京五环充电站每月多缴6万超容费&#xff1b;深圳物流车充电高峰排队3小时...当95%的充换站深陷“用不起绿电、扛不住扩容、算不清碳账”困局&#xff0c;安科瑞用一组真实数据撕开行业潜规则&#…...

Flink 流处理框架的核心特性

文章目录 事件时间支持Flink状态编程一、状态的类型1. 托管状态&#xff08;Managed State&#xff09;2. 原始状态&#xff08;Raw State&#xff09; 二、状态的管理和容错 Flink端到端的一致性1、检查点机制2、幂等3、事务 水位线窗口操作1、窗口类型2、窗口操作的时间语义 …...

蓝桥杯之AT24C02的页写页读

一、原理&#xff1a; 1、页写&#xff1a;一次性向AT24C02里的多个数据存储单元地址写入多个数据 &#xff08;1&#xff09;在AT24C02的页写模式下&#xff0c;每次写入数据后&#xff0c;存储单元地址会自动加1。 &#xff08;2&#xff09;一页有8个数据存储单元&#xff…...

计算机二级web易错点(7)-选择题

在 JavaScript 中&#xff0c;substr() 方法用于从字符串中提取子字符串。它接受两个参数&#xff0c;第一个参数表示开始提取的位置&#xff08;索引从 0 开始&#xff09;&#xff0c;第二个参数表示要提取的字符数量。 在代码 var str"abcdefgh"; alert(str.subs…...

WordPress子主题插件 Child Theme Configurator

一、插件介绍 Child Theme Configurator 是一款强大的 WordPress 插件,专为创建和管理子主题(Child Theme)而设计。使用子主题可以安全地自定义 WordPress 站点,而不会影响原主题(Parent Theme),同时确保主题更新时不会丢失修改。 该插件适用于初学者和高级开发者,提…...

[网鼎杯 2020 白虎组]PicDown1 [反弹shell] [敏感文件路径] [文件描述符]

常见读取路径 /etc/passwd一些用户和权限还有一些乱七八糟的 /proc/self/cmdline包含用于开始当前进程的命令 /proc/self/cwd/app.py当前工作目录的app.py /proc/self/environ包含了可用进程的环境变量 /proc/pid/exe 包含了正在进程中运行的程序链接&#xff1b; /proc/pid…...

基于Spring Boot的乡村养老服务管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

ElasticSearch 可观测性最佳实践

ElasticSearch 概述 ElasticSearch 是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理 PB 级别&#xff08;大数据时代&#xff09;的数据。ES 也使用 Java 开…...

Java----正则表达式的学习

正则表达式可以检验字符串是否满足一定规则&#xff0c;并用来校验数据格式的合法性。 在一段文本当中查找满足需求的内容&#xff1a; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Random;import static java.lang.Math.abs; import static…...

为何AI系统比以往任何时候都更需要红队测试

AI 系统已深度融入现代生活&#xff0c;但并非无懈可击。红队测试作为一项关键技术&#xff0c;正通过系统性地挖掘 AI 漏洞&#xff0c;显著提升其安全性与可靠性。随着人工智能技术的快速迭代&#xff0c;这种全面测试的需求愈发迫切&#xff0c;不仅能防范潜在危害&#xff…...

ElementPlus 快速入门

目录 前言 为什么要学习 ElementPlus&#xff1f; 正文 步骤 1 创建 一个工程化的vue 项目 ​2 安装 element-Plus :Form 表单 | Element Plus 1 点击 当前界面的指南 2 点击左边菜单栏上的安装&#xff0c;选择包管理器 3 运行该命令 demo(案例1 &#xff09; 步骤 …...

vue3 ts 请求封装后端接口

一 首页-广告区域-小程序 首页-广告区域-小程序 GET/home/banner1.1 请求封装 首页-广告区域 home.ts export const getHomeBannerApi (distributionSite 1) > {return http<BannerItem[]>({method: GET,url: /home/banner,data: {distributionSite,},}) }函数定…...

[ACTF2020 新生赛]BackupFile-3.23BUUCTF练习day5(1)

[ACTF2020 新生赛]BackupFile-3.23BUUCTF练习day5(1) 解题过程 打开题目环境 看题目意思应该是让我找备份文件 备份文件一般的后缀名为 .rar .zip .7z .tar.gz .bak .swp .txt .html .bak 直接扫描一下 在url中输入/index.php.bak 弱类型比较 为弱相等&#xff0c;即当…...

信创-人大金仓数据库创建

一. 官文 资源下载地址 https://download.kingbase.com.cn/xzzx/index.htm 下载安装文件 下载授权文件 产品文档地址&#xff1a;https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 体系结构 ‌ 实例结构 ‌&#xff1a;由数据库文件和 KingbaseES 实例组成。数据…...

【QT】QTCreator测试程序

使用QTCreator实现窗体&#xff0c;其中拟合程度图左侧是测点列表&#xff0c;右侧是改测点的拟合程度图&#xff08;不使用UI&#xff0c;使用代码编写实现&#xff09; 实现思路 创建主窗口&#xff1a;继承 QMainWindow 类来创建主窗口。布局管理&#xff1a;使用 QSplitt…...

Python入门基础

python基础类型转换 str()与int()类型转换 name 张三 age 20 print(type(name),type(age))print(我叫name 今年&#xff0c; str(age)岁 )a10 b198.8 cFalse print(type(a),type(b),type(c)) print(str(a),str(b),str(c))s1 128 f198.7 s276.77 ffTrue s3hello print(type(s…...