计算机网络(1)——概述
1.计算机网络基本概念
1.1 什么是计算机网络
- 计算机网络的产生背景
在计算机网络出现之前,计算机之间都是相互独立的,每台计算机只能访问自身存储的数据,无法与其他计算机进行数据交换和资源共享。这种独立的计算机系统存在诸多局限性:
资源利用率低:计算机的资源(如处理器、内存、硬盘等)只能被自身利用,无法被其他计算机共享,导致资源浪费
计算能力有限:单台计算机的处理能力有限,无法处理复杂的计算任务或者大规模的数据处理
数据共享困难:每台计算机都是独立的存储设备,无法被其他计算机访问,只能通过物理介质进行信息传递(如:利用U盘拷贝)
随着通信技术和计算机技术的不断发展推动了计算机网络的诞生,所以说:
计算机网络是通信技术与计算机技术紧密结合的产物
定义:计算机网络就是
互连
的、自治
的计算机集合
互连
:计算机之间互联互通
自治
:计算机之间无主从关系
在早期时,主机数量有限,因此主机之间可以使用物理介质进行直连
但随着主机数量的增减,物理直连的成本过高,交换网络的概念应运而生
1.2 什么是Internet
- 从组成细节角度来看:
Internet是全球最大的互联网络,由ISP(互联网服务提供商,Internet Service Provider)网络互连的网络之网络。换言之,Internet是由多个独立网络互联而成的一个庞大的网络系统,它主要有以下几个组成部分:
(1)成千上万的互连的计算设备
集合(PC、手机等)
(2)通信链路
(光纤、卫星等)
(3)交换网络
:实现数据的分组转发(路由器、交换机等)
- 从服务角度来看:能为用户提供什么服务
(1)为网络应用提供通信服务基础设施
:光纤、电缆、路由器等
(2)为网络应用提供应用编程接口(API)
:如网络协议API,DNS API,数据库API等
Question:如果仅有硬件连接,能否保证网络通信中的数据交换?
Answer:不能,还需要协议
1.3 协议
1.3.1 什么是协议
硬件是计算机网络的基础,但是计算机网络中的数据交换必须遵守实现约定好的规则
以交通系统为例:交通系统中有交通规则,规定了车辆和行人如何安全有序地移动。比如,红灯停绿灯行,车辆靠右行驶等。如果一个交通系统中仅有道路(物理条件),而没有交通规则,那么该交通系统是一定会瘫痪的
在计算机网络中也一样,数据之间的交换必须要遵守一定的规则,保证通信的安全性、有序性,这种规则就叫做协议。协议规定了通信实体之间数据交换的格式
、意义
、顺序
以及针对收到的消息所采取的“行为”
1.3.2 协议的三要素
(1)
语法
:定义了数据在网络上传输时的结构和格式
- 1.数据格式:规定了消息中各个字段的顺序、长度、数据类型等
- 2.编码方式:规定了数据在传输过程中如何编码和解码
- 3.信号电平:规定了信号的电压、电流等
(2)
语义
:定义了协议中消息的含义和目的
- 1.字段的解释方式:消息中各个字段代表什么含义
- 2.协议的功能:协议如何实现请求、响应、错误处理等功能
例如:HTTP协议中,GET请求是请求服务器提供指定资源;POST请求是向服务器提交数据
(3)
时序
:定义了消息交换的顺序和时间关系
- 1.事件顺序:规定了消息发送和接收的顺序
- 2.时间间隔:规定了消息发送和接收的时间间隔
- 3.超时和重传机制:规定了在特定时间内未收到响应时的处理方式 例如:TCP协议三次握手建立连接,这三次交互必须严格按照规定的顺序进行;HTTP协议中,服务器在收到请求后,必须在规定时间内返回响应
2.计算机网络结构
计算机网络结构分为三个部分:
- 1.网络边缘(Network Edge):处于计算机网络的边缘地带
- 2.接入网络:网络边缘和网络核心的中间部分
- 3.网络核心:位于计算机网络的核心地带
2.1 网络边缘
主要由计算设备和运行在计算设备上的应用程序组成,比如:我们的手机和手机上的应用(浏览器)就处于计算机网络边缘。这些计算设备有两种通信模型:
- 1.客户端-服务器(client-sever)应用模型:客户端发送请求,服务器返回响应
- 2.对等(peer-peer,P2P)应用模型:通信在对等设备之间直接进行
以QQ为例:当你在某群聊中发送消息时,你的消息会先到达维护该群聊的服务器,服务器接收到你的消息后利用广播机制再转发给群聊中的其他人,这就是客户端-服务器(client-sever)应用模型;当你给某好友发送消息时,该消息会直接到达对方手机上,而不会再经由服务器转发,这就是对等(peer-peer,P2P)应用模型
2.2 接入网络
负责将处于网络边缘的设备接入到网络核心,主要由两部分组成
- 1.物理介质:光纤、电缆等。这些物理介质提供了计算设备与网络核心之间连接的数据传输通道
- 2.接入技术:调制解调器、无线局域网(WLAN)等。这些接入技术决定了计算设备接入网络的方式(独占/共享)和速度
2.3 网络核心
主要由多个相互连接的路由器组成,负责消息的路由
和转发
。目的是:将消息从源主机传输给目的主机
3.网络核心
Question:如何实现数据通过网络核心从源主机到达目的主机?
Answer:数据交换
,一共有电路交换、报文交换和分组交换三种方式
3.1 电路交换
3.1.1 电路交换
- 概念:在通信开始前,发送方和接收方之间建立一条专用的物理或逻辑连接。这条连接在整个通信过程中保持不变,直到通信结束
- 最典型的电路交换网络:电话网络
- 电路交换的三个阶段:
-
建立连接(拨号->打通电话)
-
通信
-
释放连接(挂断电话)
- 最显著的特点:
独占资源
(当两个人打通电话之后,第三个人是打不进来的)
Question:以上图为例,电话A和电话B建立连接后是独占整个电话网络吗?
Answer:不是的,多个交换机互联组成的电话网络的承载能力,往往可以同时支撑多对电话进行通信。电路交换的独占性指的是:在通信期间,特定的物理线路被某个连接独占,并不代表整个电话网络都被该连接独占。
但是电路交换的独占性确实会导致资源利用率低的问题,所以多路复用技术应运而生
3.1.2 多路复用
多路复用:将链路/网络资源(如贷款)划分为“资源片”分配给各路呼叫(calls),每路呼叫独占分到的资源片。
分配方式可以分为四种,分别是:频分多路复用、时分多路复用、波分多路复用和码分多路复用
- 1.
频分多路复用(FDM)
:将通信信道按照频率分割为多个独立的子信道的技术,允许多路信号信号在同一介质中同时传输二互不干扰
- 2.
时分多路复用(TDM)
:将时间等分为一段段时间复用帧(TDM帧),每路信号在每个TDM帧中占用固定序号的时隙
- 3.
波分多路复用(WDM)
:光通信中的FDM,将通信信道按照波长分割为多个独立的子信道的技术
- 4.
码分多路复用(CDM)
:每路信号被一个唯一的码序列调制,彼此互不干扰
3.2 分组交换
- 概念:数据被分割成多个小的分组,每个分组独立传输,通过网络中的不同路径到达目的地。分组在传输过程中可能会经过多个中间节点(如路由器或交换机)
分组
:在源主机中将数据分割为若干个小的数据包(分片),每个分片都会有一个序号重组
:在目的主机中将分片按照序号进行组装
注意
- 每个分片都会添加额外的控制信息,来保证重组的顺利进行(比如:IP数据包进行分组时,每个分片都会有3位标志位和13位片偏移来控制重组)
- 分组和重组发生在源主机和目的主机,经由中间的路由器时不会发生
3.3 电路交换和分组交换区别
特性 | 分组交换 | 电路交换 |
---|---|---|
资源占用 | 动态分配 | 固定 |
资源利用率 | 高 | 低 |
使用场景 | 突发数据 | 实时流 |
4.计算机网络性能
4.1 速率
- 即
数据率(data rate)
或称数据传输速率
或比特率(bit rate)
:指数据在网络中的传输速率 - 单位:b/s、kb/s、Mb/s、Gb/s(k = 10 ^ 3,M = 10 ^ 6,G = 10 ^ 9)
- 日常生活中给出的速率指标(如百兆网络/千兆网络)一般指的是理想状态下的最大传输速率/额定速率(带宽)
4.2 带宽(bandwidth)
原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz);网络中的“带宽”通常是数字信道所能传输的“最高数据传输速率”
,单位是b/s(bps)
4.3 延迟(delay)
Question:分组交换为什么会有丢包和延迟?
以上图为例,主机A/B要传输一组数据包到路由器Y,首先该组数据包会先到达路由器X,如果此时路由器Y正在传输其他数据,那么该组数据白会先在路由器上保存,当路由器X的缓存满时,后续到达的数据包就会被丢弃,这就叫做丢包
而分组交换的延迟一共分为四种:
- 1.
节点处理延迟(nodal processing delay):
数据到达某一网络设备(如路由器)时会对数据进行差错检测,根据数据中的地址信息判断转发到哪一个路由器或主机,这些操作所花费的时间就叫做节点处理延迟
- 2.
排队延迟(queueing delay):
以上图为例,数据到达路由器X后,等待路由器Y处理完其他数据的时间。一般来说等待时间不确定,取决于路由器的拥塞程度
- 3.
传输延迟(transmission delay):
一组数据包全部通过某网络设备(如路由器)所需的时间。例如:某组分片的大小为10000bit,路由器的带宽是1Mbps(1,000,000bit),传输延迟就是0.01秒
- 4.
传播延迟(propagation ddeelay):
数据在物理介质中从发送端到接收端所需的时间。光纤中的信号传播速度约为2×10^8米/秒,如果传输距离是1000公里,传播延迟就是0.005秒
为了更清楚的区分传输延时和传播延迟的区别:我这里以车队类比数据包
车->
分片;车队->
分组;收费站->
路由器
车速为100km/h->信号传播速度
一辆车通过收费站用时12秒
车队通过收费站用时120秒->传输延迟
一辆车从第一个收费站到达下一个收费站用时1小时->传播延迟
4.4 时延带宽积(Delay-Bandwidth Product,DBP)
时延带宽积(bit) = 传播延迟(s) × 带宽(bps)
表示网络链路中“正在传输”的数据量,即发送端和接收端之间“飞行”中的比特数。所以链路的时延带宽积又称为以比特为单位的链路长度
4.5 丢包率
指在网络传输过程中丢失的数据包数量与总发送数据包数量的比值
4.6 吞吐量
表示在发送端与接收端之间传送数据速率(bps)
即时吞吐量:
给定时刻的速率平均吞吐量:
一段时间的平均速率
吞吐量的大小取决于瓶颈链路的带宽
5.计算机网络体系结构
5.1 计算机网络体系结构概述
什么是计算机网络体系结构?
- 计算机网络体系结构是从功能的角度进行划分的
- 一般采用分层模型来描述,即网络分层
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是网络各层及其协议的集合
- 计算机网络体系结构定义了计算机网络的功能层次以及层次之间的关系
为什么是采用分层结构?
- 结构清晰:网络分层的参考模型(如OSI 7层模型)就严格区分了各层实现的功能和它们之间的关系
- 利于维护更新:任何一层功能的实现对外透明,只提供接口
- 利于标准化:各层之间的接口是标准化的,这可以让不同厂商之间的设备无缝衔接
5.2 OSI 7层模型
OSI 7层模型是国际标准化组织(ISO)在1984年提出的分层网络体系结构,目的是支持不同的网络结构之间互通互联
OSI 7层模型的通信过程
OSI 7层模型数据封装与分用过程
注意:OSI 7层模型只存在于理论中,主要是帮助我们理解网络分层,实际应用中基本上不会按照该模型的标准来分层
5.3 TCP/IP 5层模型
实际应用中一般采用TCP/IP 5层模型的标准,将会话层和表示层的功能集成到应用层里。既简化了整个协议栈的结构,又进一步提高了数据在网络中传输的效率
下面对TCP/IP模型通信过程中封装和分用的流程进行演示:
预设场景:张三给李四在2025年3月21日(只是演示,不精确到秒)这一天给李四发消息,消息内容是"Hello World"
接下来我们以发送方和接收方的视角来观察发送方
1.应用层
假设应用层协议的格式为:接收方QQ号+发送时间+发送方QQ号+内容
应用层将该数据包提交给传输层
2.传输层
传输层把来自应用层的数据包构造成传输层数据报,传输层常用的协议有两个,分别是UDP和TCP。这里以UDP协议为例,在应用层数据包前面添加UDP报头,然后提交给网络层
UDP报头主要包含源端口和目的端口
3.网络层
网络层基于IP协议在UDP数据报前面添加IP报头,然后提交给数据链路层
IP报头主要包含源IP和目的IP
4.数据链路层
数据链路层基于以太网协议在IP数据报的首/尾部添加以太网帧头/尾,打包成以太网数据帧然后提交给物理层
5.物理层
物理层将以太网数据帧中的二进制数据转换成光/电信号,然后数据就被发生出去了
以上就是封装的过程接收方
1.物理层
通过网卡接受到光/电信号,在物理层将光/电信号转换为二进制数据,该二进制数据的格式是以太网数据帧,然后提交给数据链路层进行解析
2.数据链路层
数据链路层把以太网数据帧的帧头和帧尾拆除,将剩下的部分提交给网络层
3.网络层
网络层解析出IP报头,将IP数据报的载荷部分提交给传输层
4.传输层
传输层解析出UDP报头,将UDP载荷部分提交给应用层
5.应用层
应用层将数据包进行解析,然后将内容显示到屏幕上
以上就是分用的过程
相关文章:
计算机网络(1)——概述
1.计算机网络基本概念 1.1 什么是计算机网络 计算机网络的产生背景 在计算机网络出现之前,计算机之间都是相互独立的,每台计算机只能访问自身存储的数据,无法与其他计算机进行数据交换和资源共享。这种独立的计算机系统存在诸多局限性&#…...
融智学视域下的系统性认知增强框架——基于文理工三类AI助理赋能HI四阶跃迁路径
融智学视域下的系统性认知增强框架 ——基于文理工三类AI助理赋能HI四阶跃迁路径 一、如何排除50个认知偏差:消除50类偏差的精准矫正系统 1. 技术架构 文科AI: 构建文化语义场(Cultural Semantic Field, CSF),通过…...
C++ - 仿 RabbitMQ 实现消息队列(2)(Protobuf 和 Muduo 初识)
C - 仿 RabbitMQ 实现消息队列(2)(Protobuf 和 Muduo 初识) Protobuf1. 序列化/反序列化方法(最核心)_InternalSerialize()_InternalParse() 2. 内存管理方法SharedCtor()/SharedDtor()InternalSwap() 3. 字…...
FTP与NFS服务实战:从配置到应用
一、FTP服务进阶:客户端工具与访问控制 1. FTP客户端工具对比 在Linux中,ftp和lftp是常用的FTP客户端工具,功能各有侧重: 工具特点适用场景ftp基础命令交互,需手动输入用户名/密码简单文件传输lftp支持多协议、批量…...
高考AI试题查询系统
高考AI试题查询系统 gitee:https://gitee.com/ltyyyds26/GaoKao_AI 数据 来源:OpenLMLab/GAOKAO-Bench: GAOKAO-Bench is an evaluation framework that utilizes GAOKAO questions as a dataset to evaluate large language models. (github.com) 数…...
记录算法笔记(2025.5.17)验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入&…...
DataX:一个开源的离线数据同步工具
DataX 是一个异构数据源离线同步(ETL)工具,实现了包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。它也是阿里云 DataWorks 数据集成功能的开源版本。 为了解决异构数据源同…...
剑指offer第一周
目录 二维数组中的查找 旋转数组的最小数字 调整数组顺序使奇数位于偶数前面 数组中出现次数超过一半的数字 替换空格 从尾到头打印链表 重建二叉树 矩形覆盖 链表中倒数最后k个结点 二进制中1的个数 合并两个排序的链表 树的子结构 二叉树的镜像 二…...
素数筛(欧拉筛算法)
#include<bits/stdc.h> using namespace std; #define maxn 100000 int vis[maxn]; int prime[maxn]; //欧拉筛函数 int Euler_sieve(int n) { int i,j,k; k0;//保存素数的个数 memset(vis,0,sizeof(int)*maxn);//初始化数组 for(i2;i<n;i) { if(vis[i]0)//i是素数…...
遨游科普:三防平板是什么?有什么功能?
清晨的露珠还挂在帐篷边缘,背包里的三防平板却已开机导航;工地的尘土飞扬中,工程师正通过它查看施工图纸;暴雨倾盆的救援现场,应急队员用它实时回传灾情数据……这些看似科幻的场景,正因三防平板的普及成为…...
CSS 浮动与定位以及定位中z-index的堆叠问题
CSS 浮动与定位以及定位中z-index的堆叠问题 一、浮动布局的特点与应用 1. 浮动核心特性 脱离标准流:浮动元素会脱离文档流。环绕特性:后续内容会环绕浮动元素排列自动换行:多个浮动元素在容器宽度不足时自动换行 .float-box {float: lef…...
在Maven中替换文件内容的插件和方法
在Maven中替换文件内容的插件和方法 Maven提供了几种方式来替换文件内容,以下是常用的插件和方法: 1. maven-replacer-plugin (推荐) 这是专门用于文件内容替换的插件,功能强大且灵活。 基本配置 <plugin><groupId>com.goog…...
C# lock
在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块。这是一种简单的同步机制,用来防止多个线程同时访问共享资源或执行需要独占访问的代码段(临界区),从而…...
OGGMA 21c 微服务 (MySQL) 安装避坑指南
前言 这两天在写 100 天实战课程 的 OGG 微服务课程: 在 Oracle Linux 8.10 上安装 OGGMA 21c MySQL 遇到了一点问题,分享给大家一起避坑! 环境信息 环境信息: 主机版本主机名实例名MySQL 版本IP 地址数据库字符集Goldengate …...
NPN、PNP三极管的应用
由于电路知识实在是难以拿出手,在面试的时候被问到三极管相关问题,相当地尴尬。在网上简要地学习了相关的理论知识,在这里给出自己的理解。更为基础的原理在这里并不提及。我们面向实际应用学习即可。 我们知道常见的三极管总是硅管ÿ…...
Cadence Allegro安装教程及指导
Cadence Allegro 是一款专业的 PCB 设计软件,被广泛应用于电子行业。它功能强大,能够处理复杂的电路板设计任务。下面为你详细介绍 Cadence Allegro 的安装步骤。 一、安装前准备 在安装 Cadence Allegro 之前,需要进行一系列准备工作&…...
阿里通义万相 Wan2.1-VACE:开启视频创作新境界
2025 年 5 月 14 日,阿里巴巴为视频创作领域带来了重磅惊喜 —— 开源通义万相 Wan2.1-VACE。这一模型堪称视频生成与编辑领域的集大成者,凭借其全面且强大的功能,为广大创作者、开发者以及企业用户开辟了全新的视频创作天地。它打破了以往视…...
mAP、AP50、AR50:目标检测中的核心评价指标解析
在目标检测任务中,评价指标是衡量模型性能的核心工具。其中,mAP(mean Average Precision)、AP50(Average Precision at IoU0.5)和AR50(Average Recall at IoU0.5)是最常用的指标。本…...
Linux进程异常退出排查指南
在 Linux 中,如果进程无法正常终止(如 kill 命令无效)或异常退出,可以按照以下步骤排查和解决: 1. 常规终止进程 尝试普通终止(SIGTERM) kill PID # 发送 SIGTERM 信号(…...
深入解析:如何基于开源OpENer开发EtherNet/IP从站服务
一、EtherNet/IP协议概述 EtherNet/IP(Industrial Protocol)是一种基于以太网的工业自动化通信协议,它将CIP(Common Industrial Protocol)封装在标准以太网帧中,通过TCP/IP和UDP/IP实现工业设备间的通信。作为ODVA(Open DeviceNet Vendors Association)组织的核心协议…...
【Linux 学习计划】-- yum
目录 什么是yum Linux的生态讲解 yum相关操作 yum源 yum配置相关问题 结语 什么是yum 我们的手机上都有手机自带的软件商城,我们下载软件都可以在上面搜索,安装,下载 而我们的yum就是这么一个东西,他其实就是Linux下的安装…...
Qt 强大的窗口停靠浮动
1、左边: 示例代码: CDockManager::setConfigFlags(CDockManager::DefaultOpaqueConfig); CDockManager::setConfigFlag(CDockManager::FocusHighlighting, true); dockManager new CDockManager(this); // Disabling the Internal Style S…...
Flink 数据传输机制
在 Apache Flink 中,数据传输(Data Transmission)机制 是其分布式流处理能力的核心之一。Flink 通过高效的内部数据交换、网络通信和序列化机制,确保任务之间的数据能够高效、可靠地流动。 一、Flink 数据传输的基本流程 Source …...
数据库——SQL约束窗口函数介绍
4.SQL约束介绍 (1)主键约束 A、基本内容 基本内容 p r i m a r y primary primary k e y key key约束唯一表示数据库中的每条记录主键必须包含唯一的值(UNIQUE)主键不能包含NULL值(NOT NULL)每个表都应…...
第8讲、Multi-Head Attention 的核心机制与实现细节
🤔 为什么要有 Multi-Head Attention? 单个 Attention 机制虽然可以捕捉句子中不同词之间的关系,但它只能关注一种角度或模式。 Multi-Head 的作用是: 多个头 多个视角同时观察序列的不同关系。 例如: 一个头可能专…...
【发票提取表格】批量PDF电子发票提取明细保存到Excel表格,批量提取ODF电子发票明细,行程单明细,单据明细保存到表格,使用步骤、详细操作方法和注意事项
在日常办公中,我们常常会面临从大量 PDF 电子发票、ODF 电子发票、行程单及各类单据中提取明细,并整理到 Excel 表格的艰巨任务。手动操作不仅耗时费力,还极易出错。以下为您详细介绍其使用步骤、操作方法、注意事项及应用场景。 一、适用场…...
React中startTransition的使用
// 引入 React 的 Hook API:useState 管理状态、useTransition 处理非紧急更新、useMemo 缓存计算结果 import { useState, useTransition, useMemo } from react;/*** List 组件:* 根据输入的 query 动态渲染一个包含 10000 条数据的列表*/ function Li…...
Reactor (epoll实现基础)
Reactor 是什么? Reactor 网络模型是一种高性能的事件驱动模型,广泛应用于网络编程中。它通过 I/O 多路复用技术,实现了高效的事件处理和系统吞吐量的优化。 核心概念 Reactor 模型_的核心是事件驱动,即当 I/O 事件准备就绪时_…...
php fiber 应用
参考 基于 PHP Fiber(纤程)的游戏开发分析-腾讯云开发者社区-腾讯云PHP 8.1 引入的 Fibers 为游戏开发带来新机遇,能管理渲染、物理计算等任务且不阻塞主线程。它支持并发,提升效率,简单易用,但也有局限&a…...
前端扫盲HTML
文章目录 下载、安装、运行第一个代码(hello world)创建代码文件编辑代码(hello world)HTML常见标签注释标签标题标签段落标签换行标签格式化标签图片标签表格标签列表标签表单标签下拉菜单无语义标签 参考文档 下载、安装、运行第…...
RAG与微调:企业知识库落地的技术选型
从本质上看,RAG是"让模型查阅外部知识",而微调是"让模型学会并内化知识"。这一根本差异决定了它们在不同场景下的适用性。 技术选型的关键依据 场景RAG微调说明模型定制化需求❌✅微调更适合塑造特定风格、口吻和人格特征硬件资源…...
Linux安全篇 --firewalld
一、Firewalld 防火墙概述 1、Firewalld 简介 firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则告诉netfilter 对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式为了更加方便地组织和管理防火墙,firewalld 提供…...
关于Android Studio for Platform的使用记录
文章目录 简单介绍如何使用配置导入aosp工程配置文件asfp-config.json 简单介绍 Android Studio for Platform是google最新开发,用来阅读aosp源码的工具 详细的资料介绍: https://developer.android.google.cn/studio/platform 将工具下载下来直接点击…...
搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
写在前面 使用搜索引擎是我们经常做的事情,搜索引擎的实现原理。 什么是搜索引擎 搜索引擎是一种在线搜索工具,当用户在搜索框输入关键词时,搜索引擎就会将与该关键词相关的内容展示给用户。比较大型的搜索引擎有谷歌,百度&…...
【找工作系列①】【大四毕业】【复习】巩固JavaScript,了解ES6。
文章目录 前言Tasks:复习笔记:JavaScript是什么?JavaScript有什么用或者换句话说 是做什么的?JavaScript由哪几部分组成?BOM?DOM?html文件中script标签放在哪里?🧩 1. **放在 ****<head>**** 中**✅ 优点&…...
Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接
Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接 1 说明2 客户端配置jdk环境3服务器检查oracle数据库补丁4设置ssla 服务器配置walletb 上传测试脚本和配置文件到客户端c 服务器修改数据库侦听和sqlnet.orad 修改客户端的sqlnet.ora和tnsnames.ora的连接符e 修改java代码的数据连接…...
本地部署开源网盘系统 kiftd 并实现外部访问(Linux 版本)
kiftd 是一款专为个人、团队及小型组织设计的开源网盘系统,兼具便捷性、跨平台兼容性与丰富的功能,成为替代传统文件共享工具的理想选择。 本文将详细介绍如何在 Linux 系统本地部署 kiftd 并结合路由侠实现外网访问本地部署的 kiftd 。 第一步&#x…...
ECS/GEM是半导体制造业的标准通信协议中host和equipment的区别是什么,在交互过程中,如何来定位角色谁为host,谁为equipment
文章目录 一、角色定义与核心区别1. Host(主机)2. Equipment(设备)3. Host与Equipment的核心区别 二、交互过程中的角色定位1. 交互方向2. 控制层级3. 交互过程中角色的定位方法3.1. 通信发起方向3.2. 协议功能与状态管理3.3. 物理…...
5000 字总结CSS 中的过渡、动画和变换详解
CSS 中的过渡、动画和变换详解 一、CSS 过渡(Transitions) 1. 基本概念 CSS 过渡是一种平滑改变 CSS 属性值的机制,允许属性值在一定时间内从一个值逐渐变化到另一个值,从而创建流畅的动画效果。过渡只能用于具有中间值的属性&…...
2025年渗透测试面试题总结-安恒[实习]安全工程师(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 安恒[实习]安全工程师 一面 1. 自我介绍 2. 前两段实习做了些什么 3. 中等难度的算法题 4. Java的C…...
WebXR教学 09 项目7 使用python从0搭建一个简易个人博客
WebXR教学 09 项目7 使用python从0搭建一个简易个人博客(1) 前期设计规划 功能 呈现个人博客文章 技术选型 HTMLCSSJSPythonFlask 环境准备 VS Code Python3.8 代码实现 包 # 创建虚拟环境(-m 会先将模块所在路径加入 sys.path,更适…...
c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承
异常处理 栈展开过程: 栈展开过程沿着嵌套函数的调用链不断查找,直到找到了与异常匹配的catch子句为止;也可能一直没找到匹配的catch,则退出主函数后查找过程终止。栈展开过程中的对象被自动销毁。 在栈展开的过程中,…...
开源安全大模型Foundation-Sec-8B实操
一、兴奋时刻 此时此刻,晚上22点55分,从今天早上6点左右开始折腾,花费了接近10刀的环境使用费,1天的休息时间,总算是把Foundation-Sec-8B模型跑起来了,中间有两次胜利就在眼前,但却总在远程端口转发环节出问题,让人难受。直到晚上远程Jupyter访问成功那一刻,眉开眼笑,…...
现代优化算法全解析:禁忌搜索算法、模拟退火算法、遗传算法、蚁群优化算法、人工神经网络
现代优化算法全解析:禁忌搜索算法、模拟退火算法、遗传算法、蚁群优化算法、人工神经网络 引言:为什么需要优化算法? 在当今这个数据驱动的时代,优化算法已成为计算机科学、工程设计、人工智能等领域的核心工具。无论是训练神经…...
Docker常见命令解读
上图是对docker常见命令的一个图解,方便大家理解,下面,我将对这些命令做一些解释。 一、镜像生命周期管理 1. 镜像构建(Build) docker build -t my-image . # 根据Dockerfile构建镜像 Dockerfile:…...
为什么 Docker 建议关闭 Swap
在使用 Docker 时,关闭系统 Swap(交换分区) 是一个常见的推荐做法,尤其是在生产环境中。虽然 Docker 不强制要求禁用 Swap,但出于性能、稳定性、可控性和资源管理的目的,通常建议这样做。 为什么 Docker 建…...
TIFS2024 | CRFA | 基于关键区域特征攻击提升对抗样本迁移性
Improving Transferability of Adversarial Samples via Critical Region-Oriented Feature-Level Attack 摘要-Abstract引言-Introduction相关工作-Related Work提出的方法-Proposed Method问题分析-Problem Analysis扰动注意力感知加权-Perturbation Attention-Aware Weighti…...
WPS PPT设置默认文本框
被一个模板折磨了好久,每次输入文本框都是很丑的24号粗体还有行标,非常恶心,我甚至不知道如何描述自己的问题,非常憋屈,后来终于知道怎么修改文本框了。这种软件操作问题甚至不知道如何描述问题本身,非常烦…...
支持selenium的chrome driver更新到136.0.7103.94
最近chrome释放新版本:136.0.7103.94 如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only su…...
“下一辆车还买小米”
大家好,我是小悟。 就在5月13日,江西上饶德兴街头,一辆紫色小米SU7 Max停在路边,却遭遇了一场堪比灾难片的意外。 一辆满载货物的大货车因手刹故障溜坡,径直撞向SU7,两车从两米高的落差坠落,货…...