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

【计算机网络】课程 实验三 跨交换机实现 VLAN 间路由

实验 3 跨交换机实现 VLAN 间路由

一、实验目的

1.理解跨交换机之间VLAN的特点。

2.掌握如何在交换机上划分基于端口的VLAN,给VLAN内添加端口。

3.利用三层交换机跨交换机实现 VLAN 间路由。

二、实验分析与设计

【背景描述】

        为减小广播包对网络的影响,网络管理员在公司内部网络中进行了 VLAN 的划分,为了实现不同 VLAN 间的互相访问,网络管理员利用三层交换机实现 VLAN 间路由。但是由于网络中主机数量较大,部分主机需要通过二层交换机接入到网络中,再利用三层交换机的路由功能实现和其他 VLAN 间路由。

【需求分析】

        在二层交换机上划分 VLAN 配置 Trunk 实现不同 VLAN 的主机接入,在三层交换机上划分VLAN 配置 Trunk 并配置 SVI 接口实现不同 VLAN 间路由。

【实验原理】

        在二层交换机上划分 VLAN 可实现不同 VLAN 的主机接入,而 VLAN 间的主机通信为不同网段间的通信,需要通过三层设备对数据进行路由转发才可以实现,通过在三层交换机上为各 VLAN 配置 SVI 接口,利用三层交换机的路由功能可以实现 VLAN 间的路由。

【实验拓扑】

【实验设备】

三层交换机 1台、二层交换机2台,PC机 2台

三、实验内容与步骤

实验预览:

  1. 创建VLAN:在SW1上创建VLAN 10和VLAN 20。
  2. 配置IP地址:为VLAN 10和VLAN 20配置IP地址。
  3. 配置Trunk:在SW1上配置GigabitEthernet 0/23和0/24端口为Trunk模式。
  4. SW2配置:在SW2上创建VLAN 10,并将端口1划分到VLAN 10,配置端口24为Trunk。
  5. SW3配置:在SW3上创建VLAN 20,并将端口2划分到VLAN 20,配置端口24为Trunk。
  6. PC配置:为PC1和PC2配置IP地址、子网掩码和网关。
  7. 验证测试:从PC1 ping PC2验证VLAN间的路由是否成功。

实验中使用的关键命令整理:

在SW1上创建VLAN并配置IP地址

SW1(config)# vlan 10
SW1(config-vlan)# vlan 20
SW1(config-vlan)# exitSW1(config)# interface vlan 10
SW1(config-if)# ip address 192.168.10.1 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exitSW1(config)# interface vlan 20
SW1(config-if)# ip address 192.168.20.1 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exit

在SW1上配置Trunk端口

SW1(config)# interface gigabitEthernet 0/23
SW1(config-if)# switchport mode trunk
SW1(config-if)# exitSW1(config)# interface gigabitEthernet 0/24
SW1(config-if)# switchport mode trunk
SW1(config-if)# exit

在SW2上创建VLAN并配置端口

SW2(config)# vlan 10
SW2(config-vlan)# exitSW2(config)# interface fastEthernet 0/1
SW2(config-if)# switchport access vlan 10
SW2(config-if)# exitSW2(config)# interface fastEthernet 0/23
SW2(config-if)# switchport mode trunk
SW2(config-if)# exit

在SW3上创建VLAN并配置端口

SW3(config)# vlan 20
SW3(config-vlan)# exitSW3(config)# interface fastEthernet 0/2
SW3(config-if)# switchport access vlan 20
SW3(config-if)# exitSW3(config)# interface fastEthernet 0/24
SW3(config-if)# switchport mode trunk
SW3(config-if)# exit

在PC1和PC2上配置网卡

  • PC1配置

    • IP地址:192.168.10.2
    • 子网掩码:255.255.255.0
    • 网关:192.168.10.1
  • PC2配置

    • IP地址:192.168.20.2
    • 子网掩码:255.255.255.0
    • 网关:192.168.20.1

        这些命令涵盖了实验中所有关键的配置步骤,包括VLAN的创建、端口的配置、Trunk的设置以及PC的网络配置。

