负载均衡技术【内网去外网运营商出口负载均衡】
1 负载均衡概述
LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的高可靠性。
1.1 技术优势
负载均衡技术具有以下优势:
-
- 高性能:通过将业务较均衡地分配到多台设备或多条链路上,提高了系统的整体性能。
- 可扩展性:可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。
- 高可靠性:单个甚至多个设备或链路发生故障也不会导致业务中断,提高了系统的整体可靠性。
- 可管理性:大量的管理工作都集中在应用了负载均衡技术的设备上,集群中的设备或链路只需要进行普通的配置和维护。
- 透明性:对用户而言,集群等同于一个可靠性高、性能好的设备或链路,用户感知不到也不必关心具体的网络结构。增减集群中的设备或链路不会影响正常业务。
1.2 技术分类
负载均衡技术可分为以下几种类型:
- 服务器负载均衡:在数据中心等组网中,通过此技术可将网络服务分担给多台服务器或防火墙进行处理,从而提高服务器或防火墙的处理能力。
- 链路负载均衡:当存在多条运营商链路时,通过此技术可实现链路的动态选择,从而充分利用多条链路。链路负载均衡支持IPv4与IPv6,但不支持IPv4报文与IPv6报文的互相转换。根据数据的连接请求方向不同,链路负载均衡又分为以下三种:
- 出方向链路负载均衡:当内网用户访问外部互联网存在多条链路时,可在多条链路上分担内网用户访问外部互联网的流量。
- DNS透明代理:当内网用户访问外网DNS服务器存在多条链路时,可在多条链路上分担内网用户访问外部DNS服务器的流量。
- 入方向链路负载均衡:当外网用户访问内网服务器存在多条链路时,可在多条链路上分担外网用户访问内网服务器的流量。
负载均衡配置思路
- 创建链路健康值 //目标地址是链路网关地址
- 配置外网的接口IP地址 //在接口上配置IP地址
- 开启NAT地址转换功能 //基于接口IP地址转发
- 配置所有的防火墙接口网段规划区域 //防火墙的接口加入到指定的区域
- 配置防火墙的安全策略(个人建议不要any到any)
- 配置防火墙的路由 //配置静态路由,默认下一条是运营商网关地址,修改优先级
- 创建负载均衡的链路
- 导入运营商的ISP路由表
https://www.h3c.com/cn/Service/Document_Software/Software_Download/IP_Security/LB/Comware_V7/H3C_ISP_File/
- 创建负载均衡规则流量匹配特征
- 配置创建链路组与链路绑定
- 配置IPV4选路策略
- 测试
1 配置需求及说明
运营商路由表文件下载地址:
https://www.h3c.com/cn/Service/Document_Software/Software_Download/IP_Security/LB/Comware_V7/H3C_ISP_File/
1.1 适用的产品系列
本案例适用于如F1080、F1070、F5040、F5020等F10X0、F50X0系列的防火墙。
1.2 配置需求及实现的效果
某公司为达到业务流量快速转发和链路冗余需求申请了三条不同运营商的外网线路,需要实现如下需求:
- 要求内网用户
- 访问目的地址为移动链路数据从移动链路转发、
- 访问目的地址为联通链路数据从联通链路转发、
- 访问目的地址为电信链路数据从电信链路转发需求。
2)财务部门因为经常访问网银等支付平台,目前不希望出口IP地址经常变化。指定财务数据从电信转发并希望当电信流量负载到带宽的90%后,后面流量负载到联通链路上。
2 组网图
说明:
ISP | 外网接口 | 公网地址/掩码 | 公网网关 |
移动 | 1/0/3 | 218.200.5.8/24 | 218.200.5.9 |
联通 | 1/0/2 | 14.204.0.2/24 | 14.204.0.1 |
电信 | 1/0/1 | 202.90.112.2/24 | 202.90.112.1 |
配置步骤
3 配置步骤
3.1 创建链路健康监测条件(目的地址为网关地址)
#在防火墙界面“对象”>”健康监测”中创建健康检测策略。
#创建移动链路的健康性检测策略,目的地址为移动链路网关。
#创建联通链路的健康性检测策略,目的地址为联通链路网关。
#创建电信链路的健康性检测策略,目的地址为电信链路网关。
注:
1) 防火墙早期版本健康检测选项位于“策略”>“负载均衡”>“全局配置”中,配置方法相同。
2) 健康检测目的地址未添加情况下可以条用在不同的链路,默认检测直联下一跳是否可达。
3.2 配置外网接口配置
#在“网络”>”IP”中配置移动链路接口地址,并开启保存上一跳功能。
#在“网络”>”IP”中配置联通链路接口地址,并开启保存上一跳功能。
#在“网络”>”IP”中配置电信链路接口地址,并开启保存上一跳功能。
3.3 开启各链路Nat地址转换功能
#在“策略”>”NAT” >”NAT动态转换”中添加三条链路的地址转换策略。
配置电信接口NAT转换策略:
配置联通接口NAT转换策略:
配置移动接口NAT转换策略:
3.4 内网网段及安全域配置
############
3.5 安全域及安全策略配置
#在“网络”>”安全域”中将三条外网链路接口移动至不信任(untrust)区域。
GE1/0/ GE1/0/2 GE1/0/3
#在”策略”>”安全策略”中选择新建安全策略。
#创建全放通的安全策略,因为本章内容重点涉及负载均衡,安全策略采用最简配置,策略名称为“pass”、源安全域为“any”、目的安全域为“any”,其余配置均为默认,配置完成后点击确定。
注:
1) 防火墙早期版本在源安全域和目的安全域中没有名称为“any”安全域,建议源安全域将所有安全域勾选、目的安全域将所有安全域勾选的方法实现流量放通。
2) 安全策略请按照现场需求进行调整,防火墙不建议配置全放通的安全策略。
3.6 路由设置
**#在“网络”>“路由”>“静态路由”中新建IPV4静态路由,**并设置路由优先级,防止负载均衡策略异常导致网络中断,设置电信为流量转发的默认路径。
配置电信链路路由:
配置联通链路路由:
配置移动链路路由:
注:路由优先级越小路由越优先。
下一条地址为 运营商的网关地址
3.7 创建负载均衡中的链路
#在“策略”>“负载均衡”>“全局配置”>“链路”中新建三条链路。
3.7.1 创建电信链路
*将电信链路带宽调整为100M,设置带宽繁忙比当带宽利用率超过90%100M=90M,新建session会负载到其他链路。
3.7.2 创建联通链路
将链路名称设置为**“联通链路”、下一跳地址设置为联通链路对应的网关地址:14.204.0.1。**
3.7.3 创建移动链路
将链路名称设置为**“移动链路”、下一跳地址设置为移动链路对应的网关地址:218.200.5.9**。
3.7.4 配置财务链路
将链路名称设置为**“财务链路”、下一跳地址设置为电信链路对应的网关地址:202.90.112.1**。
3.8 导入运营商ISP路由表
防火墙运营商ISP路由表下载链接:
H3C ISP File-新华三集团-H3C
官网ISP路由表文件路径:
首页>产品支持与服务>文档与软件>软件下载>安全>H3C ISP地址表项文件
注:下载账号密码为:yx800/01230123
#在“策略”>“负载均衡”>“全局配置”>“ISP”中将下载的IPS文件选中后导入。
导入成功后在ISP列表中出现各运营商的路由表:
3.9 创建负载均衡规则流量匹配特征
#在“策略”>“负载均衡”>“链路负载均衡 ”>“流量特征”中新建流量特征规则。
3.9.1 建立电信负载规则匹配电信ISP表
#在Match规则中新建匹配规则,其中类型为ISP、ISP为chinatel(电信)。
3.9.2 建立联通负载规则匹配联通ISP表
#在Match规则中新建匹配规则,其中类型为ISP、ISP为cnc(联通)。
3.9.3 建立移动负载规则匹配移动ISP表
#在Match规则中新建匹配规则,其中类型为ISP、ISP为cmcc(移动)。
3.9.4 建立财务负载规则匹配172.16.0.0财务网段
#在Match规则中新建匹配规则,其中类型为源IPV4、IPV4地址为172.16.0.0、掩码长度为24。
3.10 创建链路组与链路绑定
#在“策略”>“负载均衡”>“链路负载均衡 ”>“出链路负载均衡 ” >“链路组”中点击新建。
3.10.1 配置电信链路组
链路组名称设置为“电信链路组”、健康性检测方法设置选择“china-nqa”、成员列表中点击添加按钮添加电信链路、链路故障处理方式为”重定向连接”。
3.10.2 配置联通链路组
链路组名称设置为“联通链路组”、健康性检测方法设置选择“cnc-nqa”、成员列表中点击添加按钮添加联通、链路故障处理方式为”重定向连接”。
3.10.3 配置移动链路组
链路组名称设置为“移动链路组”、健康性检测方法设置选择“cmcc-nqa”、成员列表中点击添加按钮添加移动链路、链路故障处理方式为”重定向连接”。
3.10.4 配置财务链路组
链路组名称设置为“财务链路组”、健康性检测方法设置选择“china-nqa”、成员列表中点击添加按钮添加财务链路、链路故障处理方式为”重定向连接”。
注:
设置链路失败的reschedule:重定向连接,即把连接重定向到链路组中其它可用的链路上。
3.11 创建IPV4选路策略
#在“策略”>“负载均衡”>“链路负载均衡 ”>“出链路负载均衡 ” >“IPV4选路策略”中开启负载均衡服务并新建策略。
注:default为系统默认策略无法删除。
3.11.1 创建财务链路的选路策略
**流量特征选择”财务”、转发动作选择“负载均衡”、主用链路选择“电信链路组”、**选择链路失败处理方式为继续匹配下一条策略。
3.11.2 创建电信链路的选路策略
流量特征选择电信ISP、转发动作选择“负载均衡”、主用链路选择“电信链路组”、选择链路失败处理方式为继续匹配下一条策略。
3.11.3 创建联通链路的选路策略
流量特征选择联通ISP、转发动作选择“负载均衡”、主用链路选择“联通链路组”、选择链路失败处理方式为继续匹配下一条策略。
3.11.4 创建移动链路的选路策略
流量特征选择移动ISP、转发动作选择“负载均衡”、主用链路选择“移动链路组”、选择链路失败处理方式为继续匹配下一条策略。
3.11.5 将默认的“default”策略转发规则设置为转发
**将默认的“default”策略转发规则设置为转发,**使既不匹配财务也不匹配ISP流量特征的数据按照路由表转发。
3.12 保存配置
在设备右上角选项卡中保存配置。
3.13 配置验证
3.13.1 测试电信链路
在内网找一台地址为192.168.0.2的电脑,访问外网一个地址看是从哪个接口出?用来
判断ISP路由是否配置正确?将外网模拟设备的IP地址修改为1.4.1.1进行测试。
设备内置的电信路由表:
Teacert结果:
防火墙会话:
查看数据是否从对应链路组转发。
3.13.2 测试联通链路
在内网找一台地址为192.168.0.2的电脑,访问外网一个地址看是从哪个接口出?用来
判断ISP路由是否配置正确?将外网模拟设备的IP地址修改为27.50.128.1进行测试。
设备内置的联通路由表:
Teacert结果:
防火墙会话:
.
3.13.3 测试移动链路
在内网找一台地址为192.168.0.2的电脑,访问外网一个地址看是从哪个接口出?用来
判断ISP路由是否配置正确?将外网模拟设备的IP地址修改为43.251.244.1进行测试。
设备内置的移动路由表:
Teacert结果:
防火墙会话:
3.13.4 测试总结
测试结果符合需求预期,可以达到数据的准确转发。
相关文章:
负载均衡技术【内网去外网运营商出口负载均衡】
1 负载均衡概述 LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务…...
【广西乡镇界】arcgis格式shp数据乡镇名称和编码2020年内容测评
【广西乡镇界】arcgis格式shp数据乡镇名称和编码2020年内容测评...
半导体数据分析: 玩转WM-811K Wafermap 数据集(一) AI 机器学习
在半导体行业,工程师依靠 CP Yield(生产过程中芯片的合格率)、WAT(晶圆验收测试)和 Particle 的晶圆图模式来识别工艺问题。然而,在没有人工干预的情况下将这些晶圆图模式分类是一项重大挑战。许多论文都研…...
mongodb安装并设置用户验证登录
下载地址 https://www.mongodb.com/try/download/community-kubernetes-operator 偶数版是稳定版,基数版是开发版 ,对32位支持不好 --------------------------------CentOS下安装mongodb--------------------------------------------------- 解压安装包…...
《零基础Go语言算法实战》【题目 1-16】字符串的遍历与比较
《零基础Go语言算法实战》 【题目 1-16】字符串的遍历与比较 给出两个字符串,请编写程序以确定能否将其中一个字符串重新排列后变成另一个字符串, 并规定大小写是不同的字符,空格也作为字符考虑。保证两个字符串的长度小于或等于 5000。 …...
VUE3封装一个Hook
在 Vue 3 中,Composition API 让我们能够封装和复用代码逻辑,尤其是通过 setup 函数进行组件间的复用。为了提高代码的可复用性,我们可以把一些常见的 API 请求和状态管理逻辑封装到一个单独的 hook 中。 以下是一个简单的例子,我…...
【Linux】Linux常见指令(上)
个人主页~ 初识Linux 一、Linux基本命令1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令7、rm指令8、man指令9、cp指令10、mv命令 Linux是一个开源的、稳定的、安全的、灵活的操作系统,Linux下的操作都是通过指令来实现的 一、Linux基本命令 先…...
嵌入式 C 语言:一维数组
目录 一、定义 二、内存布局 三、数组的初始化 3.1. 完全初始化 3.2. 部分初始化 3.3. 不指定大小初始化 四、使用数组 4.1. 访问数组元素 4.1.1. 通过索引访问数组元素 4.1.2. 通过指针访问数组元素 4.2. 遍历数组 4.3. 数组作为函数参数 五、应用场景 5.1. 数据…...
NineData云原生智能数据管理平台新功能发布|2024年12月版
本月发布 7 项更新,其中重点发布 2 项、功能优化 5 项。 重点发布 数据库 Devops - Oracle 非表对象支持可视化创建与管理 Oracle 非表对象,包括视图(View)、包(Package)、存储过程(Procedur…...
iOS - 自旋锁
在 Objective-C 运行时中大量使用自旋锁,主要有以下几个原因: 1. 性能考虑 上下文切换成本 // 自旋锁实现 static ALWAYS_INLINE void OSSpinLockLock(volatile OSSpinLock *lock) {do {while (lock->value ! 0) {__asm__ volatile ("pause&q…...
域名备案页面模板
域名备案模板,首页底下正中央位置需要有备案号。 主要是给不太擅长于前端样式的人提供一个备案模板,直接把这个H5放到nginx的index.html就可以访问了 <html><body><div class"login-container"><h2>登录</h2>&…...
【socketioxide和axum集成-实现websocket实时通信-Rust点滴】
socketioxide的axum集成 启动socketio依靠examle里的layer一. 使用可变State依靠axum里的example二.提取client,IP1. 非代理,tcp,socket对方地址2.代理情况下socket.req_parts. 三. axum的handle中使用emit发送消息.1. io,存入State解决.2.把io存入初始设定作为唯一单例3.http-…...
计算机网络(第8版)第3章--PPP课后习题
【3-09】 一 个PPP 帧的数据部分(用十六进制写出)是7 D 5EFE 277D 5D7D 5D657D 5E。 试问真正的数据是什么(用十六进制写出)? 解答:把由转义符7D开始的2字节序列用下画线标出: 7D 5E FE 27 7D 5D 7D 5D 65 7D 5E 7D 5E应当还原成为7E。 7D5D 应…...
通过Android Studio修改第三方jar包并重新生成jar包
最近接手了来自公司其他同事的一个Unity项目,里面有一个封装的jar包要改动一下,无奈关于这个jar包的原工程文件丢失了,于是自己动手来修改下jar包,并做下记录。 一、导入第三方jar包 1、新建项目EditJarDemo(项目名随便取) 2、新建libs文件夹,把你要修改的third.jar 复制…...
Rabbitmq 业务异常与未手动确认场景及解决方案
消费端消费异常,业务异常 与 未手动确认是不是一个场景,因为执行完业务逻辑,再确认。解决方案就一个,就是重试一定次数,然后加入死信队列。还有就是消费重新放入队列,然后重新投递给其他消费者,…...
3D机器视觉的类型、应用和未来趋势
3D相机正在推动机器视觉市场的增长。很多制造企业开始转向自动化3D料箱拣选,专注于使用3D视觉和人工智能等先进技术来简化操作并减少开支。 预计3D相机将在未来五年内推动全球机器视觉市场,这得益于移动机器人和机器人拣选的强劲增长。到 2028 年&#…...
LabVIEW在反馈控制时如何解决带约束的控制问题
在LabVIEW中,解决带约束的反馈控制问题通常需要使用先进的控制算法或特定的方法来满足约束条件,同时保证控制系统的性能和稳定性。以下是解决这类问题的一些常用方法和步骤: 1. 定义控制问题及约束条件 确定被控对象的动态特性(…...
PHP 在 2025 年的现状与展望
PHP 在 2025 年依然强劲,继续为超过 77% 使用已知服务器端编程语言的网站提供动力。这并非仅仅依靠遗留代码,像 WordPress、Shopify 和 Laravel 这样的主流平台持续推动 PHP 的发展,使其保持着 актуальность 并不断进化。 为什么…...
QT c++ 自定义按钮类 加载图片 美化按钮
如果你有需要利用图片美化按钮的情况,本文能帮助你。 鼠标左键按下按钮和松开,按钮显示不同的图片。 1.按钮类 //因为此类比较简单,1个头文件搞定,没有cpp文件 #ifndef CUSTOMBUTTON_H #define CUSTOMBUTTON_H #include <Q…...
夯实前端基础之HTML篇
知识点概览 HTML部分 1. DOM和BOM有什么区别? DOM(Document Object Model) 当网页被加载时,浏览器会创建页面的对象文档模型,HTML DOM 模型被结构化为对象树 用途: 主要用于网页内容的动态修改和交互&…...
pytest 参数介绍
命令行参数描述常见使用案例-v / --verbose显示每个测试用例的详细信息,包括测试名称和状态pytest -v-s / --captureno禁用输出捕获,允许 print() 输出显示pytest -s-q / --quiet安静模式,减少输出,仅显示每个测试的通过/失败结果…...
蓝桥杯训练
1对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。 例如,如下矩阵中 LANN QIAO有…...
maven的简单介绍
目录 1、maven简介2、maven 的主要特点3、maven的下载与安装4、修改配置文件5、私服(拓展) 1、maven简介 Maven 是一个广泛使用的项目管理和构建工具,主要应用于 Java 项目。Maven 由 Apache 软件基金会开发和维护,它提供了一种简洁且一致的方法来构建、…...
超完整Docker学习记录,Docker常用命令详解
前言 关于国内拉取不到docker镜像的问题,可以利用Github Action将需要的镜像转存到阿里云私有仓库,然后再通过阿里云私有仓库去拉取就可以了。 参考项目地址:使用Github Action将国外的Docker镜像转存到阿里云私有仓库 一、Docker简介 Do…...
Kafka优势剖析-消费者组、并行消费
目录 1. 消费者组(Consumer Group) 1.1 什么是消费者组? 1.2 消费者组的工作原理 1.3 消费者组的优势 2. 并行消费(Parallel Consumption) 2.1 什么是并行消费? 2.2 并行消费的工作原理 2.3 并行消…...
MATLAB语言的多线程编程
MATLAB语言的多线程编程 引言 随着计算机技术的不断发展,尤其是在大数据和高性能计算领域,多线程编程逐渐成为一种重要的编程范式。MATLAB作为一种广泛应用于科学计算和工程模拟的高级编程语言,其强大的数学计算功能和丰富的工具箱…...
强化学习入门
RL学习路径 理解DQN原理 理解 标准版的策略梯度算法(Vanilla Policy Gradient) 模仿学习实践 Actor-Critic原理 从大模型机器人到imitation Learning与diffusion policy、ACT(Action Chunking with Transformers)的关系 大模型与机器人 tmp: 强化学习中的优势函数&#…...
Unity 2d描边基于SpriteRender,高性能的描边解决方案
目标 以Unity默认渲染管线为例,打造不需要图片内边距,描边平滑,高性能的描边解决方案 前言 在2d游戏中经常需要给2d对象添加描边,来突出强调2d对象 当你去网上查找2d描边shader,移植到项目里面,大概率会…...
2025第2周 | JavaScript中的Symbol
目录 1. Symbol是个什么东东?1.1 语法 2. 为什么需要Symbol?3. 怎么使用Symbol?3.1 定义对象字面量3.2 新增对象属性3.3 使用 Object.defineProperty方式3.4 遍历 4. 静态方法4.1 Symbol.for(key)4.2 Symbol.keyFor(symbol) 2025,做想做的事࿰…...
Unity学习之UGUI进阶
一、事件监听接口 1、作用 用于实现类型长按、双击、拖拽等基础控件无法实现的功能 所有控件都能够添加更多的事件监听来处理对应的逻辑 2、事件监听接口类型 (1)常用事件接口 (2)不常用事件接口 3、使用事件监听接口 &#…...
IT面试求职系列主题-Jenkins
想成功求职,必要的IT技能一样不能少,先说说Jenkins的必会知识吧。 1) 什么是Jenkins Jenkins 是一个用 Java 编写的开源持续集成工具。它跟踪版本控制系统,并在发生更改时启动和监视构建系统。 2)Maven、Ant和Jenkins有什么区别…...
Allure 集成 pytest
Allure 是一个强大的测试报告工具,与 pytest 集成可以生成详细的测试报告,包括测试步骤、测试数据、截图、错误堆栈等。 1. 安装 Allure 和相关依赖 安装 pytest-allure-adaptor 插件: pip install allure-pytest确保本地已安装 Allure 工具。…...
Redis高频知识点
Redis 目录 1 Redis是AP的还是CP的?2 介绍一下Redis的集群方案?3 什么是Redis的数据分片?4 Redis为什么这么快?5 Redis 的事务机制是怎样的?7 Redis的持久化机制是怎样的?8 Redis 的过期策略是怎么样的&a…...
【电子通识】PWM驱动让有刷直流电机恒流工作
电机的典型驱动方法包括电压驱动、电流驱动以及PWM驱动。本文将介绍采用PWM驱动方式的恒流工作。 首先介绍的是什么是PWM驱动的电机恒流工作,其次是PWM驱动电机恒流工作时电路的工作原理。 PWM驱动 当以恒定的电流驱动电机时,电机会怎样工作呢࿱…...
PyMysql 02|(包含项目实战)数据库工具类封装
目录 七、数据库工具类封装 1、封装的目的 2、设计数据库工具类 3、实现类方法 1️⃣获取、关闭连接 2️⃣查询一条记录 3️⃣增删改数据 4️⃣完整封装代码实现 七、数据库工具类封装 1、封装的目的 将常用的数据库操作,封装到一个方法。 后续再操作数据…...
Pixel 6a手机提示无法连接移动网络,打电话失败!
1、开启VoLTE 2、如果没有,下载shizuku和PixelIMS应用。 shizuke Releases RikkaApps/Shizuku GitHub PixellMS Release v1.2.8 kyujin-cho/pixel-volte-patch GitHub 3、安装shizuke启动,开通root可以直接点击下面的启动,如果没有就…...
ubuntu20.04 在线安装postgresql 扩展postgis
基础配置 /etc/apt/sources.list # 添加pg官方基础配置deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main# 添加ubuntu官方依赖(防止下载依赖错误)deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse de…...
fitz获取pdf内容
1.获取pdf单页,及所有内容 import fitz # PyMuPDF# 打开 PDF 文件 pdf_path r"/data2/ljsang/0106/0725_Self-organization-of-plasticity-and-specialization-in-a-primi_2022_Cell-Syst.pdfπσΣ╕╖σσ║Θ║∩╝Φ╛τ▒│σ¡τ╛π.pdf" d…...
LabVIEW软件Bug的定义与修改
在LabVIEW软件开发过程中,bug(程序错误或缺陷)指的是程序中导致不符合预期行为的任何问题。Bug可能是由于编码错误、逻辑漏洞、硬件兼容性问题、系统资源限制等因素引起的。它可能会导致程序崩溃、功能无法正常执行或输出结果不符合预期。理解…...
Vue3(elementPlus) el-table替换/隐藏行箭头,点击整行展开
element文档链接: https://element-plus.org/zh-CN/component/form.html 一、el-table表格行展开关闭箭头替换成加减号 注:Vue3在样式中修改箭头图标无效,可能我设置不对,欢迎各位来交流指导 转变思路:隐藏箭头&…...
HTML 音频(Audio)
HTML 音频(Audio) HTML5 引入了新的音频标签 <audio>,使得在网页上嵌入音频文件变得更加简单。在此之前,播放音频通常需要依赖于第三方插件,如 Flash。但随着 HTML5 的普及,浏览器原生支持音频播放,极大地提升了用户体验和网页性能。 基本用法 要使用 HTML5 的音…...
linux音视频采集技术: v4l2
简介 在 Linux 系统中,视频设备的支持和管理离不开 V4L2(Video for Linux 2)。作为 Linux 内核的一部分,V4L2 提供了一套统一的接口,允许开发者与视频设备(如摄像头、视频采集卡等)进行交互。无…...
基于高斯混合模型的数据分析及其延伸应用(具体代码分析)
一、代码分析 (一)清除工作区和命令行窗口 clear; clc;clear;:该命令用于清除 MATLAB 工作区中的所有变量,确保代码运行环境的清洁,避免之前遗留的变量对当前代码运行产生干扰。例如,如果之前运行的代码中…...
内网基础-防火墙-隧道技术
内网对抗-网络通讯篇&防火墙组策略&入站和出站规则&单层双层&C2正反向上线 关闭第一个防火墙: 第一个上线就走反向或者正向 第二个上线走反向(第二个防火墙阻止入站) 关闭第二个防火墙: 第一个上线就走反向&a…...
123.【C语言】数据结构之快速排序挖坑法和前后指针法
目录 1.挖坑法 执行流程 代码 运行结果 可读性好的代码 2.前后指针法(双指针法) 执行流程 单趟排序代码 将单趟排序代码改造后 写法1 简洁的写法 3.思考题 1.挖坑法 执行流程 "挖坑法"顾名思义:要有坑位,一开始将关键值放入临时变量key中,在数组中形成…...
【沉默的羔羊心理学】汉尼拔的“移情”游戏:操纵与理解的艺术,精神分析学视角下的角色互动
终极解读《沉默的羔羊》:弗洛伊德精神分析学视角下的深层剖析 关键词 沉默的羔羊弗洛伊德精神分析学角色心理意识与潜意识性别与身份 弗洛伊德精神分析学简介 弗洛伊德的精神分析学是心理学的一个重要分支,主要关注人类行为背后的无意识动机和冲突。…...
Bytebase 3.0.1 - 可配置在 SQL 编辑器执行 DDL/DML
🚀 新功能 新增环境策略,允许在 SQL 编辑器内直接执行 DDL/DML 语句。 支持为 BigQuery 数据脱敏。 在项目下新增数据访问控制及脱敏管理页面。 在数据库页面,支持回滚到变更历史的某个版本。 🔔 兼容性变更 禁止工单创建…...
从零手写线性回归模型:PyTorch 实现深度学习入门教程
系列文章目录 01-PyTorch新手必看:张量是什么?5 分钟教你快速创建张量! 02-张量运算真简单!PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch?张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器:PyTor…...
git使用指南-实践-搭建git私服
一.创建git私服的核心基础 所谓的git私服,其实就是在一个服务器上创建一个个的git仓库,并且这些仓库允许其在一个网络上被其他用户访问。 创建一个最素的git私服:随便找一台linux服务器,这里假设其ip为192.168.0.6,使…...
Node.js JXcore 打包教程
Node.js JXcore 打包教程 介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。JXcore 是一个流行的 Node.js 发行版,它支持将 Node.js 应用程序打包成单一的可执行文件,使得部署和分发变得更加容易…...