网络原理-初识
1.网络的发展历程
独立模式
独立模式:计算机之间相互独立。 每个终端A、B、C各自持有客户端数据
网络互连
随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即可以多个计算机协调工作来完成业务,就有了网络互连。
网络互连:将多台计算机连接在一起,完成数据共享。数据共享的本质是网络数据传输,即计算机通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以分为局域网和广域网。
局域网:多个设备连在同一个路由器下称为局域网。局域网主机之间能够方便的进行通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。
局域网组件网络的方式有很多:
(1)基于网络直连
(2)基于集线器组建
(3)基于交换机组建
交换机可以视为是对路由器的接口进行扩展
(4)基于交换机和路由器组建
路由器是进行组件局域网
广域网:很多个局域网组合到一起构成了一个更大的局域网就称为广域网。在qq音乐上听歌就是在广域网下进行的操作。
网络通信基础:网络进行互联的目的是进行网络通信,也是网络数据传输,更具体一点是网络主机中的不同进程间基于网络传输数据,那如何判断到底是从那台主机上将数据传输到那台主机呢?这就需要使用IP地址来标识
IP地址:主要是用来标识设备所在位置。同时一台主机上有很多程序,具体要交给哪个程序呢就需要端口号来识别了
端口号:端口号主要就是用于点位主机中的进程。直到IP和端口号我们可以找到网络中唯一的进程但是数据传输过来的时候我们如何进行解析呢?这里我们需要直到协议,协议会规定双方数据的格式从而识别你发的是文本还是图片。
2.认识协议
2.1概念
协议就是网络协议的简称,网络协议就是通信双方对于发送和接受数据格式的约定。我的数据怎么发你就怎么解析。当前我们之所以能够进行通信就是因为遵守了同一套协议。进行一次网络通信涉及到5个非常关键的信息,即五元组。
2.2五元组
在TCP、IP协议中用五元组来标识一个网络通信:
1.源IP:标识主机,数据是从哪个主机上来的
2.源端口:标识源主机中该次通信发松数据的进程,即数据是从哪个软件发来的
3.目的IP:标识目的主机
4.目的端口:标识主机中该次通信接收数据的进程,数据要发到哪里去
5.协议号:标识发送发送进程和接受进程双方约定的数据格式
2.3协议分层
网络通信非常复杂,如果我们设计一个协议完成网络通信中的方方面面势必会使这个协议非常复杂非常庞大,遇到这样的情况我们就需要协议分层。把一个大的协议分层若干个功能单一的协议。但是拆完之后又感觉多了,怎么办?把小的协议进行归类。为了议之间进行良好的交互就规定只有相邻之间可以进行交互,上层协议可以调用下层协议,下层协议可以给上层提供服务,不能夸层进行。协议分层带来的好处有哪些呢?首先上层协议不需要了解下层协议的细节即封装,分层之后可以灵活地替换其中某一层对于整体的工作影响最小即解偶。那真实的互联网具体是怎样分层的呢?这里就使用了OSI七层网络模型,
2.4 OSI七层网络模型
OSI七层网络模型比较复杂,实际具体的网络分层方式更简化只是使用七层模型设计中部分模型,TCP/IP五层模型来实现。接下来我们介绍一下TCP/IP五层模型
2.5五层模型
(1)应用层:数据发送过去之后如何使用解决什么问题。注重一个事务的使用过程,包裹拿到之后怎样使用。
(2)传输层:负责两台主机之间的数据传输,也是任意设备之间的通信,不考虑中间过程,只考虑起点和终点。比如在淘宝买衣服,卖家站在传输层角度,卖家只需要考虑包裹收货到货的地点,从哪里来到哪里去,把包裹交给快递小哥就好。物流公司则是要考虑包裹怎样一步一步到我的手里。
(3)网络层:两个任意设备之间如何通信,这两个设备之间可能隔着很多的交换机和路由器。考虑通讯的中间过程是怎样的。
(4)数据链路层:用来完成两个相邻的设备之间如何进行通信。什么是相邻设备:通过网线把电脑连到路由器和交换机上,电脑和路由器、交换机就是相邻设备。
(5)物理层:越接近底层越靠近硬件,物理层规定网络通信中的一些硬件设施符合要求。在我们上网时通常要网线、wifi、光纤。物理层的协议就是约定这些硬件设施要符合的要求怎样的。
网络层是基于数据链路层,数据链路层是基于物理层。
网络设备所在分层
主机:工作中涉及到物理层到应用层,通过应用程序满足网络通信的需求
路由器:工作过程涉及到,从物理层到网络层,组件局域网进行网络数据包的转发
交换机:工作过程涉及到从物理层到数据链路层,对路由器接口的扩展不需要考虑网的问题
3. 网络数据通信的基本流程
我们先来解析qq发送hello给对方。
1.首先应用程序获取用户输入构造一个应用层的数据包(数据包往往是结构化数据),构造应用层数据包时就要遵守应用层协议,这个协义往往是开发这个程序的程序员自己定义的。 假设这里的协议格式是:发送者的qq号、接受者的qq号、消息的时间、消息正文。数据包里数据就是有上述协议里指的属性,要想发送数据我们就需要把数据转化成字符串二进制比特流(序列化),接收数据的时候字符串、二进制比特流转化成结构化数据(反序列化)。网络传输的本质就是0101这样的数据,网络传输需要事的网线是电信号通过高低电平表示01,还有光纤则是光信号通过高低频光表示01,wifi是电磁波(光信号)通过高低频电磁波表示01.
按照约定格式我们可以假设传输的数据格式如下:1234567,7654321,2024-11.02,12.00,hello
2.应用程序调用传输层提供的接口API,把数据交给传输层(传输层构造的API我们可以叫做Socket api,api是下层协议给上层提供的),传输层拿到数据之后构造“传输层数据包”。传输层的协议主要是有两个TCP和UDP这里我们假设加的是TCP。于是传输层数据报如下所示:
TCP数据包 = TCP报头(header)+TCP(载荷),tcp报头是TCP功能相关的属性源端口、目的端口,载荷是应用层数据报
那为啥要加TCP,假设我们在淘宝买一件衣服,那卖家不是直接随意一团扔给快递小哥,而是打包好给快递小哥,有了包装之后就可以贴标签,快递下个就可以根据这个标签包含的关键信息送达目的地。TCP报头就是相当于快递单
3. 传输层构造好数据之后继续调用网络层的API,把传输层的数据包交给网络层,网络层继续进行处理,网络层最主要的协议IP协议,IP协议继续对上述数据包进行加工,加上IP报头。IP报头和上面的格式一样。IP数据包 = IP报头(包含源IP目的和目的IP)+IP载荷(整个传输层的数据包),这里的IP报头会记录当前传输层使用的是哪个协议,传输层报头中也会记录应用层使用哪个协议,数据链路层也会记录网络层使用哪个协议
4.IP协议继续调用数据链路层的API,把IP数据包交给数据链路层,数据链路层中的核心协议是以太网,以太网这个协议也会在网络数据包的基础上进一步加工。以太网数据帧 = 帧头+载荷+帧尾
谈到网络数据传输的基本数据单位时候,涉及到多个术语 。网络数据报/包/段/帧
5.以太网继续把这样的数据交给硬件设备(网卡),网卡会把上述二进制数据最终以光信号、电信号、电磁波信号传播出去了
这里不考虑传播出去的数据如何到达主机我们考虑收到之后的事情
信息接收
1.信息到达接收方的网卡,网卡把光电信号还原成二进制0101,之后把二进制数据交给上层数据链路层
物理层数据是咋来的和数据链路层是直接相关的,如果数据是通过网线和光纤来的那就是以太网的形式传到数据链路层,如果数据是通过wifi来的那么久会通过802.11协议来传到数据链路层
2.数据链路层按照以太网协议进行解析,把报头和报尾取出来,剩下的载荷往上传递给网络层
以太网的帧头中有专门的属性描述网络层使用哪个协议
3.网络层拿到这个数据之后按照IP协议的格式解析,再把载荷数据交给传输层
IP报头中也有专门的属性描述了使用哪个协议
4.传输层拿到数据之后也是类似按照TCP协议来解析取出载荷交给应用层
5.qq应用程序解析应用层数据,拿到关键信息,展示带界面上给出提示,
传输的中间过程中也是涉及到封装分用的,交换机只需要封装分用到数据链路层即可,主机的数据传输到交换机,交换机收到数据之后物理层解析再之后数据链路层解析(没有网络层)之后重新构造出新的以太网数据帧发给下一个设备,数据链路层中得到的以太网数据帧的帧头信息就足够支持交换机进行下一步工作。交换机的主要工作是在数据链路层进行二层转发。
主机的数据交给路由器,路由器收到之后物理层、数据链路层。网络层解析(没有传输层),重新构造出新的网络数据包(以太网数据帧),构造二进制数据进行转发。路由器是工作在网络层进行三层转发。
相关文章:
网络原理-初识
1.网络的发展历程 独立模式 独立模式:计算机之间相互独立。 每个终端A、B、C各自持有客户端数据 网络互连 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即可以多个计算机协调工作来完成业务,就有…...
uniapp动态表单
使用了uniapp自带扩展组件和uv-ui组件库自行安装下载 <template><view class"assetEdit_container"><view class"type-box"><uv-formlabelPosition"left"labelWidth"140rpx":model"formData"ref"…...
基于智能语音交互的智能呼叫中心工作机制
在智能化和信息化不断进步的现代,智能呼叫中心为客户提供高质量、高效率的服务体验,提升众多品牌用户的满意度和忠诚度。作为实现智能呼叫中心的关键技术之一的智能语音交互技术,它通过集成自然语言处理(NLP)、语音识别…...
flask的第一个应用
本文编写一个简单的实例来记录下flask的使用 文章目录 简单实例flask中的路由无参形式有参形式 参数类型不同的http方法本文小结 简单实例 flask的依赖包都安装好之后,我们就可以写一个最简单的web应用程序了,我们把这个应用程序命名为first.py: from fl…...
macOS开发环境配置与应用开发
macOS开发环境配置与应用开发 在数字化时代,软件开发已成为推动各行各业创新的重要引擎。macOS,作为苹果公司推出的操作系统,以其强大的性能、优雅的用户界面和丰富的开发工具,吸引了无数开发者的目光。本文将深入探讨macOS开发环…...
【SpringBoot】整合篇
1、log4j2 第一步,导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions><!-- 去掉springboot默认配置 --> <exclusion> <…...
Vue实战技巧:如何展示附件(PDF、MP4、Excel、Zip等)并修改名称下载
大家好,今天给大家分享一篇关于在Vue项目中展示附件(PDF、MP4、Excel、Zip等)并修改名称下载的教程。在实际开发过程中,这个功能非常实用,下面我们就一起来学习一下。 一、准备工作 首先,确保你的项目中已经…...
多线程运行时,JVM(Java虚拟机)的内存模型
在多线程运行时,JVM(Java虚拟机)的内存模型主要涉及以下几个方面: 1. 主内存和工作内存 JVM内存模型定义了主内存和工作内存的概念。主内存是所有线程共享的内存区域,而工作内存是每个线程私有的内存区域。线程对变量…...
VS与SQL Sever(C语言操作数据库)
作者这里使用的是程序是: Visual Studio SQL Sever (1 对VS的操作 1.首先我们打开Visual Studio Installer,并以管理员身份运行 2.点击修改 3.先选择数据存储和处理,再在右方添加处理工具&#…...
一次奇妙的getshell之旅
1. 资产收集时发现一个网站: https://xxxxxxxxxx/ischool/publish_page/0/ 发现存在管理员登陆: 这里之前在该旁站找到一个SQL注入,然后找到的这个账户密码(这里如何从SQL注入找到账户密码前借鉴前面的报告。): 账号&…...
C# 集合(Collection)
文章目录 前言一、动态数组(ArrayList)二、哈希表(Hashtable)三、排序列表(SortedList)四、堆栈(Stack)五、队列(Queue)六、点阵列(BitArray&…...
深度学习模型:门控循环单元(GRU)详解
本文深入探讨了门控循环单元(GRU),它是一种简化版的长短期记忆网络(LSTM),在处理序列数据方面表现出色。文章详细介绍了 GRU 的基本原理、与 LSTM 的对比、在不同领域的应用以及相关的代码实现,…...
深入浅出:开发者如何快速上手Web3生态系统
Web3作为互联网的未来发展方向,正在逐步改变传统互联网架构,推动去中心化技术的发展。对于开发者而言,Web3代表着一个充满机遇与挑战的新领域,学习和掌握Web3的基本技术和工具,将为未来的项目开发提供强大的支持。那么…...
HCIA笔记6--路由基础与静态路由:浮动路由、缺省路由、迭代查找
文章目录 0. 概念1.路由器工作原理2. 跨网访问流程3. 静态路由配置4. 静态路由的应用场景4.1 路由备份4.2 浮动路由4.3 缺省路由 5. 迭代路由6 问题6.1 为什么路由表中有的下一跳的地址有接口?6.2 个人电脑的网关本质是什么? 0. 概念 自治系统ÿ…...
【北京迅为】iTOP-4412全能版使用手册-第三十二章 网络通信-TCP套字节
iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…...
图片预处理技术介绍4——降噪
图片预处理 大家好,我是阿赵。 这一篇将两种基础的降噪算法。 之前介绍过均值模糊和高斯模糊。如果从降噪的角度来说,模糊算法也算是降噪的一类,所以之前介绍的两种模糊可以称呼为均值降噪和高斯降噪。不过模糊算法对原来的图像特征的…...
Java基础面试题12:Java中的两种异常类型是什么?它们有什么区别?
在 Java 中,异常是非常重要的一部分。理解异常的种类和它们的区别,是每个 Java 开发者都需要掌握的基础技能。 Java 中的异常分类 Java 中异常的根本来源是 Throwable 类,它包含了两大类:错误(Error)和异常…...
MySQL5.6升级MySQL5.7
升级方式介绍 08 数据库服务版本升级方法 5.6 – 5.7 – 8.0 数据库版本升级方法: Inplace-本地升级 步骤一:在同一台服务器中,需要部署高版本数据库服务实例步骤二:低版本数据库中的数据进行备份迁移,迁移到高版本…...
Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型)
Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型) 目录 Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型) 1. 项目说明 2. 数据说明 (1)心跳信号分类预测数据集 3. 模型训练 (1)项目安装 &…...
走进科学json版:在 JSON 格式中,字符串值必须使用双引号 “ 来界定,而不能使用单引号 ‘
走进科学疑难问题出现 在调试fastapi程序的时候,报错碰到422错误 INFO: 192.168.0.99:46536 - "POST /v1/chat/completions/ HTTP/1.1" 422 Unprocessable Entity 干净利索,只有这一句报错,不管代码里加入多少print语句查看…...
【C#】书籍信息的添加、修改、查询、删除
文章目录 一、简介二、程序功能2.1 Book类属性:方法: 2.2 Program 类 三、方法:四、用户界面流程:五、程序代码六、运行效果 一、简介 简单的C#控制台应用程序,用于管理书籍信息。这个程序将允许用户添加、编辑、查看…...
博泽Brose EDI项目案例
Brose 是一家德国的全球性汽车零部件供应商,主要为全球汽车制造商提供机电一体化系统和组件,涵盖车门、座椅调节系统、空调系统以及电动驱动装置等。Brose 以其高质量的创新产品闻名,在全球拥有多个研发和生产基地,是全球第五大家…...
Macos用brew安装Nodejs亲手教程
首先确保brew已安装,搜索node资源,命令如下: brew search nodejs 演示结果如下: 安装nodejs brew install node22 或 brew install node 出现如下界面 表示正在安装,安装成功后,提示如下信息࿱…...
开发一套ERP 第十弹 图片作为配置文件,本地读取图片,定时更新图片类型
echo Hello World在同一数据库中在建一个图床数据表,产品一,一对应,图片命名 最优的方案,使用 rust 在构建一个 http server 用于管理非数据库资源,也可以将来对接不同的图床,部署方便 考虑到数据库资源和图片资源,都可以被远程访问这种方法最佳...
终端环境下关闭显示器
终端环境下关闭显示器 使用vbetool vbetool 使用 lrmi 来运行视频 BIOS 中的代码。目前,它能够更改 DPMS 状态、保存/恢复视频卡状态并尝试从头开始初始化视频卡。 vbetool dpms off...
基于PySpark 使用线性回归、随机森林以及模型融合实现天气预测
基于PySpark 实现天气预测与模型集成 在大数据分析与机器学习领域,Spark 提供了强大的计算能力和灵活的扩展性。本文将介绍如何利用 PySpark 完成以下任务: 1、数据预处理:清洗和编码天气数据。 2、特征工程:合并数值和分类特征…...
Android Studio 右侧工具栏 Gradle 不显示 Task 列表
问题: android studio 4.2.1版本更新以后AS右侧工具栏Gradle Task列表不显示,这里需要手动去设置 解决办法: android studio 2024.2.1 Patch 2版本以前的版本设置:依次打开 File -> Settings -> Experimental 选项&#x…...
Linux详解:文件权限
文章目录 前言Linux文件权限基础文件成员与三组权限字符 权限的修改修改文件所有者总结 前言 在浩瀚的操作系统世界中,Linux以其开源、灵活和强大的特性,成为了服务器、开发环境以及众多个人用户的首选。而在Linux的众多特性中,文件权限机制…...
Linux条件变量线程池详解
一、条件变量 【互斥量】解决了线程间同步的问题,避免了多线程对同一块临界资源访问产生的冲突,但同一时刻对临界资源的访问,不论是生产者还是消费者,都需要竞争互斥锁,由此也带来了竞争的问题。即生产者和消费者、消费…...
CLIP模型也能处理点云信息
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
编译MT7620 OpenWrt的所有机型的固件
前置条件:准备VMware16Ubuntu16.04的编译环境 安装编译需要的插件 sudo apt-get install gcc g binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git-core uuid…...
C_字符串的一些函数
1.字符串输入函数 scanf("%s",数组名); gets(数组名); 区别: scanf(“%s”,数组名); 把空格识别为输入结束 #include <stdio.h>int main() {char a[10];printf("输入:");scanf("%s",a)…...
pytest自定义命令行参数
实际使用场景:pytest运行用例的时候,启动mitmdump进程试试抓包,pytest命令行启动的时候,传入mitmdump需要的参数(1)抓包生成的文件地址 (2)mitm的proxy设置 # 在pytest的固定文件中…...
【OpenAI库】从0到1深入理解Python调用OpenAI库的完整教程:从入门到实际运用
文章目录 Moss前沿AI一、初识OpenAI API1.1 获取API-Key(两种方案)1.2 安装OpenAI库 二、Python调用OpenAI API的基础设置2.1 设置API密钥和Base URL2.2 参数详解 三、构建一个简单的聊天应用3.1 创建聊天请求3.2 参数详解3.3 处理响应 四、完整代码示例…...
设计模式---建造者模式
建造者模式 一种创建型设计模式,它允许你一步一步地构建复杂对象。通过使用建造者模式,你可以将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。说白点就是,解决了构造函数创建对象的问题。 适用于那种构造函…...
安装MySQL 5.7 亲测有效
前言:本文是笔者在安装MySQL5.7时根据另一位博主大大的安装教程基础上做了一些修改而成 首先在这里表示对博主大大的感谢 下面附博主大大地址 下面的步骤言简意赅 跟着做就不会出错 希望各位读者耐下心来 慢慢解决安装中出现的问题~MySQL 5.7 安装教程(全…...
delphi 12 idhttpsever(S)+idhttp(C) 实现简单的JSON API服务
这篇博客展示了如何使用Delphi创建一个简单的HTTP服务器,并处理GET和POST请求。服务器监听6600端口,响应JSON格式的数据。客户端通过IdHttp组件进行GET和POST请求,获取并显示服务器响应的内容。 http服务器测试代码 procedure TForm1.FormSh…...
SVM支持向量机分类——基于Python实现
SVM支持向量机分类 1.描述统计 from numpy import * from scipy import * from pandas import * import matplotlib.pyplot as pltimport seaborn as sns glassread_csv(../data/第5章数据/Glass.csv,sep,) glass.head() glass[Type].value_counts()Type 2 76 1 70 7 …...
k8s使用的nfs作为sc。
k8s使用的nfs作为sc。 当前出现一个问题: 1.有一个pod他是通过流进行文件解压并写入到nfs服务器对应的目录中。 2.一个大压缩包下有20多个压缩包,递归解压。解压完成后应该是20多个文件夹,文件夹下有.json文件。 3.pod中的程序解压后去找以.j…...
tp6 合成两个pdf文件(附加pdf或者替换pdf)
最近在做项目有个需求,项目中需要根据设置的html合同模板自动生成PDF合同供客户下载签署,并根据回传的已签署合同尾页来替换原来未签署合同的尾页,合成新的已签署合同文本。 读取两个PDF文件并合成的 具体代码记录如下: use set…...
SpringBoot
SpringBoot简介 SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程 SpringBoot快速入门 新建maven工程,导入SpringBoot父工程以及依赖 <?xml version"1.0" encoding"UTF-8"?>…...
2024第六届金盾信安杯Web 详细题解
比赛一共4道Web题,比赛时只做出三道,那道文件上传没有做出来,所以这里是另外三道题的WP 分别是 fillllll_put hoverfly ssrf fillllll_put 涉及: 绕过exit() 死亡函数 php://filter 伪协议配合base64加解密 一句话木马 题目源码: $content参数在开头被…...
The selected directory is not a valid home for Go SDK
在idea里配置go语言的环境时,选择go语言的安装目录,一直提示这个 The selected directory is not a valid home for Go SDK后来查了一下,发现原来idea识别不出来 需要改一下配置文件,找到go环境的安装目录,我是默认安…...
《智能体雏形开发(高阶实操)》开发计划概述
智能体雏形开发计划 通过本计划,逐步完成一个可以真实运行的智能体雏形。 最终完成一个**“用户日志文件生成日报,日报再进一步汇总成周报”**的任务驱动型智能体雏形 第一阶段:基础准备与环境搭建 1. 学习基础知识 了解智能体的概念、类型和技术框架。学习大模型(如阿里…...
【查询基础】.NET开源 ORM 框架 SqlSugar 系列
💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…...
【Linux】设计文件系统(C实现)
要求: (1)可以实现下列几条命令 dir 列文件目录 create 创建文件 delete 删除文件 read 读文件 write 写文件 (2)列目录时要列出文件名、存取权限(八进制)、文件长度、时间(创建时间,修改时间以及…...
Redis+Caffeine 多级缓存数据一致性解决方案
RedisCaffeine 多级缓存数据一致性解决方案 背景 之前写过一篇文章RedisCaffeine 实现两级缓存实战,文章提到了两级缓存RedisCaffeine可以解决缓存雪等问题也可以提高接口的性能,但是可能会出现缓存一致性问题。如果数据频繁的变更,可能会导…...
SpringMVC(二)
Model 以Map方式进行存储,用于向作用域中存值。 注意:在Model中增加模型数据,若不指定key,则默认使用对象的类型作为key Controller //控制器类 public class IndexController {RequestMapping("/index3")public Strin…...
leetcode--螺旋矩阵
LCR 146.螺旋遍历二维数组 给定一个二维数组 array,请返回「螺旋遍历」该数组的结果。 螺旋遍历:从左上角开始,按照 向右、向下、向左、向上 的顺序 依次 提取元素,然后再进入内部一层重复相同的步骤,直到提取完所有元…...
动手学深度学习10.5. 多头注意力-笔记练习(PyTorch)
本节课程地址:多头注意力代码_哔哩哔哩_bilibili 本节教材地址:10.5. 多头注意力 — 动手学深度学习 2.0.0 documentation 本节开源代码:...>d2l-zh>pytorch>chapter_multilayer-perceptrons>multihead-attention.ipynb 多头注…...