1.在 SW1 中创建 VLAN。

SW1(config)#vlan 10

SW1(config-vlan)#vlan 20

SW1(config-vlan)#exit

2.在 SW1 上给 VLAN 配置 IP 地址。

SW1(config)#interface vlan 10

SW1(config-if)#ip address 192.168.10.1 255.255.255.0

SW1(config-if)#no shutdown

SW1(config-if)#exit

SW1(config)#interface vlan 20

SW1(config-if)#ip address 192.168.20.1 255.255.255.0

SW1(config-if)#no shutdown

SW1(config-if)#exit

3.SW1 上配置 Trunk。(交换机之间级联的端口需要配置为 Trunk)

SW1(config)#interface gigabitEthernet 0/23

SW1(config-if)#switchport mode trunk

SW1(config-if)#exit

SW1(config)#interface gigabitEthernet 0/24

SW1(config-if)#switchport mode trunk

SW1(config-if)#exit

4.在 SW2 上创建相应的 VLAN,并将端口1划分到 VLAN。

SW2(config)#vlan 10

SW2(config-vlan)#exit

SW2(config)#interface fastEthernet 0/1

SW2(config-if)#switchport access vlan 10

SW2(config-if)#exit

5.在 SW2 配置端口24为Trunk端口。(交换机之间级联的端口需要配置为 Trunk)

SW2(config)#interface fastEthernet 0/23

SW2(config-if)#switchport mode trunk

SW2(config-if)#exit

6.在 SW3 上创建相应的 VLAN,并将端口2划分到 VLAN。

SW3(config)#vlan 20

SW3(config-vlan)#exit

SW3(config)#interface fastEthernet 0/2

SW3(config-if)#switchport access vlan 20

SW3(config-if)#exit

7.在SW3 上配置端口24为Trunk端口。(交换机之间级联的端口需要配置为 Trunk)

SW3(config)#interface fastEthernet 0/24

SW3(config-if)#switchport mode trunk

SW3(config-if)#exit

8.在 PC1上配置网卡:

IP地址:192.168.10.2 ;子网掩码:255.255.255.0;网关:192.168.10.1

9.在 PC2上配置网卡:

IP地址:192.168.20.2; 子网掩码:255.255.255.0;网关:192.168.20.1

10.验证测试。

按照拓扑配置 PC 并且连线,从 VLAN10 中的 PC1 ping VLAN20 中的 PC2:

C:\Documents and Settings\shil>ping 192.168.20.2

Pinging 192.168.20.2 with 32 bytes of data:

Reply from 192.168.20.2: bytes=32 time<1ms TTL=64

Reply from 192.168.20.2: bytes=32 time<1ms TTL=64

Reply from 192.168.20.2: bytes=32 time<1ms TTL=64

Reply from 192.168.20.2: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.20.2:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

        从上述测试结果可以看到,通过接入层交换机上的 VLAN 划分和三层交换机的 SVI 配置,不同 VLAN 中的主机可以互相通信。

四、实验总结

        在本次实验中,我们小组深入理解了跨交换机之间VLAN的特点,并掌握了如何在交换机上划分基于端口的VLAN以及给VLAN内添加端口的关键技能。通过利用三层交换机,我们成功实现了VLAN间的路由,这对于减小广播包对网络的影响具有重要意义。

        实验开始时,我们首先在SW1三层交换机上创建了VLAN 10和VLAN 20,并为这两个VLAN配置了IP地址。接着,我们为SW1上的GigabitEthernet 0/23和0/24端口配置了Trunk模式,以便它们能够转发来自不同VLAN的流量。这一步是实现VLAN间路由的关键,因为它允许不同VLAN的数据包通过交换机之间的链路传输。

        随后,我们在SW2和SW3二层交换机上分别创建了相应的VLAN,并为SW2的端口1和SW3的端口2配置了VLAN。同时,我们也为SW2的端口24和SW3的端口24配置了Trunk模式,以确保它们能够处理来自不同VLAN的流量。

        在PC1和PC2上,我们分别配置了网卡,为它们分配了相应的IP地址、子网掩码和网关。这些配置确保了PC1和PC2能够通过它们各自的VLAN与三层交换机上的SVI接口通信。

        最后,我们进行了验证测试,从VLAN10中的PC1成功ping通了VLAN20中的PC2,测试结果显示数据包传输正常,无丢包现象,时延几乎为零。这一结果验证了通过接入层交换机上的VLAN划分和三层交换机的SVI配置,不同VLAN中的主机确实可以互相通信。

        总结来说,这次实验不仅加深了我们对VLAN和跨交换机路由的理解,还提升了我们的实际操作能力。我们学会了如何在实际网络环境中配置和管理VLAN,以及如何利用三层交换机实现不同VLAN间的路由。这些技能对于我们未来在网络工程领域的工作将是非常宝贵的财富。

