Linux 练习二 LVS的NAT模式
作业
要求:使用LVS的 NAT 模式实现 3 台 RS 的轮询访问。IP地址和主机自己规划。
节点规划
主机 | 角色 | 系统 | 网络 | IP |
---|---|---|---|---|
client | client | redhat 9.5 | 仅主机 | 192.168.60.100/24 |
lvs | lvs | redhat 9.5 | 仅主机 NAT | 192.168.60.200/24 VIP 192.168.23.8/24 DIP |
nginx | rs1 | redhat 9.5 | NAT | 192.168.23.7/24 |
nginx | rs2 | redhat 9.5 | NAT | 192.168.23.17/24 |
nginx | rs3 | redhat 9.5 | NAT | 192.168.23.27/24 |
配置RS
RS需要配置为NAT模式,网关这里设置为 192.168.23.8
配置 RS1
[root@localhost ~]# hostnamectl hostname rs1[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.23.7/24 ipv4.gateway 192.168.23.8 connection.autoconnect yes[root@localhost ~]# nmcli c up ens160# 安装nginx[root@rs1 ~]# dnf install nginx -y# 修改默认访问页[root@rs1 ~]# echo $(hostname -I) > /usr/share/nginx/html/index.html# 启动服务[root@rs1 ~]# systemctl start nginx# 测试[root@rs1 ~]# curl localhost192.168.72.7
配置 RS2
[root@localhost ~]# hostnamectl hostname rs2
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.23.17/24 ipv4.gateway 192.168.23.8 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160# 安装nginx
[root@rs1 ~]# dnf install nginx -y
# 修改默认访问页
[root@rs1 ~]# echo $(hostname -I) > /usr/share/nginx/html/index.html
# 启动服务
[root@rs1 ~]# systemctl start nginx
# 测试
[root@rs1 ~]# curl localhost
192.168.72.7
配置 RS3
[root@server ~]# hostnamectl hostname rs3[root@server ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.23.27/24 ipv4.gateway 192.168.23.8 connection.autoconnect yes [root@server ~]# nmcli connection up ens160 ### 安装nginx[root@rs3 ~]# dnf install -y nginx# 修改默认访问页[root@rs3 ~]# echo &(hostname -I) > /usr/share/nginx/html/index.html [1] 2339[1]+ Done echo[root@rs3 ~]# systemctl start nginx[root@rs3 ~]# curl localhost192.168.23.27
配置 LVS
修改虚拟网络
LVS 服务器第一块网卡采用仅主机模式,IP 地址为 192.168.60.200,第二块网卡采用 NAT 模式,IP 地址为 192.168.23.8。
这里我们先在VMware中将 网络适配器 改为仅主机模式,然后再添加一块 NAT 模式的网卡。
[root@server ~]# hostnamectl hostname lvs### 关闭防火墙[root@lvs ~]# systemctl stop firewalld.service[root@lvs ~]# ip a1: ...2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:96:88:aa brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.60.128/24 brd 192.168.60.255 scope global dynamic noprefixroute ens160valid_lft 1755sec preferred_lft 1755secinet6 fe80::20c:29ff:fe96:88aa/64 scope link noprefixroute valid_lft forever preferred_lft forever3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:96:88:b4 brd ff:ff:ff:ff:ff:ffaltname enp19s0inet 192.168.23.138/24 brd 192.168.23.255 scope global dynamic noprefixroute ens224valid_lft 1755sec preferred_lft 1755secinet6 fe80::e817:bd6f:df08:c607/64 scope link noprefixroute valid_lft forever preferred_lft forever# 查看网络连接设备名称,注意网卡名称和驱动名称是不一样的[root@lvs ~]# nmcli connection showNAME UUID TYPE DEVICE ens160 c1ddb566-f74f-3685-bcac-678da8f58efa ethernet ens160 lo d2977d80-8552-47ec-95dd-a87b7809be47 loopback lo Wired connection 1 bfbd3c56-329a-38c2-89c1-bb9b514232a3 ethernet ens224 # 修改连接名称,以免每次都要输入'Wired connection 1'[root@lvs ~]# nmcli c modify 'Wired connection 1' connection.id ens224[root@lvs ~]# nmcli connection showNAME UUID TYPE DEVICE ens160 c1ddb566-f74f-3685-bcac-678da8f58efa ethernet ens160 ens224 bfbd3c56-329a-38c2-89c1-bb9b514232a3 ethernet ens224 lo d2977d80-8552-47ec-95dd-a87b7809be47 loopback lo# 查看修改结果[root@lvs ~]# nmcli connection showNAME UUID TYPE DEVICE ens160 c1ddb566-f74f-3685-bcac-678da8f58efa ethernet ens160 ens224 bfbd3c56-329a-38c2-89c1-bb9b514232a3 ethernet ens224 lo d2977d80-8552-47ec-95dd-a87b7809be47 loopback lo
软件安装
防止等会不能上外网,先把 ipvsamd 软件安装好。
[root@lvs ~]# dnf install ipvsadm -yUpdating Subscription Management repositories.Unable to read consumer identityDependencies resolved.=======================================================================================Package Architecture Version Repository Size=======================================================================================Installing:ipvsadm x86_64 1.31-6.el9 AppStream 54 kTransaction Summary=======================================================================================... Complete!
配置网卡
从 VMware 的 编辑 -> 虚拟网络适配器 选项中可以看到自己仅主机模式的子网IP,这里我的子网IP 为 192.168.60.0
# 仅主机模式网卡[root@lvs ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.60.200/24 ipv4.gateway 192.168.60.2 ipv4.dns 223.5.5.5 connection.autoconnect yes[root@lvs ~]# nmcli c up ens160# NAT 模式网卡[root@lvs ~]# nmcli c modify ens224 ipv4.method manual ipv4.addresses 192.168.23.8/24 ipv4.gateway 192.168.23.2 connection.autoconnect yes[root@lvs ~]# nmcli c up ens224 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
配置客户端
客户端的网络也采用仅主机模式,采用 60 网段
[root@server ~]# hostnamectl hostname client[root@client ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.60.100/24 ipv4.gateway 192.168.60.2 ipv4.dns 223.5.5.5 connection.autoconnect yes[root@client ~]# nmcli c up ens160
启动服务
# 直接启动服务会报错[root@lvs ~]# systemctl start ipvsadm.service Job for ipvsadm.service failed because the control process exited with error code.See "systemctl status ipvsadm.service" and "journalctl -xeu ipvsadm.service" for details.# 需要保存当前的 IPVS 规则[root@lvs ~]# ipvsadm-save > /etc/sysconfig/ipvsadm[root@lvs ~]# systemctl start ipvsadm.service
规则匹配
# 此时客户端无法访问虚拟IP(VIP),既无法访问到后端 RS 服务器[root@client ~]# curl 192.168.60.200curl: (7) Failed to connect to 192.168.60.200 port 80: Connection refused# 但是在 LVS 服务器中可以访问到后端 RS 服务器[root@lvs ~]# curl 192.168.23.7192.168.23.7[root@lvs ~]# curl 192.168.23.17192.168.23.17[root@lvs ~]# curl 192.168.23.27192.168.23.27### 进行 LVS 规则匹配## 配置一条规则# -A 表示添加新的虚拟服务 -t 指定使用TCP连接(默认) 后面为当前 VIP 及端口 # -s rr 指定 负载均衡算法,rr 表示轮询,即轮流发送到所有真实服务器RS[root@lvs ~]# ipvsadm -A -t 192.168.60.200:80 -s rr## 添加规则# -a 为存在的虚拟服务添加真实服务器RS -t 指定真实服务器RS的IP地址和端口 # -m 指定以 直接路由模式使用,表示LVS通过NAT转发流量到真正的服务 # -w 设置权重,表示该RS的负载均衡权重,用于 轮询策略 [root@lvs ~]# ipvsadm -a -t 192.168.60.200:80 -r 192.168.23.7:80 -m -w 1[root@lvs ~]# ipvsadm -a -t 192.168.60.200:80 -r 192.168.23.17:80 -m -w 2[root@lvs ~]# ipvsadm -a -t 192.168.60.200:80 -r 192.168.23.27:80 -m -w 3## 查看规则列表[root@lvs ~]# ipvsadm -LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.60.200:80 rr-> 192.168.23.7:80 Masq 1 0 0 -> 192.168.23.17:80 Masq 2 0 0 -> 192.168.23.27:80 Masq 3 0 0# 配置好后重启服务[root@lvs ~]# systemctl restart ipvsadm.service
功能测试
# 重启完成后再次通过客户端测试,发现不报错但是没有数据返回[root@client ~]# curl 192.168.60.200### 启用IP转发,即启用 IPv4 的 IP 转发功能(1启用,0禁用)# 将内核转发参数写进配置文件,重启后也能保持配置[root@lvs ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # 重新加载配置[root@lvs ~]# sysctl -pnet.ipv4.ip_forward = 1### 此时再进行访问,成功轮询[root@client ~]# curl 192.168.60.200192.168.23.7[root@client ~]# curl 192.168.60.200192.168.23.27 [root@client ~]# curl 192.168.60.200192.168.23.17[root@client ~]# curl 192.168.60.200192.168.23.7[root@client ~]# curl 192.168.60.200192.168.23.27 [root@client ~]# curl 192.168.60.200192.168.23.17
IP 转发的作用
启用 IP 转发允许 Linux 主机在两个或多个网络之间转发数据包。这对于以下场景至关重要:
-
路由器:使得 Linux 服务器可以作为路由器,转发数据包。
-
负载均衡器:在 LVS 等负载均衡配置中,能够将客户端请求分发到后端真实服务器。
-
网络安全:通常在 NAT(网络地址转换)场景中,需要 IP 转发来处理流量。
相关文章:
Linux 练习二 LVS的NAT模式
作业 要求:使用LVS的 NAT 模式实现 3 台 RS 的轮询访问。IP地址和主机自己规划。 节点规划 主机角色系统网络IPclientclientredhat 9.5仅主机192.168.60.100/24lvslvsredhat 9.5仅主机 NAT192.168.60.200/24 VIP 192.168.23.8/24 DIPnginxrs1redhat 9.5NAT192.16…...
以科技赋能,炫我云渲染受邀参加中关村文化科技融合影视精品创作研讨会!
在文化与科技深度融合的时代浪潮下,影视创作行业经历着前所未有的变革。影视创作行业发展态势迅猛, 同时也面临着诸多挑战。为促进影视创作行业的创新发展,加强业内交流与合作, 3月25日下午,海淀区文化创意产业协会举办…...
Matlab2024a免费版下载教程
Matlab是一个高性能的数学计算与仿真软件,广泛应用于科学计算、数据分析、算法开发以及工程绘图等多个领域。它提供了强大的矩阵运算能力、丰富的内置函数库以及灵活的编程环境,使得用户能够高效地解决复杂的数学问题。本文,我将为大家详细介…...
人工智能:officeAI软件,如何调整AI对话界面的字体?
1、首先,随便打开一个excel(使用wps) 依次点击上方的【OfficeAI】—【右侧面板】 2、在弹出的面板中,输入:助手设置 , 然后按【回车】发送出去 3、之后会弹出界面,在【样式设定】中ÿ…...
ARCGIS PRO SDK VB2022 图层要素类类型判断
arcgis pro 常见要素类类型有以下几种: FeatureLayer ——要素图层(矢量数据) RasterLayer ——栅格图层 MapImageLayer ——地图图像图层 VectorTileLayer ——矢量切片图层 SceneLayer …...
一种监控录像视频恢复的高效解决方案,从每一帧中寻找可能性
该软件旨在恢复从监控设备中删除或丢失的视频。该程序经过调整以处理大多数流行供应商的闭路电视系统中使用的专有格式,并通过智能重建引擎进行了增强,能够为监控记录提供任何通用解决方案都无法实现的恢复结果。如果不需要持续使用该软件,则…...
windows安装JDK并配置环境变量
一、JDK安装 1.控制面板-程序有的话,先卸载 2.双击安装 3.下一步 4.选择安装路径 5.下一步,等着安装完成 6.校验安装是否成功,winr,输入“cmd” 疑问:安装17,显示21?? 二、环境变量 1.计算机…...
Web3.0合约安全:重入攻击防御方案
本文深度剖析智能合约重入攻击的13种新型变种及其防御体系,结合EIP-6780标准与Layer2安全方案,系统性阐述从代码层到协议层的立体防护策略。通过解析Uniswap、Compound等顶级项目的安全实践,揭示如何构建零重入风险的智能合约架构。 第一章 重…...
一文详解QT环境搭建:ubuntu20.4安装配置Qt5
随着软件开发技术的不断进步,跨平台应用程序的需求日益增长,开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架,在这方面提供了卓越的支持,不仅简化了GUI应用程序的创建过程&#…...
Android开发: Java文件中操作基础UI组件
Android Java文件中基础UI组件操作指南 一、常用UI组件基本操作 1. TextView文本控件 TextView textView findViewById(R.id.textView);// 设置文本内容 textView.setText("欢迎使用Android");// 设置文本颜色 textView.setTextColor(Color.BLUE); // 使用Color…...
监控易一体化运维:监控易机房管理,打造高效智能机房
在数字化浪潮中,企业对数据中心和机房的依赖程度与日俱增,机房的稳定运行成为业务持续开展的关键支撑。信息化的变迁,见证了机房管理从传统模式向智能化、精细化转变的过程。今天,就为大家深度剖析监控易在机房管理方面的卓越表现…...
Vue3当中el-tree树形控件使用
tree悬停tooltip效果 文本过长超出展示省略号 如果文本超出悬停显示tooltip效果 反之不显示 这里直接控制固定宽度限制 试了监听宽度没效果<template><el-treeshow-checkbox:check-strictly"true":data"data"node-key"id":props"…...
vs 2022安装指南
一、前言 Visual Studio 2022(以下简称 VS 2022)是微软推出的一款功能强大的集成开发环境(IDE),它支持多种编程语言,如 C#、C、Python 等,广泛应用于桌面应用、Web 应用、移动应用以及游戏开发…...
【数学建模】(启发式算法)蚁群算法(Ant Colony Optimization)的详解与应用
蚁群算法(Ant Colony Optimization)详解与应用 文章目录 蚁群算法(Ant Colony Optimization)详解与应用前言1. 蚁群算法的生物学基础2. 蚁群算法的基本原理2.1 算法框架2.2 状态转移规则2.3 信息素更新规则 3. 蚁群算法的实现4. 蚁群算法的改进4.1 MAX-MIN蚁群系统(MMAS)4.2 精…...
03-SpringBoot3入门-配置文件(自定义配置及读取)
1、自定义配置 # 自定义配置 zbj:user:username: rootpassword: 123456# 自定义集合gfs:- a- b- c2、读取 1)User类 package com.sgu.pojo;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.spring…...
Sentinel[超详细讲解]-2
异常处理 默认情况下,Sentinel 会抛出 BlockException 异常,如果希望自定义异常,则可以使用 SentinelResource 注解的 blockHandler 属性。 1、自定义异常处理 BlockExceptionHandler 自定义异常处理类实现 BlockExceptionHandler 接口&#…...
API 请求需要证书认证? 如何在 Postman 中正确配置和使用?
本文来介绍 Postman 提供的管理证书功能如何配置,要了解更多相关的知识,可访问 Postman 证书 模块。 管理客户端证书,点击对应的按钮,首先选择 SETTINGS ,然后选择 Certificate 选项卡,如图所示࿱…...
NG-ZORRO中tree组件的getCheckedNodeList怎么使用
在 NG-ZORRO(Ant Design for Angular) 的 Tree 组件 中,getCheckedNodeList 方法用于获取当前选中的节点列表(包括半选状态节点)。以下是具体用法和示例: 基本用法 首先,确保你已通过 ViewChil…...
对于有前后逻辑依赖关系的长文本,切分时确实需要特别注意上下文的连续性,以便在召回后知识时能够尽量保留前后文的关联。
对于有前后逻辑依赖关系的长文本,切分时确实需要特别注意上下文的连续性,以便在召回后知识时能够尽量保留前后文的关联。以下是你提到的三种切分方案的分析,以及如何在实践中选择和优化: 1. 滑动窗口切分 原理:通过一…...
关于ArcGIS中加载影像数据,符号系统中渲染参数的解析
今天遇到一个很有意思的问题,故记录下来,以作参考和后续的研究。欢迎随时沟通交流。如果表达错误或误导,请各位指正。 正文 当我们拿到一幅成果影像数据的时候,在不同的GIS软件中会有不同效果呈现,但这其实是影像是…...
图解AUTOSAR_SWS_FlashTest
AUTOSAR Flash Test 模块解析文档 AUTOSAR 经典平台内存硬件抽象层模块详解 目录 1. 概述 1.1 Flash Test 模块简介1.2 模块作用和定位2. 架构设计 2.1 整体架构2.2 状态机设计3. 执行流程 3.1 后台测试序列3.2 前台测试序列4. 配置结构 4.1 模块配置详解5. 总结1. 概述 1.1 F…...
Ubuntu 使用终端手动连接无线网络(wlan0)完整流程 + 故障排查记录
在某些场景下(如 Ubuntu GUI 网络管理器不可用、使用轻量级桌面环境、或远程配置 Jetson Nano 等嵌入式设备),我们可能需要通过终端命令手动连接无线网络。本文记录一次真实的操作流程和排查过程,供自己和有需要的小伙伴参考。 &a…...
BNB Chain 何以打造 AI 驱动链上应用新世界?
人工智能正在加速改变 Web3 行业的现状面貌。最初 AI 代理起源于机器人技术和机器学习,它们通过自主系统调适,根据数据和环境做出相应技术决策支持、解决项目运行难题并执行相关任务。到了 Web3 世界,AI 代理开始融入 DAO、预测分析和自动交易…...
C 语言常用关键字详解:static、const、volatile
C 语言常用关键字详解:static、const、volatile 文章目录 C 语言常用关键字详解:static、const、volatile1. static 关键字1.1 用于局部变量示例: 1.2 用于全局变量示例: 1.3 用于函数示例: 2. const 关键字2.1 用于局…...
剑指Offer35- - 链表
1. 题目描述 这题题意感觉说的不是很清楚,容易让人产生歧义!其实题意很简单,给你一个链表 head,你深拷贝它,然后返回即可,注意不能修改原链表 /* // Definition for a Node. class Node { public:int val;N…...
open-cv的安装
python -m pip install numpy matplotlib opencv-python 【记得科学上网,不然太慢了】...
【ESP32】VSCode配置ESP-IDF问题及解决方法
报错:“D:\Espressif\tools\idf-python\3.11.2\python.exe -m pip” is not valid. (ERROR_INVALID_PIP) 当遇到错误 “d:\espressif\tools\idf-python\3.11.2\python.exe -m pip” is not valid. (error_invalid_pip) 时,通常是由于 pip 版本不兼容或未…...
分布式渲染与云渲染:技术与应用的黄金搭档
一、核心概念:先区分再关联 分布式渲染是通过多台设备并行计算拆分渲染任务的技术(如将一帧拆分为 64 个小块,64 台电脑同时渲染); 云渲染是基于云计算的渲染服务,本质是分布式渲染的商业化落地—— 用户无…...
创作者会被AI取代吗?AIGC为电影行业带来新变革
在人工智能(AI)技术日新月异的今天,创作领域正经历着一场前所未有的变革。AIGC(AI生成内容)技术的崛起,让机器能够像人类一样进行创作,这不仅引发了“创作者是否会被AI取代”的热烈讨论…...
界面控件Telerik和Kendo UI 2025 Q1亮点——AI集成与数据可视化
Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Kendo…...
西门子s7协议
目录 西门子s7协议 西门子PLC数据类型 PLC中类型与C#对应类型 特殊说明: S7协议帧结构 示例代码(C#访问PLC数据): 上位机和西门子PLC的通讯 西门子PLC的存储区 S7协议通讯网络模型 S7协议栈基于ISO/OSI模型,…...
面向对象——开闭原则(Open-Closed Principle, OCP)
开闭原则(Open-Closed Principle, OCP) 是面向对象设计中的重要原则之一,它的核心思想是: 对扩展开放(Open for extension):软件实体(类、模块、函数等)应该可以扩展&am…...
线程同步——读写锁
Linux——线程同步 读写锁 目录 一、基本概念 1.1 读写锁的基本概念 1.2 读写锁的优点 1.3 读写锁的实现 1.4 代码实现 一、基本概念 线程同步中的读写锁(Read-Write Lock),也常被称为共享-独占锁(Shared-Exclusive Lock&a…...
0.雷达信号
雷达信号 目录 1 常规脉冲信号 1 2 相位编码信号 2 3 线性调频信号 4 4 非线性调频信号 6 4.1 S型非线性调频信号 6 4.2 正弦调频信号 9 4.3 正切调频信号 10 5 噪声调幅干扰信号 11 6 噪声调频干扰信号 13 7 噪声调相干扰信号 15 1 常规脉冲信号 2 相位编码信号 …...
游戏引擎学习第189天
今天的回顾与计划 在昨天,我们花了一些时间来优化调试数据的收集方法,并且在调试界面中增加了一些界面代码,使得我们可以悬停在不同的元素上,查看相关信息。今天的任务是对这些数据进行更多的操作,进行一些有趣的实验…...
web3包含哪些关键技术栈,一些成功使用场景的分享
Web3的技术栈及其应用场景可归纳为以下六个核心模块,各模块均通过不同技术组合实现去中心化生态的构建: 一、关键技术栈及对应场景 区块链与共识机制 技术实现:以太坊、波场TRON等公链底层,结合PoW(工作量证明&am…...
uvm factory
UVM Factory 是验证环境中实现动态对象和组件创建的核心机制,它通过类型注册和覆盖(Override)机制,允许在不修改原有代码的情况下替换组件或事务类型,从而提升验证环境的灵活性和可重用性。以下是Factory机制的详细解析…...
MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
出现“com.docker.vmnetd”将对您的电脑造成伤害的提示,通常是由于文件签名问题导致 macOS 的安全系统误判 Docker 为恶意软件。以下是解决方法: 停止相关服务并删除文件 运行以下命令停止相关服务并删除有问题的文件 停止 Docker 服务 sudo pkill ‘…...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例7,TableView16_07 列拖拽排序示例
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例7,TableView16_07 列…...
爬虫的第三天——爬动态网页
一、基本概念 动态网页是指网页内容可以根据用户的操作或者预设条件而实时发生变化的网页。 特点: 用户交互:动态网页能够根据用户的请求而生成不同的内容。内容动态生成:数据来自数据库、API或用户输入。客户端动态渲染:浏览器…...
AI Agent 开发与传统后端开发区别?
AI Agent 开发与传统后端开发在目标、技术栈、设计模式和协作流程上存在显著差异。以下是详细对比: 一、核心目标不同 维度AI Agent 开发传统后端开发主要目标模拟人类决策、执行复杂任务处理业务逻辑、管理数据流用户交互主动感知环境、自主决策(如对话…...
python 将mkv格式视频转换成mp4格式
在Python中,可以使用moviepy库来将MKV格式的视频转换成MP4格式。moviepy是一个用于视频编辑的强大库,支持多种视频格式的处理。 from moviepy.editor import VideoFileClipdef convert_mkv_to_mp4(mkv_file_path, mp4_file_path):try:video VideoFileC…...
【入门初级篇】报表基础操作与功能介绍
【入门初级篇】报表的基本操作与功能介绍 视频要点 (1)报表组件的创建 (2)指标组件的使用:一级、二级指标操作演示 (3)表格属性设置介绍 (4)图表属性设置介绍 ࿰…...
单例模式在Python中的实现和应用
单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。它的应用场景非常广泛,比如配置管理、日志记录、线程池等领域。让我们一起深入了解一下Python中如何实现单例模式吧! 单例模式的基本概念 单例…...
HarmonyOS-ArkUI Navigation (导航组件)-第一部分
导航组件主要实现页面间以及组件内部的界面跳转,支持在不同的组件间进行参数的传递,提供灵活的跳转栈操作,从而便捷的实现对不同页面的访问和复用。 我们之前学习过Tabs组件,这个组件里面也有支持跳转的方式,Navigati…...
技术速递|为 .NET 的 AI 评估解锁新的可能性
作者:Wendy Breiding 排版:Alan Wang Microsoft.Extensions.AI.Evaluations 库旨在简化将 AI 评估流程集成到应用程序中的过程。它提供了一个强大的框架,用于评估您的 AI 应用程序并自动化评估其性能。 去年11月,我们发布了该库的…...
android studio调试aosp手机userdebug版本无法查看局部变量和参数问题如何解决?
背景: 平常系统开发过程中,经常需要对一些代码进行相关追踪,这个时候很多同学会使用马哥课程讲解的android studio直接进行调试的方法,但是近期有学员朋友在群里反馈它在调试过程中无法看到方法参数的值,局部变量值&a…...
【OCR】技术
OCR图像识别 一、OCR是什么二、Python中如何实现OCR1.简单应用 三、OCR的核心步骤1.图像预处理(提高识别准确率)2.文字识别3.输出结果 四、OCR到的应用场景五、注意事项六、扩展学习 此贴用来更新在工作中遇到的一些图片解析内容 一、OCR是什么 …...
数据库同步中间件PanguSync:如何跳过初始数据直接进行增量同步
某些用户在使用数据库同步中间件PanguSync时说,我不想进行初次的全量同步,我已经源备份还原到目标库了,两边初始数据一样,想跳过初始数据,直接进行增量同步,该怎么设置。 直接上干货,按如下步骤…...
ICLR 2025|华科OVTR:首次实现端到端开放词汇多目标跟踪,刷新性能SOTA!
OVTR 是一种新型的多目标跟踪(MOT)方法,它由华中科技大学的团队提出,并发表于 ICLR 2025。该方法不仅速度快、适应性强,还能在开放词汇场景下实现零样本跟踪。本文将从背景、创新点到实验细节,全面介绍 OVT…...