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

HCIP BGP综合实验

题目

1、AS1存在两个环回,一个地址为192.168.1.0/24该地址不能在任何协议中宣告;

2、AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯;

3、AS间的骨干链路IP地址随意指定;

4、使用BGP协议让整个网络所有设备的环回可以互相访问;

5、减少路由条目数量,避免环路出现。

实验步骤

第一步、IP地址规划

网段划分如下

AS2172.16.0.0/16网段划分

建邻居环回:

R2:172.16.0.2/32

R3:172.16.0.3/32

R4:172.16.0.4/32

R5:172.16.0.5/32

R6:172.16.0.6/32

R7:172.16.0.7/32

逻辑环回

R2:172.16.2.0/24

R3:172.16.3.0/24

R4:172.16.4.0/24

R5:172.16.5.0/24

R6:172.16.6.0/24

R7:172.16.7.0/24

骨干链路:

R2-R3:172.16.1.0/30

R3-R4:172.16.1.4/30

R2-R5:172.16.1.8/30

R4:R7:172.16.1.12/30

R5-R6:172.16.1.16/30

R6-R7:172.16.1.20/30

R1

题目要求环回:192.168.1.0/24

环回:1.1.1.0/24

R8

题目要求环回:192.168.2.0/24

环回:8.8.8.0/24

AS之间的骨干链路

R1-R2:12.1.1.0/30

R7-R8:78.1.1.0/30

设备接口IP地址如

设备接口IP地址
R1G0/0/012.1.1.1/30
Lo01.1.1.1/24
Lo1192.168.1.1/24
R2G0/0/012.1.1.2/30
G0/0/1172.16.1.1/30
G0/0/2172.16.1.9/30
Lo0172.16.0.2/32
Lo1172.16.2.1/24
R3G0/0/0172.16.1.2/30
G0/0/1172.16.1.5/30
Lo0172.16.0.3/32
Lo1172.16.3.1/24
R4G0/0/0172.16.1.6/30
G0/0/1172.16.1.13/30
Lo0172.16.0.4/32
Lo1172.16.4.1/32
R5G0/0/0172.16.1.10/30
G0/0/1172.16.1.17/30
Lo0172.16.0.5/32
Lo1172.16.5.1/24
R6G0/0/0172.16.1.18/30
G0/0/1172.16.1.21/30
Lo0172.16.0.6/32
Lo1172.16.6.1/24
R7G0/0/0172.16.1.22/30
G0/0/1172.16.1.14/30
G0/0/278.1.1.7/30
Lo0172.16.0.7/32
Lo1172.16.7.1/30
R8G0/0/078.1.1.1.8/30
Lo08.8.8.8/24
Lo1192.168.2.1/24

第二步、接口IP地址配置

R1

<Huawei>system-view 
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int lo0
[R1-LoopBack0]ip address 1.1.1.1 24
[R1-LoopBack0]int lo1
[R1-LoopBack1]ip address 192.168.1.1 24

R2

<Huawei>system-view 
[Huawei]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24 
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.1.1 30
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip address 172.16.1.9 30
[R2-GigabitEthernet0/0/2]int lo0
[R2-LoopBack0]ip address 172.16.0.2 32
[R2-LoopBack0]int lo1
[R2-LoopBack1]ip address 172.16.2.1 24

R3

<Huawei>system-view 
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 172.16.1.2 30
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip address 172.16.1.5 30
[R3-GigabitEthernet0/0/1]int lo0
[R3-LoopBack0]ip address 172.16.0.3 32
[R3-LoopBack0]in lo1
[R3-LoopBack1]ip address 172.16.3.1 24

R4

<Huawei>system-view 
[Huawei]sysname R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 172.16.1.6 30
[R4-GigabitEthernet0/0/0]in g0/0/1
[R4-GigabitEthernet0/0/1]ip address 172.16.1.13 30
[R4-GigabitEthernet0/0/1]int lo0
[R4-LoopBack0]ip address 172.16.0.4 32
[R4-LoopBack0]int lo1
[R4-LoopBack1]ip address 172.16.4.1 24

R5

<Huawei>system-view 
[Huawei]sysname R5
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip address 172.16.1.10 30
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip address 172.16.1.17 30
[R5-GigabitEthernet0/0/1]int lo0
[R5-LoopBack0]ip address 172.16.0.5 32
[R5-LoopBack0]int lo1   
[R5-LoopBack1]ip address 172.16.5.1 24