相关文章:

【计算机网络】课程 实验三 跨交换机实现 VLAN 间路由

实验 3 跨交换机实现 VLAN 间路由 一、实验目的 1&#xff0e;理解跨交换机之间VLAN的特点。 2&#xff0e;掌握如何在交换机上划分基于端口的VLAN&#xff0c;给VLAN内添加端口。 3&#xff0e;利用三层交换机跨交换机实现 VLAN 间路由。 二、实验分析与设计 【背景描述…...

【74CH192D+4511减法30进制2022年7月7日】

缘由30秒定时器错误帮我看看-大数据-CSDN问答 电路图用到S1倒计时信号控制&#xff0c;S2置数30。从演示可以看到置数&#xff0c;开始&#xff0c;暂停&#xff0c;继续&#xff0c;等于0时清零&#xff0c;并且灯亮&#xff0c;最后断开信号输入完成所有功能。看题主有自己动…...

基于ESP32的桌面小屏幕实战[5]:PCB下单

1. 焊接调试前准备 PCB下单 点击“PCB下单” 检查一下DRC 确认无错误之后&#xff0c;确认下单 然后就会跳转到下面的网页 基本上保持默认选项即可。可以看到“焊盘喷镀”有3个选项。 在选择表面处理工艺时&#xff0c;应综合考虑产品的具体需求、环保法规以及成本等因素。例…...

孤独症儿童寄宿:温馨寄宿,陪伴成长

在社会的各个角落&#xff0c;有一群特殊的孩子&#xff0c;他们生活在自己的世界里&#xff0c;对外界的感知和反应与众不同。他们&#xff0c;就是孤独症&#xff08;自闭症&#xff09;儿童。孤独症&#xff0c;这个看似遥远的名词&#xff0c;却真实地影响着无数家庭&#…...

云备份项目--服务端编写

文章目录 7. 数据管理模块7.1 如何设计7.2 完整的类 8. 热点管理8.1 如何设计8.2 完整的类 9. 业务处理模块9.1 如何设计9.2 完整的类9.3 测试9.3.1 测试展示功能 完整的代码–gitee链接 7. 数据管理模块 TODO: 读写锁&#xff1f;普通锁&#xff1f; 7.1 如何设计 需要管理…...

CSS——2.书写格式一

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!--css书写中&#xff1a;--><!--1.css 由属性名:属性值构成--><!--style"color: red;font-size: 20px;&quo…...

【保姆级】sql注入之堆叠注入

一、堆叠注入的原理 mysql数据库sql语句的默认结束符是以";"号结尾&#xff0c;在执行多条sql语句时就要使用结束符隔 开,而堆叠注入其实就是通过结束符来执行多条sql语句 比如我们在mysql的命令行界面执行一条查询语句,这时语句的结尾必须加上分号结束 select * fr…...

大模型推理加速调研(框架、方法)

大模型推理加速调研&#xff08;框架、方法&#xff09; 大模型推理框架调研总结推理框架TensorRT-LLMllama.cppmnn-llmfastllmmlc-llm 环境搭建&部署推理环境llama.cppfastllmmnn-llmvllm vllm_openai_completions.pylmdeployTensorRT-LLM 大模型加速技术总结模型压缩量化…...

