【计算机网络实践】(十二)大学校园网综合项目设计
本系列包含:
-
(一)以太网帧分析与网际互联协议报文结构分析
-
(二)地址解析协议分析与传输控制协议特性分析
-
(三)交换机的基本操作、配置、 虚拟局域网配置和应用
-
(四)交换机之间链路聚合、 生成树协议的配置和应用
-
(五)路由器的基本操作、 配置、静态路由的配置和应用
-
(六)RIP路由协议的配置和应用
-
(七)OSPF路由协议的配置
-
(八)标准与扩展访问控制列表的配置和应用
-
(九)地址转换的配置和应用
-
(十)广域网PPP协议
-
(十一)动态主机配置协议的配置和应用
-
(十二)大学校园网综合项目设计
大学校园网综合项目设计
一、项目拓扑
图1 拓扑图
二、项目过程
2.1 业务场景设计
本项目拓扑根据大学校园网的网络拓扑经简化后绘制而成,涵盖了园区网设计应包含的内容,同时模拟了分支机构(分校区)、互联网区域的百度服务器(用来验证内网是否可以访问互联网)。
在实际应用中分支机构(分校区)与总部(主校区)之间的传输介质一般是租用运营 商线路或采用VPN方式,本项目中使用双绞线代替租用的运营商线路。
本项目网络设计与配置的具体说明与主要要求如下:
(1)运营商分配给学校 12.1.1.0 网段,掩码24位,其中 12.1.1.10-12.1.1.30 用 于校园内网访问互联网时做 NAT 使用,12.1.1.1 和 12.1.1.254 用于主校区出口路由器 R1 与运营商路由器AR3互联接口使用,其余备用。
(2)主校区校园网出口路由器 AR1 到互联网路由器 AR3 之间采用静态路由。
(3)分校区出口路由器 AR2 到主校区校园网出口路由器R1之间采用静态路由。
(4)主校区AR1和CN-SW1、CN-SW2间的内部网络三层接口采用OSPF路由协议。
(5)宿舍区域的 AC-SW1、AC-SW2 和 AG-SW1 之间的环路实现链路备份功能,正常 情况下,AC-SW1 和 AC-SW2 之间的链路是阻断的(严格的说是 AC-SW1 的 g0/0/24 接口或者 AC-SW2 的 g0/0/24 接口是阻断的)。
(6)分校区的 PC 机(PC7)可以通过主校区访问互联网(Baidu Http Server), 但只能访问主校区的服务器区域设备(Http Server1 和 Http Server2)。
(7)宿舍区域禁止访问服务器区域的 Http Server2 服务器(10.10.5.50)。
(8)办公区域自动获取IP 。DHCP 地址范围:192.161.132.1-192.161.132.254 (192.161.132.254为网关),DHCP地址范围:192.161.135.1-192.161.135.254 (192.168.4.254 为网关)。
(9)宿舍区域自动获取 IP 。DHCP 地址范围:192.161.132.1-192.161.132.254 (192.161.132.254 为网关),DHCP 地址范围:192.161.133.1-192.161.133.254 (129.168.2.254 为网关)。
(10)科技大厦区域指定 IP 。
2.2 路由器接口和三层交换机路由接口规划
路由器接口和三层交换机路由接口规划见表 1 。
2.3 交换机二层接口规划
交换机二层接口规划见表 2 。
2.4 服务器和 PC 机 IP 地址规划
服务器和主机 IP 地址规划见表 3。
配置操作如下,以PC1为例:
图2 主机PC1的IP地址规划
2.5 启动图 1 中的所有设备,进行相关配置
(1)接入交换机基本配置(二层配置)
在命令行中输入相应命令,分别进行接入交换机AC-SW1-AC-SW6的基本配置(二层配置)。
- AC-SW1
图3 接入交换机AC-SW1的基本配置
- AC-SW2
图4 接入交换机AC-SW2的基本配置
- AC-SW3
图5 接入交换机AC-SW3的基本配置
- AC-SW4
图6 接入交换机AC-SW4的基本配置
- AC-SW5
图7 接入交换机AC-SW5的基本配置
- AC-SW6
图8 接入交换机AC-SW6的基本配置
(2)汇聚交换机基本配置(二层配置)
在命令行中输入相应命令,分别进行汇聚交换机AG-SW1-AG-SW3的基本配置(二层配置)。
- AG-SW1
图9 汇聚交换机AG-SW1的基本配置
- AG-SW2
图10 汇聚交换机AG-SW2的基本配置
- AG-SW3
图11 汇聚交换机AG-SW3的基本配置
(3)数据中心核心交换机 DC-SW 基本配置
按照交换机二层接口规划,在命令行中输入相应命令,将 LSW3 更名为 DC-SW ,并 进行数据中心核心交换机 DC-SW 的基本配置(二层配置)。
- DC-SW
图12 数据中心核心交换机DC-SW的基本配置
(4)校园网核心交换机基本配置(二层配置)
按照交换机二层接口规划,在命令行中输入相应命令,将 LSW1 更名为 DC-SW ,分 别进行交换机CN-SW1-CN-SW2的接口配置,并设置聚合模式,进行校园网核心交换机的聚 合配置。
- CN-SW1
图13 校园网核心交换机CN-SW1的基本配置
- CN-SW2
图14 校园网核心交换机CN-SW2的基本配置
(5)学生宿舍区域 AG-SW1、AC-SW1、AC-SW2 之间链路备份配置
在命令行中输入相应命令,进行学生宿舍区域 AG-SW1、AC-SW1、AC-SW2 之间链路备 份配置。
图15 学生宿舍区域AG-SW1、AC-SW1、AC-SW2之间链路备份配置
输入 disp stp brief 命令,查看 AG-SW1 的生成树状态和统计信息。
图16 AG-SW1 的生成树状态和统计信息
交换机AG-SW1 根据实际业务场景设为根交换机,意味着g0/0/2和g0/0/3 是根端口 且允许通过。输入 stp root primary 命令,使AG-SW1成为整个网络中的STP根交换机。
图17 AG-SW1的根交换机命令
输入 disp stp brief 命令,再次查看AG-SW1的生成树状态和统计信息。
图18 汇聚交换机AG-SW1生成树协议的状态和统计信息
输入 disp stp brief 命令,查看AC-SW1、AC-SW2 的生成树状态和统计信息。
- AC-SW1
图17 接入交换机AC-SW1生成树协议的状态和统计信息
- AC-SW2
图18 接入交换机AC-SW2生成树协议的状态和统计信息
将AC-SW2 的 g0/0/3 接口 shutdown,观察其生成树协议的状态和统计信息。再输入 undo shutdown 命令,观察其生成树协议的状态和统计信息。
图19 (undo)shutdown 状态下的AC-SW2生成树协议的状态和统计信息
(6)交换机三层接口配置
在命令行中输入相应命令,进行交换机CN-SW1、CN-SW2的三层接口配置。
- CN-SW1
图20 交换机CN-SW1的三层接口配置
- CN-SW2
图21 交换机CN-SW2的三层接口配置
(7)验证
①在命令行输入ping命令验证主机PC1-PC6 ping 自己的网关。
图22 PC1 ping 自己网关的情况
图23 PC2 ping 自己网关的情况
图24 PC3 ping 自己网关的情况
图25 PC4 ping 自己网关的情况
图26 PC5 ping 自己网关的情况
图27 PC6 ping 自己网关的情况
由图22-27可见,主机ping自己的网关全部连通,说明网关均配置正确。
②验证 Http Server1、Http Server2 服务器 ping 自己的网关。
图28 Http Server1 ping 自己网关的情况
图29 Http Server2 ping 自己网关的情况
由图28-29可见,Http Server1、Http Server2 服务器ping 自己的网关全部连通, 说明网关均配置正确。
③验证主机PC1 ping Http Server1 ,PC2 ping Http Server2。
图30 PC1 ping Http Server1 的情况
图31 PC2 ping Http Server2 的情况
由图30-31可见,主机PC1 ping Http Server1 以及PC2 ping Http Server2 都能通, 说明它们在同一网段中。
④验证主机PC3、PC5 ping Http Server1,PC4、PC6 ping Http Server2。
图32 PC3 ping Http Server1 的情况
图33 PC4 ping Http Server2 的情况
图34 PC5 ping Http Server1 的情况
图35 PC5 ping Http Server2 的情况
由图32-35可见,主机PC3、PC5 ping Http Server1 以及PC4、PC6 ping Http Server2 都请求超时,说明它们不在同一网段中。
(8)路由器三层接口配置
在命令行中输入相应命令,进行路由器AR1、AR2、AR3的基本配置。
- AR3
图36 路由器AR3的基本配置
- AR2
图37 路由器AR2的基本配置
- AR1
图38 路由器AR1的基本配置
(9)验证
验证 Baidu Http Server 服务器、主机PC7 ping 自己的网关。
图39 PC7 ping 自己网关的情况
图40 Baidu Http Server ping 自己网关的情况
(10)路由配置
AR1、CN-SW1、CN-SW2 内网路由接口采用 OSPF 路由协议。
图41 AR1的 路由配置
图42 CN-SW1的路由配置
图43 CN-SW2的路由配置
在命令行输入disp ip routing-table 命令,查看 R1、CN-SW1 以及 CN-SW2 的路由 表信息。
图44 AR1的路由表信息
图45 CN-SW1的路由表信息
图46 CN-SW2的路由表信息
(11)验证内网是否全网通
服务器Http Server1、Http Server2,主机 PC1、PC2、PC3、PC4、PC5、PC6 之间互 ping,测试连通性。
图47 PC1 ping PC2 的情况
图48 PC2 ping PC3 的情况
图49 PC3 ping PC4 的情况
图50 PC4 ping PC5 的情况
图51 PC5 ping PC6的情况
图52 PC1 ping PC6的情况
图53 PC1 ping Http Server1的情况
图54 PC2 ping Http Server2的情况
图55 PC3 ping Http Server1的情况
图56 PC4 ping Http Server2的情况
图57 PC5 ping Http Server1 的情况
图58 PC6 ping Http Server2 的情况
(12)主校区内网访问互联网配置(动态NAT和静态路由)
在命令行输入相应命令,为主校区出口添加动态NAT和静态路由。
图59 主校区出口动态NAT和静态路由的配置
验证 PC1 ping 12.1.1.254 显示仍然不通,因为PC1与12.1.1.254不在同一网段。
图60 PC1 ping 12.1.1.254 的情况
查看CN-SW1的路由表,发现没有路由。
图61 CN-SW1的路由表
在 CN-SW1 上添加一条静态路由,指向 12.1.1.2,并查看其路由表。
图62 添加静态路由后CN-SW1的路由表
在 CN-SW2 上添加一条静态路由,指向 12.1.1.2,并查看其路由表。
图63 添加静态路由后CN-SW2的路由表
(13)验证主校区内网访问互联网是否通
图64 Http Server1 ping Baidu Http Server 的情况
图65 PC1 ping Baidu Http Server 的情况
图66 PC3 ping Baidu Http Server 的情况
图67 PC6 ping Baidu Http Server 的情况
由图64-67可知,主校区内网访问互联网均可通,说明主校区出口路由器AR1需要设置静态路由才能访问互联网资源。
(14)分校区内网访问互联网配置及访问控制
在命令行输入相应命令,进行分校区内网访问互联网配置及访问控制。
图68 分校区内网访问互联网配置
图69 分校区访问回包路由设置
(15)学生宿舍区访问控制
在命令行输入相应命令,进行学生宿舍区访问控制。
图70 学生宿舍区访问控制
(16)办公区域和学生宿舍区域 DHCP 配置
在命令行输入相应命令,进行学生宿舍区域 DHCP 配置。
图71 学生宿舍区域 DHCP 配置
在命令行输入相应命令,进行办公区域 DHCP 配置。
图72 办公区域 DHCP 配置
配置完毕后将 PC1-PC4 的 IP 配置由静态改为 DHCP。
图73 PC1的 DHCP
图74 PC2的 DHCP
图75 PC3的 DHCP
图76 PC4的 DHCP
在命令行输入ipconfig命令观察所获取的IP均符合要求。
图77 PC1获取的IP
图78 PC2获取的IP
图79 PC3获取的IP
图80 PC4获取的IP
(17)整体设置完毕调通后,将 CN-SW1 上的网关 vlanif401、vlanif402 迁移到交 换机DC-SW上。
图81 DC-SW 的配置
三、项目总结
本项目综合运用二层交换机 vlan 划分与配置,三层交换机路由接口的创建、配置及 路由协议配置,链路集合配置和链路备份配置,STP 在链路备份中的作用和配置,NAT 配 置,DHCP 配置,反掩码计算等专业计算机网络相关知识,结合校园网业务场景进行了网络设计与配置,涵盖了园区网设计应包含的内容,同时模拟了分支机构(分校区)、互联网区域的百度服务器,并验证了其正确性。
相关文章:
【计算机网络实践】(十二)大学校园网综合项目设计
本系列包含: (一)以太网帧分析与网际互联协议报文结构分析 (二)地址解析协议分析与传输控制协议特性分析 (三)交换机的基本操作、配置、 虚拟局域网配置和应用 (四)交…...
通过api程序的方式编辑ps的三种方式
目前只使用了第一种 ps-python-api去操作 还没有尝试其他两种方式对于第一种方式必须要开启ps程序,程序调用修改新增图层和文档时会同步到ps页面,可以直观看到修改结果...
论文阅读笔记——Reactive Diffusion Policy
RDP 论文 通过 AR 提供实时触觉/力反馈;慢速扩散策略,用于预测低频潜在空间中的高层动作分块;快速非对称分词器实现闭环反馈控制。 ACT、 π 0 \pi_0 π0 采取了动作分块,在动作分块执行期间处于开环状态,无法及时响…...
MySQL表的增删改查进阶版
Mysql 1、数据库的约束1.1约束类型1.2 NULL约束1.3 UNIQUE:唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束(重点)1.6 FOREIGN KEY:外键约束(重点) 2.表的设计2.1一对一2.2…...
【C#】Socket通信的使用
在C#中,Socket通信是一种用于实现网络通信的底层技术。通过Socket,程序可以在网络上与其他设备进行数据交换。以下是如何使用C#中的System.Net.Sockets命名空间来实现Socket通信的详细步骤。 1. Socket通信的基本概念 Socket: 一个Socket是网络通信的端…...
linux以C方式和内核交互监听键盘[香橙派搞机日记]
最近在深入研究我的香橙派,不可避免的遇到了怎么认识和使用Linux内核的问题。 我给自己留了一个简单的任务:使用原生C来监听内核,实现读取键盘的消息。 CSDN上也有其他文章来解决这个问题,不过要么是技术不达标(直接和…...
【C++初学】课后作业汇总复习(七) 指针-深浅copy
1、 HugeInt类:构造、、cout Description: 32位整数的计算机可以表示整数的范围近似为-20亿到+20亿。在这个范围内操作一般不会出现问题,但是有的应用程序可能需要使用超出上述范围的整数。C可以满足这个需求,创建功能强大的新的…...
【iOS】UIPageViewController学习
UIPageViewController学习 前言创建一个UIPageViewController最简单的使用 UIPageViewController的方法说明:效果展示 UIPageViewController的协议方法 前言 笔者最近在写项目时想实现一个翻书效果,上网学习到了UIPageViewController今天写本篇博客总结…...
GDB 调试命令详解:高效掌握常用调试技巧
🐞 GDB 调试命令详解:高效掌握常用调试技巧 GNU Debugger(GDB)是 Linux 下最强大的 C/C 调试工具。本文将系统梳理 GDB 的常用命令,覆盖运行控制、断点管理、变量查看、线程与进程调试等核心功能,助你快速掌…...
实验二 用递归下降法分析表达式实验
【实验目的】 1.掌握用递归下降分析法进行语法分析的方法。加深对自顶向下语法分析原理的理解。 2.掌握设计、编制并调试自顶向下语法分析程序的思想和方法。 3.本实验是高级语言程序设计、数据结构和编译原理中词法分析、自顶向下语法分析原理等知 识的综合。由于语法分析…...
【随身wifi】青龙面板保姆级教程
0.操作前必看 本教程基于Debian系统,从Docker环境。面板安装,到最后拉取脚本的使用。 可以拉库跑狗东京豆,elm红包等等,也可以跑写自己写的脚本,自行探索 重要的号别搞,容易黑号,黑号自己负责…...
从一到无穷大 #45:InfluxDB MCP Server 构建:从工程实践到价值重构
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 工程实践遇到的问题MCP Host选择开发流程 结果展现可能性展望工作生活带来的变化 MCP…...
app逆向专题五:新快报app数据采集
app逆向专题五:新快报app数据采集 一、抓包寻找数据接口二、编写代码三、完整代码一、抓包寻找数据接口 打开charles,并在手机端打开新快报app,点击“广州”或者“经济”等选项卡,抓包,寻找数据接口,如图所示: 二、编写代码 这里介绍一种简便的代码编写方法,在数据…...
使用 lm-eval 评估模型时报错:TypeError: ‘NoneType’ object is not callable 的解决方案
问题描述 在使用 lm-evaluation-harness 进行多 GPU 模型评估时,使用如下命令: accelerate launch --multi-gpu --num_processes 2 \-m lm_eval --model hf \--model_args pretrained${local_model_path} \--tasks mmlu \--batch_size 8 \--log_sample…...
脉冲耦合神经网络(PCNN):图像处理中的强大工具
文章目录 一、PCNN 的起源与背景二、PCNN 的基本原理(一)模型结构(二)工作方式(三)动态阈值与脉冲特征三、PCNN 在图像处理中的应用(一)图像分割(二)边缘检测(三)纹理分析四、PCNN 的实现与优化环境准备PCNN 类定义图像分割示例在图像处理和计算机视觉领域,神经网…...
【Git】从零开始使用git --- git 的基本使用
哪怕是野火焚烧,哪怕是冰霜覆盖, 依然是志向不改,依然是信念不衰。 --- 《悟空传》--- 从零开始使用git 了解 Gitgit创建本地仓库初步理解git结构版本回退 了解 Git 开发场景中,文档可能会经历若干版本的迭代。假如我们不进行…...
React Hooks 的使用
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
【NIO番外篇】之组件 Channel
目录 一、什么是NIO Channel?二、常见的Channel组件及其用法1. FileChannel2. SocketChannel3. ServerSocketChannel4. DatagramChannel 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下&a…...
探秘 Ruby 与 JavaScript:动态语言的多面风采
1 语法特性对比:简洁与灵活 1.1 Ruby 的语法优雅 Ruby 的语法设计旨在让代码读起来像自然语言一样流畅。它拥有简洁而富有表现力的语法结构,例如代码块、符号等。 以下是一个使用 Ruby 进行数组操作的简单示例: # 定义一个数组 numbers [1…...
高频面试题(含笔试高频算法整理)基本总结回顾21
干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...
深入浅出一下Python函数的核心概念与进阶应用
本篇技术博文摘要 🌟 本文系统梳理了Python函数的核心知识点,从基础概念到高级特性,构建了完整的函数编程知识体系。内容涵盖:变量作用域的局部与全局划分、函数注释的规范写法、参数传递中值与引用的区别、匿名函数的灵活应用&am…...
【漫话机器学习系列】198.异常值(Outlier)
异常值(Outlier)全面指南 —— 检测、分析与处理 作者:Chris Albon(图源) 场景:数据清洗与特征工程必备技能 一、什么是异常值(Outlier) 定义 异常值(Outlier࿰…...
React 记账本项目实战:多页面路由、Context 全局
在本文中,我们将分享一个使用 React 开发的「记账本」项目的实战经验。该项目通过 VS Code 完成,包含首页、添加记录页、编辑页等多个功能页面,采用了 React Router 实现路由导航,使用 Context API 管理全局的交易记录状态,并引入数据可视化组件呈现不同月份的支出情况。项…...
[React] 如何用 Zustand 构建一个响应式 Enum Store?附 RTKQ 实战与 TS 架构落地
[React] 如何用 Zustand 构建一个响应式 Enum Store?附 RTKQ 实战与 TS 架构落地 本文所有案例与数据为作者自行构建,所有内容均为技术抽象示例,不涉及任何实际商业项目 自从之前尝试了一下 zustand 之后,就发现 zustand 是一个轻…...
DeepSeek在职场办公中的高效指令运用与策略优化
摘要 随着人工智能技术的飞速发展,大型语言模型在各个领域的应用日益广泛。DeepSeek作为一款具有影响力的AI产品,为职场办公带来了新的变革与机遇。本文深入剖析DeepSeek在职场办公场景下的提示词指令运用,通过对提示词概念、作用、设计原则的…...
mysql事务脏读 不可重复读 幻读 事务隔离级别关系
看了很多文档,发现针对事务并发执行过程中的数据一致性问题,即脏读、不可重复读、幻读的解释一塌糊涂,这也不能说什么,因为官方SQL标准中的定义也模糊不清。 按照mysql中遵循的事务隔离级别,可以梳理一下其中的关系 隔…...
Fork/Join框架与线程池对比分析
Fork/Join框架与线程池对比分析 1. 概述 线程池(如ThreadPoolExecutor)是Java并发编程中用于管理线程生命周期的通用工具,适用于处理大量独立任务。Fork/Join框架(基于ForkJoinPool)是Java 7引入的专用框架ÿ…...
docker 安装 Gitlab
GitLab 安装 #创建容器数据卷映射目录 mkdir -p /usr/docker/gitlab/config mkdir -p /usr/docker/gitlab/logs mkdir -p /usr/docker/gitlab/data #目录授权 chmod 777 -R /usr/docker/gitlab/*#直接复制可用(记得改下宿主机ipv4,不知道怎么看,输入i…...
【贪心之摆动序列】
题目: 分析: 这里我们使用题目中给的第二个实例来进行分析 题目中要求我们序列当中有多少个摆动序列,摆动序列满足一上一下,一下一上,这样是摆动序列,并且要输出摆动序列的最长长度 通过上面的图我们可以…...
kubectl修改资源时添加注解
kubectl修改资源时添加注解 kubectl修改资源时添加注解老版本的注解(变化注解)删除Annotations查看Annotations信息 查看发布记录回滚 kubectl修改资源时添加注解 参考: 为什么我们要使用kubectl apply 修改资源时,在命令行后添加 --save-configtrue ,就会自动添加此次修改的…...
【C++初学】课后作业汇总复习(四) 复数类与运算符重载
1、复数类输出 如题,要求实现: 1、复数类含两个参数的构造函数,一个为实部,一个为虚部 2、用Show()现实复数的值。 输出 (23i) //如题,要求实现: // //1、复数类含两个参数的构造函数&…...
十四、C++速通秘籍—函数式编程
目录 上一章节: 一、引言 一、函数式编程基础 三、Lambda 表达式 作用: Lambda 表达式捕获值的方式: 注意: 四、函数对象 函数对象与普通函数对比: 五、函数适配器 1、适配普通函数 2、适配 Lambda 表达式 …...
复刻系列-星穹铁道 3.2 版本先行展示页
复刻星穹铁道 3.2 版本先行展示页 0. 视频 手搓~星穹铁道~展示页~~~ 1. 基本信息 作者: 啊是特嗷桃系列: 复刻系列官方的网站: 《崩坏:星穹铁道》3.2版本「走过安眠地的花丛」专题展示页现已上线复刻的网…...
阿里云备案有必要选择备案管家服务吗?自己ICP备案可以吗?
阿里云备案有必要选择备案管家服务吗?新手可以选择备案管家,备案管家不需要自己手动操作,可以高效顺利通过ICP备案。自己ICP备案可以吗?自己备案也可以的,也很简单,适合动手能力强的同学。 阿里云备案管家…...
SQL语言基础(二)--以postersql为例
上次教程我们讲述了数据库中的增,删,改语句,今天我们来学习最后一个–‘改’的语句。 1.select语法 数据库查询只有select一个句子,但select语法相对复杂,其功能丰富,使用方式也很灵活 SELECT [ALL|Dist…...
探索 Rust 语言:高效、安全与并发的完美融合
在当今的编程语言领域,Rust 正以其独特的魅力吸引着越来越多开发者的目光。它诞生于 Mozilla 实验室,旨在解决系统编程中长久以来存在的难题,如今已成为构建可靠、高效软件的有力工具。 1 内存安全 Rust 通过所有权(ownership&a…...
最大公约数和最小倍数 java
在Java中,计算两个数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是常见的编程问题。以下是具体的实现方法和代码示例。 --- ### **1. 最大公约数 (GCD)** 最大公约数是指…...
OpenHarmony Camera开发指导(三):相机设备输入输出(ArkTS)
相机应用可通过创建相机输入流调用并控制相机设备,创建不同类型的输出流,进而实现预览、拍照、录像等基础功能。 开发步骤 在创建相机设备输入之前需要先完成相机设备管理,详细开发步骤可参考上一篇文章。 创建相机输入流 通过cameraMana…...
通过分治策略解决内存限制问题完成大型Hive表数据的去重的PySpark代码实现
在Hive集群中,有一张历史交易记录表,要从这张历史交易记录表中抽取一年的数据按某些字段进行Spark去重,由于这一年的数据超过整个集群的内存容量,需要分解成每个月的数据,分别用Spark去重,并保存为Parquet文…...
融媒体中心智能语音识别系统设计与实现
县级融媒体中心智能语音识别系统设计与实现 序言 随着融媒体时代的快速发展,新闻采编、专题节目制作对语音转写效率的要求日益提高。作为基层融媒体中心的技术工程师,我们在实际工作中常面临以下痛点: 采访录音整理耗时:传统人…...
学习笔记九——Rust所有权机制
🦀 Rust 所有权机制 📚 目录 什么是值类型和引用类型?值语义和引用语义?什么是所有权?为什么 Rust 需要它?所有权的三大原则(修正版)移动语义 vs 复制语义:变量赋值到底…...
计算机视觉算法实现——电梯禁止电瓶车进入检测:原理、实现与行业应用(主页有源码)
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 1. 电梯安全检测领域概述 近年来,随着电动自行车(以下简称"电瓶车"&…...
扩散模型 Diffusion Model 整体流程详解
🧠 Diffusion Model 思路、疑问和代码 文章目录 🧠 Diffusion Model 思路、疑问和代码🔄 一、核心思想:从噪声到图像📦 二、正向过程:加噪🧠 三、反向过程:学习去噪🎯 目…...
[Spark]深入解密Spark SQL源码:Catalyst框架如何优雅地解析你的SQL
本文内容组织形式 总结具体例子执行语句解析层优化层物理计划层执行层 猜你喜欢PS 总结 先写个总结,接下来会分别产出各个部分的源码解析,Spark SQL主要分为以下五个执行部分。 具体例子 接下来举个具体的例子来说明 执行语句 SELECT name, age FR…...
【数据结构_7】栈和队列(上)
一、概念 栈和队列,也是基于顺序表和链表实现的 栈是一种特殊的线性表,其只允许在固定的一段进行插入和删除元素操作。 遵循后进先出的原则 此处所见到的栈,本质上就是一个顺序表/链表,但是,实在顺序表/链表的基础…...
Linux中的cat命令常见用法
在 Linux 中,cat 命令是 concatenate(连接)的缩写,意思是“连接”或“串联”。 基本功能 cat 命令的主要功能是用于查看、合并和创建文件。它会将一个或多个文件的内容输出到标准输出设备(通常是终端屏幕)…...
css - 实现三角形 div 容器,用css画一个三角形(提供示例源码)简单粗暴几行代码搞定!
效果图 如下图所示,让一个 div 变成三角形,并且可随意更改大小, 本文提供了可运行示例源码,直接复制即可。 实现源码 建议创建一个 demo.html 文件,一键复制代码运行。 <style> .div{width: 0px;height: 0px…...
springboot 项目 jmeter简单测试流程
测试内容为 主机地址随机数 package com.hainiu.example;import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotat…...
设计模式实践:模板方法、观察者与策略模式详解
目录 1 模板方法1.1 模板方法基本概念1.2 实验1.2.1 未使用模板方法实现代码1.2.2 使用模板方法的代码 2 观察者模式2.1 观察者模式基本概念2.2 实验 3 策略模式3.1 策略模式基本概念3.2 实验 1 模板方法 1.1 模板方法基本概念 定义:一个操作中的算法的骨架 &…...
Google的AI模型Gemini和Gemini网络协议
粉丝私信问我:gemini如何访问? "Gemini如何访问"需明确区分两种完全不同的技术体系:Google的AI模型Gemini和Gemini网络协议。以下是两者的访问方式详解: 一、访问Google的Gemini AI模型 1. 通过Web应用 地址…...