R6

<Huawei>system-view 
[Huawei]sysname R6
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip address 172.16.1.18 30
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip address 172.16.1.21 30
[R6-GigabitEthernet0/0/1]int g0/0/1
[R6-GigabitEthernet0/0/1]int lo0    
[R6-LoopBack0]ip address 172.16.0.6 32
[R6-LoopBack0]int lo1
[R6-LoopBack1]ip address 172.16.6.1 24

R7

<Huawei>system-view 
[Huawei]sysname R7
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip address 172.16.1.22 30 
[R7-GigabitEthernet0/0/0]in g0/0/1
[R7-GigabitEthernet0/0/1]ip address 172.16.1.14 30
[R7-GigabitEthernet0/0/1]int g0/0/2
[R7-GigabitEthernet0/0/2]ip address 78.1.1.7 24
[R7-GigabitEthernet0/0/2]int lo0
[R7-LoopBack0]ip address 172.16.0.7 32
[R7-LoopBack0]int lo1
[R7-LoopBack1]ip address 172.16.7.1 24

R8

<Huawei>system-view 
[Huawei]sysname R8
[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip address 78.1.1.8 24
[R8-GigabitEthernet0/0/0]int lo0
[R8-LoopBack0]ip address 8.8.8.8 24
[R8-LoopBack0]int lo1              
[R8-LoopBack1]ip address 192.168.2.1 24

第三步、写静态路由

R1-R2

[R1]ip route-static 172.16.0.2 32 12.1.1.2
[R2]ip route-static 1.1.1.1 32 12.1.1.1 

R7-R8 

[R7]ip route-static 8.8.8.8 32 78.1.1.8  
[R8]ip route-static 172.16.0.7 32 78.1.1.7

第四步、AS 200启用IBGP

IBGP使用的是OSPF

R2

[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.255.255  

R3

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.255.255

R4

[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 172.16.4.0 0.0.255.255

R5

[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 172.16.5.0 0.0.255.255

R6

[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 172.16.6.0 0.0.255.255

R7

[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 172.16.7.0 0.0.255.255

第五步、修改环回接口OSPF网络类型 

因为环回接口在OSPF宣告默认类型为p2mp,其他路由器学习到网段就为32位掩码,所以这里需要修改环回接口OSPF网络类型为broadcast。

先查看其他路由器通过OSPF学到其他网段的环回网段位32位

#R2
[R2]int lo1
[R2-LoopBack1]ospf network-type broadcast 
#R3
[R3]int lo1
[R3-LoopBack1]ospf network-type broadcast 
#R4
[R4]int lo1
[R4-LoopBack1]ospf network-type broadcast 
#R5
[R5]int lo1
[R5-LoopBack1]ospf network-type broadcast 
#R6
[R6]int lo1
[R6-LoopBack1]ospf network-type broadcast 
#R7
[R7]int lo1
[R7-LoopBack1]ospf network-type broadcast 

修改后再进行查看,学习到的就是那个网段了

第六步、启动BGP建邻

在建邻居的时候同时修改本地路由器传递,便于后期路由传递变优。

R1

[R1]bgp 100
[R1-bgp]router-id 1.1.1.1 
[R1-bgp]peer 12.1.1.2 as-number 200

R2

R2]bgp 64512
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation id 200
[R2-bgp]peer 12.1.1.1 as-number 100          
[R2-bgp]peer 172.16.0.3 as-number 64512 
[R2-bgp]peer 172.16.0.3 connect-interface lo0
[R2-bgp]peer 172.16.0.3 next-hop-local 
[R2-bgp]confederation peer-as 64513
[R2-bgp]peer 172.16.0.5 as-number 64513           
[R2-bgp]peer 172.16.0.5 connect-interface lo0               
[R2-bgp]peer 172.16.0.5 ebgp-max-hop 2             

R3

[R3]bgp 64512
[R3-bgp]router-id 3.3.3.3
[R3-bgp]confederation id 200
[R3-bgp]peer 172.16.0.2 as-number 64512         
[R3-bgp]peer 172.16.0.2 connect-interface lo0
[R3-bgp]peer 172.16.0.2 next-hop-local
[R3-bgp]peer 172.16.0.4 as-number 64512      
[R3-bgp]peer 172.16.0.4 connect-interface lo0
[R3-bgp]peer 172.16.0.4 next-hop-local

R4

[R4]bgp 64512
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 200
[R4-bgp]peer 172.16.0.3 as-number 64512
[R4-bgp]peer 172.16.0.3 connect-interface lo0
[R4-bgp]peer 172.16.0.3 next-hop-local
[R4-bgp]confederation peer-as 64513
[R4-bgp]peer 172.16.0.7 as-number 64513
[R4-bgp]peer 172.16.0.7 connect-interface lo0
[R4-bgp]peer 172.16.0.7 ebgp-max-hop 2

R5

[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 200
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 172.16.0.2 as-number 64512          
[R5-bgp]peer 172.16.0.2 connect-interface lo0                 
[R5-bgp]peer 172.16.0.2 ebgp-max-hop 2
[R5-bgp]peer 172.16.0.6 as-number 64513        
[R5-bgp]peer 172.16.0.6 connect-interface lo0
[R5-bgp]peer 172.16.0.6 next-hop-local

R6

[R6]bgp 64513 
[R6-bgp]router-id 6.6.6.6 
[R6-bgp]confederation id 200
[R6-bgp]peer 172.16.0.5 as-number 64513         
[R6-bgp]peer 172.16.0.5 connect-interface lo0
[R6-bgp]peer 172.16.0.5 next-hop-local
[R6-bgp]peer 172.16.0.7 as-number 64513
[R6-bgp]peer 172.16.0.7 connect-interface lo0
[R6-bgp]peer 172.16.0.7 next-hop-local

R7

[R7]bgp 64513
[R7-bgp]router-id 7.7.7.7
[R7-bgp]confederation id 200       
[R7-bgp]peer 78.1.1.8 as-number 300
[R7-bgp]peer 172.16.0.6 as-number 64513
[R7-bgp]peer 172.16.0.6 connect-interface lo0
[R7-bgp]peer 172.16.0.6 next-hop-local
[R7-bgp]confederation peer-as 64512     
[R7-bgp]peer 172.16.0.4 as-number 64512          
[R7-bgp]peer 172.16.0.4 connect-interface lo0                  
[R7-bgp]peer 172.16.0.4 ebgp-max-hop 2

R8

[R8]bgp 300
[R8-bgp]router-id 8.8.8.8
[R8-bgp]peer 78.1.1.7 as-number 200

第七步、BGP宣告

R1上进行宣告1.1.1.0/24


[R1]bgp 100
[R1-bgp]network 1.1.1.0 24

然后进行查看在R3上面进行查看,发现R3是学到这条路由了。

 再去R4上面查看,发现没有学习到这条路由。

 那么我们就需要使用反射器来满足要求,为反射器指定一个客户端,因为两个非客户端是不会进行传递路由,只有非->客、客->客;还有就是在ebgp和ibgp之间会进行传递。

选用一个路由器作为反射器,我这里是指定的R3为反射器,R1为客户端。

[R3]bgp 64512
[R3-bgp]peer 172.16.0.2 reflect-client 

再去R4上面查看,以及收到这条路由。

 在去R8上面看也可以看见这条路由,因为到R4会用过EBGP传递给R7,R7在由EBGP关系传给R8。

 R8上进行宣告8.8.8.0/24网段

也是同样的需要用到一个反射器指定R7为客户端,不然R5也会没有8.8.8.0/24这个网段

[R6]bgp 64513
[R6-bgp]peer 172.16.0.7 reflect-client

在R5上面进行查看

 在R1上面进行查看

在AS200 进行宣告

AS200汇总指向空接口, 然后再对网段进行BGP宣告。这样便于其他路由器也只会有一条路由。

R2

[R2]ip route-static 172.16.0.0 21 NULL 0
[R2]bgp 64512                           
[R2-bgp]network 172.16.0.0 21           

去R1和R8上面查看,只学到一条路由,这样也减少了路由条目

为了不在R2上面找到空接口才把黑洞路由丢掉,我们在R7上面也进行一个同样的操作,这样也可以避免造成AS内部的资源消耗。

R7

[R7]ip route-static 172.16.0.0 21 NULL 0
[R7]bgp 64513
[R7-bgp]network 172.16.0.0 21 

第八步、建立隧道

让192.168.1.0 和 192.168.2.0这两个网段不能宣告,但是又能互相访问,可以采用Tunnel隧道来解决,因为我们的物理线路以实现全网可达,然后通过静态路由指向对方网段,把下一跳扔进隧道里面。

R1

[R1]int t0/0/0   
[R1-Tunnel0/0/0]ip address 10.1.1.1 24
[R1-Tunnel0/0/0]tunnel-protocol gre 
[R1-Tunnel0/0/0]source 1.1.1.1 
[R1-Tunnel0/0/0]destination 8.8.8.8
[R1-Tunnel0/0/0]q
[R1]ip route-static 192.168.2.0 24 Tunnel 0/0/0

R8

[R8]int t0/0/0   
[R8-Tunnel0/0/0]ip address 10.1.1.2 24
[R8-Tunnel0/0/0]tunnel-protocol gre 
[R8-Tunnel0/0/0]source 8.8.8.8 
[R8-Tunnel0/0/0]destination 1.1.1.1
[R8-Tunnel0/0/0]q
[R8]ip route-static 192.168.1.0 24 Tunnel 0/0/0

进行一个测试:

第九步、测试

 

测试是实现各环回可以互相访问。 

相关文章:

HCIP BGP综合实验

题目 1、AS1存在两个环回&#xff0c;一个地址为192.168.1.0/24该地址不能在任何协议中宣告&#xff1b; 2、AS3中存在两个环回&#xff0c;一个地址为192.168.2.0/24该地址不能在任何协议中宣告&#xff0c;最终要求这两个环回可以互相通讯&#xff1b; 3、AS间的骨干链路I…...

【mysql学习篇】Order by与Group by优化以及排序算法详解

一、Order by与Group by优化 Case1&#xff1a; 分析&#xff1a; 利用最左前缀法则&#xff1a;中间字段不能断&#xff0c;因此查询用到了name索引&#xff0c;从key_len74也能看出&#xff0c;age索引列用在排序过程中&#xff0c;因为Extra字段里没有using filesort 注意…...

【业务功能篇60】Springboot + Spring Security 权限管理 【终篇】

4.4.7 权限校验扩展 4.4.7.1 PreAuthorize注解中的其他方法 hasAuthority&#xff1a;检查调用者是否具有指定的权限&#xff1b; RequestMapping("/hello")PreAuthorize("hasAuthority(system:user:list)")public String hello(){return "hello Sp…...

文章详情页 - 评论功能的实现

目录 1. 准备工作 1.1 创建评论表 1.2 创建评论实体类 1.3 创建 mapper 层评论接口和对应的 xml 实现 1.4 准备评论的 service 层 1.5 准备评论的 controller 层 2. 总的初始化详情页 2.1 加载评论列表 2.1.1 实现前端代码 2.1.2 实现后端代码 2.2 查询当前登录用户的…...

使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Day 69-70:矩阵分解

代码&#xff1a; package dl;import java.io.*; import java.util.Random;/** Matrix factorization for recommender systems.*/public class MatrixFactorization {/*** Used to generate random numbers.*/Random rand new Random();/*** Number of users.*/int numUsers…...

数据结构:树的存储结构

学习树之前&#xff0c;我们已经了解了二叉树的顺序存储和链式存储&#xff0c;哪么我们如何来存储普通型的树结构的数据&#xff1f;如下图1&#xff1a; 如图1所示&#xff0c;这是一颗普通的树&#xff0c;我们要如何来存储呢&#xff1f;通常&#xff0c;存储这种树结构的数…...

Vue前端渲染blob二进制对象图片的方法

近期做开发&#xff0c;联调接口。接口返回的是一张图片&#xff0c;是对二进制图片处理并渲染&#xff0c;特此记录一下。 本文章是转载文章&#xff0c;原文章&#xff1a;Vue前端处理blob二进制对象图片的方法 接口response是下图 显然&#xff0c;获取到的是一堆乱码&…...

Java的标记接口(Marker Interface)

Java中的标记接口&#xff08;Marker Interface&#xff09;是一个空接口&#xff0c;接口内什么也没有定义。它标识了一种能力&#xff0c;标识继承自该接口的接口、实现了此接口的类具有某种能力。 例如&#xff0c;jdk的com.sun.org.apache.xalan.internal.xsltc.trax.Temp…...

Kafka基础架构与核心概念

Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者&#xff0c;性能特点主要是…...

观察者模式与观察者模式实例EventBus

什么是观察者模式 顾名思义&#xff0c;观察者模式就是在多个对象之间&#xff0c;定义一个一对多的依赖&#xff0c;当一个对象状态改变时&#xff0c;所有依赖这个对象的对象都会自动收到通知。 观察者模式也称为发布订阅模式(Publish-Subscribe Design Pattern)&#xff0…...

科普 | OSI模型

本文简要地介绍 OSI 模型 1’ 2’ 3。 更新&#xff1a;2023 / 7 / 23 科普 | OSI模型 术语节点链路协议网络拓扑 概念作用结构应用层表示层会话层传输层网络层数据链路层物理层 数据如何流动OSI 和TCP/IP 的对应关系和协议参考链接 术语 节点 节点&#xff08; Node &#…...

redis相关异常之RedisConnectionExceptionRedisCommandTimeoutException

本文只是分析Letture类型的Redis 池化连接出现的连接超时异常、读超时异常问题。 1.RedisConnectionException 默认是10秒。 通过如下可以配置&#xff1a; public class MyLettuceClientConfigurationBuilderCustomizer implements LettuceClientConfigurationBuilderCusto…...

Merge the squares! 2023牛客暑期多校训练营4-H

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;有n*n个边长为1的小正方形摆放在边长为n的大正方形中&#xff0c;每次可以选择不超过50个正方形&#xff0c;将其合并为一个更大的正方形&#xff0c;求一种可行的操作使所有小正方形都被合并成一个n*n的大正方形 1…...

STM32 串口学习(二)

要用跳线帽将PA9与RXD相连&#xff0c;PA10与TXD相连。 软件设计 void uart_init(u32 baud) {//UART 初始化设置UART1_Handler.InstanceUSART1; //USART1UART1_Handler.Init.BaudRatebound; //波特率UART1_Handler.Init.WordLengthUART_WORDLENGTH_8B; //字长为 8 位数据格式U…...

点大商城V2_2.5.0 全开源版 商家自营+多商户入驻 百度+支付宝+QQ+头条+小程序端+unipp开源前端安装测试教程

安装测试环境&#xff1a;Nginx 1.20PHP7.2MySQL 5.6 修复了无法上传开放平台问题 安装说明&#xff1a; 1、上传后端目录至网站 2、导入提供的数据库文件 3、修改数据库配置文件根目录下config.php&#xff0c;增加数据库用户名和密码 4、网站后台直接访问网址&#xff…...

“深入理解SpringBoot:从入门到精通“

标题&#xff1a;深入理解Spring Boot&#xff1a;从入门到精通 摘要&#xff1a;本文将介绍Spring Boot的基本概念和核心特性&#xff0c;并通过示例代码演示如何使用Spring Boot构建一个简单的Web应用程序。 1. 简介 Spring Boot是一个开源的Java框架&#xff0c;旨在简化基…...

PCB绘制时踩的坑 - SOT-223封装

SOT-223封装并不是同一的&#xff0c;细分的话可以分为两种常用的封装。尤其是tab脚的属性很容易搞错。如果你想着用tab脚连接有属性的铺铜&#xff0c;来提高散热效率&#xff0c;那么你一定要注意你购买的器件tab脚的属性。 第一种如下图&#xff0c;第1脚为GND&#xff0c;第…...

Go语法入门 + 项目实战

&#x1f442; Take me Hand Acoustic - Ccile Corbel - 单曲 - 网易云音乐 第3个小项目有问题&#xff0c;不能在Windows下跑&#xff0c;懒得去搜Linux上怎么跑了&#xff0c;已经落下进度了.... 目录 &#x1f633;前言 &#x1f349;Go两小时 &#x1f511;小项目实战 …...

QT控件通过qss设置子控件的对齐方式、大小自适应等

一些复杂控件&#xff0c;是有子控件的&#xff0c;每个子控件&#xff0c;都可以通过qss的双冒号选择器来选中&#xff0c;进行独特的样式定义。很多控件都有子控件&#xff0c;太多了&#xff0c;后面单独写一篇文章来介绍各个控件的子控件。这里就随便来几个例子 例如下拉列…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...