js -音频变音(听不出说话的人是谁)

学习参考来源&#xff1a; https://zhuanlan.zhihu.com/p/634848804 https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API 实际效果&#xff1a; http://www.qingkong.zone/laboratory?typeaudio-confusion 前言 本文内容可结合上面学习参考来源&#xff0c;结合…...

3D Object Detection和6D Pose Estimation有什么异同?

知乎讨论&#xff1a; (99 封私信 / 95 条消息) 3D Object Detection和6D Pose Estimation有什么异同&#xff1f; - 知乎 GPT回答&#xff1a; 3D Object Detection 和 6D Pose Estimation 都是计算机视觉领域的重要任务&#xff0c;广泛应用于机器人、自动驾驶和增强现实…...

NRF24L01模块STM32通信-通信初始化

目录 前言 一、IO口初始化 二、模拟SPI的基础代码 1.一些代码的宏定义 2.起始信号 3.CS,SCK,MOSI操作 4.MISO,IRQ操作 三.中间层代码 1.字节的输入和读取 2.写操作 3.读操作 四.应用层代码 1.24L01的检测 2.在main函数进行简单验证 3.24L01宏定义的代码 总结 前…...

vue Element Ui Upload 上传 点击一个按钮,选择多个文件后直接上传,使用防抖解决多次上传的问题。

问题&#xff1a; 在使用Element Ui Upload 上传文件时&#xff0c;选择多个文件上传时&#xff0c;on-change事件会一个一个返回上传的文件&#xff0c;导致前端不知道什么时候可以拿到全部上传的文件&#xff0c;再一起调后台接口。 解决方法&#xff1a; 上传文件后&…...

算法题(26):最后一个单词的长度

审题&#xff1a; 需要我们返回最后一个单词的长度&#xff0c;并且字符串内只有空格来分割单词 思路&#xff1a; 找到最后一个单词的方法就是从后开始遍历找到第一个非空格的元素&#xff0c;称为pos&#xff08;第一个出现单词的位置&#xff09; 然后再从pos位置开始反向寻…...

Ungoogled Chromium127 编译指南 MacOS 篇(二)- 项目要求

1. 引言 在开始编译 Ungoogled Chromium 之前&#xff0c;我们需要确保系统满足所有必要的硬件和软件要求。由于浏览器编译是一个资源密集型的任务&#xff0c;合适的硬件配置和完整的软件环境至关重要。本文将详细介绍编译 Ungoogled Chromium 所需的各项要求。 2. 硬件要求…...

nginx配置-其他配置

nginx配置-其他配置 server_tokens server_tokens server_token on/off 是 Nginx 配置文件中的一个指令&#xff0c;用于控制 Nginx 服务器在响应 HTTP 请求时是否显示服务器的版本信息。 默认情况下&#xff0c;Nginx 会在响应头中包含服务器的版本号&#xff0c;例如 Serve…...

Springboot使用RabbitMQ实现关闭超时订单的一个简单示例

1.maven中引入rabbitmq的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.application.yml中进行rabbitmq相关配置&#xff1a; # rabbit…...

QT-------------对话框和多窗口程序设计

一、标准对话框 1. QFileDialog 对话框 功能&#xff1a;提供文件选择对话框&#xff0c;方便用户选择文件或目录。 #include <QApplication> #include <QFileDialog> #include <QMessageBox>int main(int argc, char *argv[]) {QApplication app(argc, a…...

信息科技伦理与道德2:研究方法

1 问题描述 1.1 讨论&#xff1f; 请挑一项信息技术&#xff0c;谈一谈为什么认为他是道德的/不道德的&#xff0c;或者根据使用场景才能判断是否道德。判断的依据是什么&#xff08;自身的道德准则&#xff09;&#xff1f;为什么你觉得你的道德准则是合理的&#xff0c;其他…...

Linux(Centos 7.6)命令详解:ls

1.命令作用 列出目录内容(list directory contents) 2.命令语法 Usage: ls [OPTION]... [FILE]... 3.参数详解 OPTION: -l&#xff0c;long list 使用长列表格式-a&#xff0c;all 不忽略.开头的条目&#xff08;打印所有条目&#xff0c;包括.开头的隐藏条目&#xff09…...

深入理解 WebSocket:实时通信的基础

随着互联网技术的不断发展&#xff0c;实时通信逐渐成为现代应用程序中不可或缺的一部分。无论是即时通讯应用、在线游戏、社交平台还是股票交易系统&#xff0c;都需要能够在客户端与服务器之间快速、高效地传输数据。传统的 HTTP 协议虽然简单且广泛应用&#xff0c;但它并不…...

【网络协议】开放式最短路径优先协议OSPF详解(一)

OSPF 是为取代 RIP 而开发的一种无类别的链路状态路由协议&#xff0c;它通过使用区域划分以实现更好的可扩展性。 文章目录 链路状态路由协议OSPF 的工作原理OSPF 数据包类型Dijkstra算法、管理距离与度量值OSPF的管理距离OSPF的度量值 链路状态路由协议的优势拓扑结构路由器O…...

2000-2020年各省地区生产总值数据/各省gdp数据

2000-2020年各省地区生产总值数据/各省gdp数据 1、时间&#xff1a;2000-2020年 2、来源&#xff1a;国家统计局 3、指标&#xff1a;行政区划代码、地区、年份、地区生产总值 4、范围&#xff1a;31省 指标解释&#xff1a;地区生产总值&#xff08;Regional GDP&#xf…...

消息转换器在SpringMVC执行流程

消息转换器的工作机制 内部工作流程 读取&#xff08;Read&#xff09;操作 当接收到一个包含实体内容的HTTP请求时&#xff0c;Spring MVC会根据请求头中的Content-Type属性来确定应该使用哪个HttpMessageConverter来解析请求体。DispatcherServlet会遍历已注册的HttpMessage…...

7. C语言 运算符详解

本章目录: 前言C语言运算符的分类1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 杂项运算符 运算符优先级 前言 在C语言中&#xff0c;运算符是程序中执行各种操作的核心工具&#xff0c;涉及算术运算、逻辑判断、位操作等多个方面。掌握C语言中的各种运…...

一、准备工作(2):部署TensorFlow和Keras

目录 一、确保已安装 Python 和 pip 二、打开命令行界面并执行安装命令 Windows macOS 和 Linux 三、安装过程中的注意事项 创建虚拟环境 激活虚拟环境 在虚拟环境中安装包 四、验证安装 五、常见问题排查 六、下一步 pip install tensorflow keras 是一个用于在计算…...

Rabbitmq Fanout如何保证不重复消费及应用场景

rabbitmq fanout业务场景&#xff0c;一个交换机对应多个队列&#xff0c;不会重复消费吗 在 RabbitMQ 中&#xff0c;使用 Fanout 类型的交换机时&#xff0c;确实可以将一个交换机绑定到多个队列。每当有消息发布到这个交换机时&#xff0c;交换机会把消息广播到所有绑定的队…...

【Linux系列】使用 `nohup` 命令运行 Python 脚本并保存输出日志的详细解析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

基于Python的考研学习系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

多模态大模型文生图和图生文的主要技术

1 图生文 CLIP 该模型架构由图像编码器和文本编码器组成。图像编码器将图像转换为嵌入&#xff08;数字列表&#xff09;&#xff0c;文本编码器将文本转换为嵌入。 这两个编码器在成批的图像-文本对上进行训练&#xff0c;其中文本描述图像。编码器的训练方式如下&#xff1…...

云架构:考量与框架

云架构&#xff1a;考量与框架 引言 在当今的数字化环境中&#xff0c;云计算已成为现代商业运营的基石。一个设计良好的云架构框架为可扩展、安全和弹性的系统奠定了基础。本文将深入探讨云架构的核心要素&#xff0c;讨论重要的考量因素、设计指南&#xff0c;以及最佳实践…...

用uniapp写一个播放视频首页页面代码

效果如下图所示 首页有导航栏&#xff0c;搜索框&#xff0c;和视频列表&#xff0c; 导航栏如下图 搜索框如下图 视频列表如下图 文件目录 视频首页页面代码如下 <template> <view class"video-home"> <!-- 搜索栏 --> <view class…...

开发培训-慧集通(iPaaS)集成平台脚本开发Groovy基础培训视频

‌Groovy‌是一种基于Java虚拟机&#xff08;JVM&#xff09;的敏捷开发语言&#xff0c;结合了Python、Ruby和Smalltalk的许多强大特性。它旨在提高开发者的生产力&#xff0c;通过简洁、熟悉且易于学习的语法&#xff0c;Groovy能够与Java代码无缝集成&#xff0c;并提供强大…...

供需平台信息发布付费查看小程序系统开发方案

供需平台信息发布付费查看小程序系统主要是为了满足个人及企业用户的供需信息发布与匹配需求。 一、目标用户群体 个人用户&#xff1a;寻找兼职工作、二手物品交换、本地服务&#xff08;如家政、维修&#xff09;等。 小微企业&#xff1a;推广产品和服务&#xff0c;寻找合…...

【Qt】如何保证线程安全(以日志写入为例)

前言 在近日学习中发现&#xff0c;如果开发一个单例模式的日志系统&#xff0c;难免会出现多个线程记录日志的情况&#xff0c;这个时候线程可能导致竞争&#xff0c;或者始料未及的情况发生。 通过学习&#xff0c;如果要保证线程安全&#xff0c;要使用互斥锁QMutex&#xf…...

k8s基础(3)—Kubernetes-Deployment

一、 Deployment概述 ‌ Kubernetes Deployment‌是Kubernetes中的一个核心概念&#xff0c;它是一种高级别的控制器&#xff0c;用于管理Pod和ReplicaSet&#xff0c;确保应用程序的高可用性和稳定性。Deployment通过声明式配置来创建和更新Pod和ReplicaSet&#xff0c;从而…...

信息系统管理师试题-人力资源

下列&#xff08; &#xff09;不属于人力资源管理的主要工作内容。 A根据各工作岗位任务的特点和工作要求&#xff0c;预测组织的人力需求 B根据工作需要&#xff0c;选拔出符合组织需要的员工 C对新员工进行工作指导和培训 D为项目团队争取和募集更多资金 答案D 解析&#xf…...

【情感】程序人生之情感关系中的平等意识(如何经营一段长期稳定的关系 沸羊羊舔狗自查表)

【情感】程序人生之情感关系中的平等意识&#xff08;如何经营一段长期稳定的关系 & 沸羊羊舔狗自查表&#xff09; 文章目录 1、情感关系中的平等意识2、如何经营一段长期稳定的关系&#xff08;避免左倾 | 敬畏与担当&#xff09;3、沸羊羊/舔狗自查表&#xff08;避免右…...

pyspark执行group by操作

前情提要 在处理亿级别数据时&#xff0c;常常输入是hive表&#xff0c;因此需要在pypark流程中引入一些场景sql操作&#xff0c;其中group by就是比较常见的操作。 基础步骤 创建SparkSession&#xff1a;通过enableHiveSupport()方法启用Hive支持&#xff0c;确保能够访问…...

小寒时处在二三九,天寒地冻北风吼

今&#xff08;1月5日上午10时33分&#xff09;天迎来了小寒节气&#xff0c;本“人民体验官”推广人民日报官方微博文化产品《小寒来了&#xff01;最冷的时候如何养生防病》&#xff0c;同时科普小寒相关知识。 截图&#xff1a;来源本“人民体验官”推广平台 人民微博告诉我…...

微信小程序校园自助点餐系统实战:从设计到实现

随着移动互联网的发展&#xff0c;越来越多的校园场景开始智能化、自助化。微信小程序凭借其轻量化、便捷性和强大的生态支持&#xff0c;成为了各类校园应用的首选工具之一。今天&#xff0c;我们将通过实际开发一个微信小程序“校园自助点餐系统”来展示如何设计和实现这样一…...

java基础之代理

代理模式&#xff08;Proxy Pattern&#xff09; 简介 是一种结构型设计模式&#xff0c;主要用于为某对象提供一个代理对象&#xff0c;以控制对该对象的访问。通过引入一个代理对象来控制对原对象的访问。代理对象在客户端和目标对象之间充当中介&#xff0c;负责将客户端的…...

uniapp - 基于uniapp+vue3实现自定义增强版table表格组件体验「兼容H5+小程序+App端」

本文提供增强版table表格组件体验,打造跨端表格的新标杆. uv3-table&#xff1a;一款基于uniappvue3跨端自定义手机端增强版表格组件。支持固定表头/列、边框、斑马纹、单选/多选&#xff0c;自定义表头/表体插槽、左右固定列阴影高亮显示。支持编译兼容H5小程序端App端。 提供…...

【Obsidian插件开发】新建窗口时出现多余的空白窗口

问题描述 在打开Edit Task的Modal的时候&#xff0c;有一个多余的空白modal同时也被打开了&#xff0c;并且点右上角的叉号可以把Edit Task窗口也关上。最开始没有这个问题&#xff0c;我给edit task窗口加了css&#xff0c;移动位置之后问题就出现了。 解决方法 我最开始看到…...

springmvc--请求参数的绑定

目录 一、创建项目&#xff0c;pom文件 二、web.xml 三、spring-mvc.xml 四、index.jsp 五、实体类 Address类 User类 六、UserController类 七、请求参数解决中文乱码 八、配置tomcat,然后启动tomcat 1. 2. 3. 4. 九、接收Map类型 1.直接接收Map类型 &#x…...

前缀和与差分专题

领地选择 &#xff08;二维前缀和&#xff09; 作为在虚拟世界里统帅千军万马的领袖&#xff0c;小 Z 认为天时、地利、人和三者是缺一不可的&#xff0c;所以&#xff0c;谨慎地选择首都的位置对于小 Z 来说是非常重要的。 首都被认为是一个占地 CC 的正方形。小 Z 希望你寻…...

Go Ebiten小球弹性碰撞代码示例

Go Ebiten小球弹性碰撞代码示例 我们来编写一个简单的示例程序&#xff0c;在其中实现一个小球在窗口中弹性碰撞的效果。具体来说&#xff0c;当小球碰到窗口的边缘时&#xff0c;它会反弹回来&#xff0c;改变运动方向。我们将使用Ebiten的图形和物理模拟功能来实现这个效果。…...

C++中map和set的封装

一、关于封装过程中传入的模板参数的问题 通过源码中的封装方式进行理解&#xff1a; 1.1map和set中成员变量 set中&#xff1a; template <class Key, class Compare less<Key>, class Alloc alloc> class set { public:typedef Key key_type;typedef Key v…...

dsa introduction 3

空间复杂度一般不会超过时间复杂度。空间复杂度就是申请的空间的数量级别。 减治和分治都是算法策略。都可以用递归和迭代的手段去实现。递归就是函数自己调用自己。一直到递归基之后再返回。递归算法的空间复杂度是递归深度。分治是分别求解子问题&#xff0c;然后由子问题的…...

C++ 日志库 spdlog 使用教程

Spdlog是一个快速、异步、线程安全的C日志库&#xff0c;他可以方便地记录应用程序的运行状态&#xff0c;并提供多种输出格式。官网&#xff1a;https://github.com/gabime/spdlog 安装教程可以参考&#xff1a;https://blog.csdn.net/Harrytsz/article/details/144887297 S…...

Pytorch机器学习——1 深度学习介绍

outline 人工智能、机器学习与深度学习深度学习工具介绍 1. 人工智能、机器学习与深度学习 AI&#xff1a;研究如何能让计算机模拟人类的智能&#xff0c;来实现特定的依赖人类智能才能实现的任务&#xff08;例如学习、语言、识别&#xff09; AI历史&#xff1a; 1818&#x…...