计算机网络八股
1、请你说说TCP和UDP的区别
- TCP提供面向连接的可靠传输,UDP提供面向无连接的不可靠传输。
- UDP在很多实时性要求高的场景有很好的表现,而TCP在要求数据准确、对速度没有硬件要求的场景有很好的表现。
- TCP和UDP都是传输层协议,都是为应用层程序服务,都有复用(不同应用层协议可以共用TCP和UDP协议)和分用(将数据报解析之后分发给不同的应用层程序)的功能。
- UDP提供面向无连接基于数据报的不可靠传输,TCP提供面向连接的基于字节流的可靠传输。
UDP协议
- 面向无连接(不需要3次握手和4次挥手)、尽最大努力交付、面向报文(每次收发都是一整个报文段)、没有拥塞控制不可靠(只管发不管过程和结果)、支持一对一、一对多、多对一和多对多的通信方式、首部开销很小(8字节)。
- 优点:快,没有TCP各种机制,受了很多首部信息和重复确认的过程,节省了大量的网络资源。
- 缺点:不可靠不稳定,只管数据的发送不管过程和结果,网络不好的时候很容易造成数据丢失。
- 网络不好的时候不会影响主机数据报的发送速率,这对很多实时的应用程序很重要,像语音通话、视频会议等要求源主机要以恒定的速率发送数据报,允许网络不好的时候丢失一些数据,但不允许太大的延迟,UDP很适合这种要求。
TCP协议
- 面向连接(3次握手和4次挥手)、单播(只能端对端的连接)、可靠交付(有大量的机制保护TCP连接数据的可靠性)、全双工通讯(允许双方同时发送信息,4次挥手的原因)、面向字节流(不保留数据报边界的情况下以字节流的方式进行传输,长连接的由来)、头部开销大(至少20字节)。
- 优点:可靠、稳定、有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源。
- 缺点:慢,效率低,占用系统资源高,在传输数据之前要先建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞机制等都会消耗大量的时间,要在每台设备上维护所有的传输连接。
- 在要求数据准确、对速度没有硬性要求的场景有很好的表现,比如在FTP(文件传输)、HTTP/HTTPS(超文本传输),TCP很适合这种要求。
2、请你说说TCP3次握手和4次挥手过程
为什么一定要3次握手而不是2次,为什么客户端最后还需要发送一次确认报文呢?
- 防止已经失效的连接请求报文突然又被传给了服务端,然后产生错误
- 假设客户端发出的第一个连接请求报文段并没有丢失而是在某些网络节点上被滞留了,直到客户端和服务端的新连接已经释放后的某个时间点,第一个连接请求报文段才到了服务端,这时服务端以为客户端又发了一次请求,于是服务端向客户端发起确认连接报文,同意连接。假设不采用3次握手,这时连接已经建立了,但是客户端并不知道这个情况,服务端会一直等待客户端的数据报文,这样服务端的资源就会被浪费,占用大量资源。3次握手可以防止这种现象,保护网络和系统资源。
3、请你说说GET和POST的区别
用法不一样、参数显隐式、参数长度
- get主要用来获取数据,而post主要提交或修改数据
- get有长度限制(2048字节)而post没有
- get的参数时显示的,post的参数时隐式的
- get的参数会附加在url中,以"?“分割url和传输数据,多个参数用”&"连接,而post会把参数放在http请求体中
- get是明文传输,可以直接通过url看到参数信息,post放在请求体中,除非用工具才能看到
- get请求会保存在浏览器历史记录中,也可以保存在web服务器日志中
- get在浏览器回退时是无害的,而post会再次提交请求
- get请求会被浏览器主动缓存,而post不会,除非手动设置
- get请求只能进行url编码,而post支持多种编码方式
- get请求的参数数据类型只接受ASCII字符,而post没有限制
4、浏览器从输入URL开始到页面显示内容,中间发生了什么?
- dns域名解析(域名->ip地址),ip寻址和arp(ip->mac)找到服务器
- TCP三次握手建立连接
- 浏览器生成http报文,发送http请求,等待服务器响应
- 服务器处理请求并返回响应结果给浏览器
- 根据http是否开启长连接,进行tcp挥手过程
- 浏览器解析thml
- 浏览器布局渲染
dns地址解析
- 客户端首先向本地dns服务器进行查询,如果不在本地缓存中,则本地dns服务器会像根服务器进行查询,根服务器返回顶级域名服务器的地址给本地dns服务器,然后本地dns服务器查询顶级dns服务器,返回权威dns服务器地址,最终返回给客户端。
dns劫持
攻击者篡改结果,使用户对域名的解析IP变成另一个IP
5、请你说说HTTP状态码及其含义
http状态码由3个十进制数字组成,第一个十进制数字定义状态码的类型。响应分为5类:信息响应(100-199),成功响应(200-299),重定向(300-399),客户端错误(400-499)、服务端错误(500-599)
- 1**,信息,服务端收到请求,需要请求者继续执行操作
- 2**,成功,操作被成功接收并处理
- 3**,重定向,需要进一步的操作以完成请求
- 4**,客户端错误,请求包含语法错误或无法完成请求
- 5**,服务端错误,服务端在处理请求的过程中发生了错误
常见错误码
- 301,永久重定向
- 302,临时重定向
- 304,资源没修改,用之前缓存就行
- 400.客户端请求的报文有错误
- 403,服务端禁止访问资源
- 404,请求的资源在服务器上不存在/未找到
6、请你说说HTTP和HTTPS的区别
- HTTP简单快速,当客户端向服务端请求数据的时候,只需传送请求方法和路径就可以取得结果,基于TCP,默认端口号为80,耗时可以简略计算为1RTT,传递的数据全部是明文传输,几乎没有安全性
- HTTPS是基于TLS的,而TLS又基于TCP,当客户端向服务端请求数据的时候,服务端大概率会将客户端重定向到该服务器的443端口,进行新的TCP连接,此时服务器会返回一个证书文件,而不是响应报文体。此时客户端验证证书文件紧接创建对称密钥,之后重新和服务器建立TLS连接,当服务器返回ACK确认之后,连接正式建立,上方整个过程耗时3RTT,并且之后和服务器的通信数据都是通过对称密钥加密过的,几乎无法破解。
- HTTP是基于TCP的,而HTTPS是基于TLS的
- HTTP的往返时间为1RTT,而HTTPS的往返时间为3RTT
- HTTP只需创建一次TCP连接,而HTTPS需要创建两次TCP连接
- HTTP的默认端口为80,HTTPS的默认端口为443
- HTTP的安全性很差,而HTTPS的安全性很强
HTTPS虽然在安全方面有很大优势,但是缺点也很明显:
- HTTPS握手阶段耗费时间,几乎是HTTP的数倍,会延长页面的首次绘制时间和增加耗电
- HTTPS的效率没有HTTP高,如果部分数据内容实际上并不需要加密,会平白浪费计算机资源
- HTTPS的证书需要购买,功能越强大的证书价格越高
- HTTPS的加密并不能阻止某些网络攻击,如黑客攻击、拒绝服务攻击等
7、请你说说TCP如何实现可靠传输
序列和、检验和、确认应答信号、重发机制、连接管理、窗口控制、流量控制、拥塞控制
可靠传输就是通过TCP连接传送的数据是没有差错的、不会丢失的、不重复并且按序到达的
- 应用层的数据会被分割成TCP认为最适合发送的数据块
- 序列号:TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层,TCP的接收端会丢弃重复的数据
- 检验和:TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。
- 确认应答:如果收到的数据报报文段的检验和没有差错,就确认收到,如果有差错,TCP就丢弃整个报文段和不确认收到此报文段。
- 流量控制:TCP连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,会提示发送方降低发送的速率,防止包丢失。TCP使用的流量控制协议是可变大小的滑动窗口协议。
- 拥塞控制:当网络拥塞时,减少数据的发送。
- 停止等待协议:每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组,
- 超时重传:当TCP发出一个段后,它启动一个定时器,等待的目的端确认收到这个报文端。如果不能及时收到一个确认,将重发这个报文段。
8、请你说说TIME_WAIT
4次挥手结束,主动方进入TIME_WAIT
- TCP连接第4次挥手结束时,主动发起连接释放请求的一方进入TIME_WAIT状态,此时主动发起连接释放请求的一方会等待2MSL(最大报文生存期)才会回到初始状态CLOSED。
- 处理并丢弃迟来的信息
9、请你说说拥塞控制机制
- 拥塞:一个/多个交换点的数据报超载,TCP重传机制导致过载
- 防止拥塞窗口cwnd增长过大引起网络拥塞,设置慢开始门限ssthresh状态变量
- cwnd<ssthresh慢开始算法
- cwnd>ssthresh拥塞避免算法
- cwnd=ssthresh慢开始/拥塞避免算法
- 慢开始:由小到大逐渐增加拥塞窗口大小,每接一次报文,cwnd指数增加
- 拥塞避免:cwnd缓慢增大,每经过一个往返时间RTT,就把发送方的拥塞窗口cwnd+1
- 快恢复之前的策略:
- 发送方判断网络出现拥塞,就把ssthresh设为出现拥塞时发送方窗口值的一半,继续执行慢开始,之后进行拥塞避免
- 快恢复:发送方判断网络出现拥塞,把ssthresh设为出现拥塞时发送方窗口的一半,并把cwnd设为ssthresh之后进行拥塞避免
10、请你说说TCP/IP五层模型
- 应用层:定义应用进程间通信和交互的规则
- 运输层:负责两个计算机进程的通信提供传输服务
- 网络层:负责为网络上不同的主机提供通信服务
- 数据链路层:将网络层交下来的数据报组装成帧
- 物理层:最底层的数据传输,以比特流的形式进行
11、请你说说TCP粘包
TCP基于字节流,无法判断发送方报文段边界
- 多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发送方的发送边界,而采用某一估测值大小来进行数据读取,若发送方发送数据包的长度和接收方在缓存中读取的数据包长度不一致,就会发生粘包,发送端可能对极了两次数据,每次100字节一共在发送缓存对极了200字节的数据,而接收方在接收缓存中一次读取120字节的数据,这是接收端读取的数据就包括了下一个报文段的头部。
解决粘包的方法
- 发送方关闭Nagle算法,使用TCP_NODELAY选项关闭Nagle功能
- 发送定长的数据包。每次数据包的长度一样,接收方可以很容易区分数据包的边界
- 数据包末尾加上\r\n标记,模仿FTP协议,但若数据正文中也含有\r\n,则会误判为消息的边界
- 数据包头部加上数据包的长度。数据包头部定长4字节,可以存储数据包的整体长度
- 应用层自定义规则
原因:
- 造成粘包的因素有很多,有可能是发送方造成的,也有可能是接收方造成的。比如接收方在接收缓存中读取数据不及时,在下一个数据包到达之前没有读取上一个,可能也会造成读取超过一个数据包的情况。
12、请你说说滑动窗口
TCP中采用滑动窗口来进行流量控制,滑动窗口的大小意味着接收方还有多大缓冲区可以接收数据。发送方可以通过滑动窗口的大小来确认应该发送多少字节的数据。滑动窗口机制主要通过窗口大小实现流量控制,进而解决发送方发送数据过快、过多导致的接收端缓存数据溢出导致的丢包现象。
流量控制:
让发送方的发送速率不要过快,让接收方来得及接收所有的数据。
13、请你说说ISO七层模型
- 应用层:管理应用进程间的通信规则(HTTPS/HTTP)
- 表示层:对数据进行处理(对从应用层获取到的数据报报文进行格式处理、安全处理和压缩处理)
- 会话层:用来管理进程(对当前主机进程和目标主机进程会话的建立、管理和终止行为)
- 传输层:提供数据的传输服务,定义了传输数据的进程端口号,负责数据报的排序、差错检验和流量控制等(TCP/UDP)
- 网络层,进行逻辑地址的查询,路由分组与转发(路由器)(IP)
- 数据链路层:建立相邻节点的逻辑连接,进行逻辑地址寻址、数据封帧、差错校验(网卡)(ARP)
- 物理层:最底层的数据传输,比特流(网线)
14、请你说说ARP协议,协议是怎么实现的,是怎么找到MAC地址的
IP地址获取MAC地址、ARP查询分组、广播
- ARP协议:完成主机或路由器IP地址到MAC地址的映射
- ARP协议使用过程:
- 检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址未FF-FF-FF-FF-FF-FF的帧封装并广播ARP亲求分组,同一局域网中所有主机都能都能收到该请求,目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)
15、请你说说CLOSE_WAIT
TCP连接中对方释放请求,自身未发送FIN时
- 在TCP四次挥手阶段,当对方提出连接释放请求时,自身给予响应ACK确认应答,但是TCP连接是全双工的,也需自身发送连接释放请求,即FIN。若自身没有立即发送FIN,进入CLOSE_WAIT状态。
- 产生CLOSE_WAIT的原因一般是对方关闭了连接,但是自身还在读取数据或传输数据,没有关闭连接
16、请你说说对称加密和非对称加密
- **对称加密:**加密和解密使用同一个密钥,只有一个密钥,作为私钥
- **非对称加密:**加密和解密使用不同的密钥,一把作为公开的公钥,一把作为私钥。公钥加密的信息只有私钥才能解密;私钥加密的信息只有公钥才能解密。更安全
17、请你说说HTTPS
HTTPS在HTTP的基础上加上TLS\SSL
- 内容加密:混合加密方式,对称加密和非对称加密
- 身份验证:通过证书认证客户端访问的是正确的服务器
- 数据完整性:防止传输的数据被中间人篡改
SSL/TLS用在传输层为数据通讯提供安全支持
- SSL:Secure Sockets Layers安全套接层
- TLS:Transport Layers Security安全传输层协议
18、请你说说HTTP1.X和HTTP2.0的区别是什么?
1、简述HTTP1.0
- 规定请求头/请求尾、响应头/响应尾 get/post
- 每一个请求都是一个单独的连接,做不到连接复用
2、http1.1的改进
- 默认开启长连接,在一个tcp连接上可以传送多个http请求和响应,tcp长连接改善http1.0短连接造成的性能开销
- 支持管道(pipeline)网络传输:只要第一个请求发出去了,不必等其回来,就可发第2个请求出去,减少整体响应时间
- 服务端无法主动push
3、http2.0的改进
- 头部压缩:HTTP1.X的头部带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的头部大小,通讯双方各自缓存一部头部表,既避免重复头部的传输,又减小了需要传输的大小
- 二进制数据帧:帧对数据进行顺序标识,序号id,服务器进行并行传输数据。HTTP1.x的解析是基于文本,但是基于文本协议的格式解析存在天然缺陷。文本的表现形式具有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只人0和1的组合。基于这种考虑HTTP2.0协议决定采用二进制格式,实现方便且健壮。
- 多路复用:连接共享,每一个请求都是用作连接共享机制的。一个请求对应一个id,这样一个连接上可以有多个请求,每个连接的请求可以随机的混杂在一个,接收方可以根据请求的id将请求再归属到各自不同的服务端请求里面。
- 服务器推送:如果请求了index、html文件,服务器端会主动将它的依赖文件一起返回。
19、请你说说HTTPS加解密过程是怎么样的?
20、请你说说TCP超时重传机制,时间是多少?
- TCP每发送一条报文,就会启动定时器,如果在定时器超时前没能确认收到信息,就会启动超时重传机制。RTO(重传超时时间)是影响超时重传的重要因素,RTO过大,不易启动重传机制,RTO过小,重传频率过快;
- RTO=RTTS-4RTTd
- RTTs:加权平均往返时间
- RTTd:偏差的加权平均值
21、UDP怎么样可以实现可靠的传输?
将运输层TCP的可靠传输机制在应用层实现:确认机制、重传功能、流量控制、拥塞控制等功能实现在应用层
- 提供超时重传机制,能避免数据报丢失的问题
- 提供确认序列号,保证数据拼接时候的正确排序。
- 请求端:首先在UDP数据报定义一个首部,首部包含确认序列号的时间戳,时间戳是用来计算RTT(数据报传输的往返时间),计算出合适的RTO(重传超时时间),然后以等-停的方式发送数据报,收到对端的确认之后才发送下一个的数据报。当时间超时,本端重传数据报,同时RTO扩大为原来的两倍,重新开始计时。
- 响应端:接受到一个数据报之后取下该数据报首部的时间戳和确认序列号,并添加本端的确认数据报首部之后发送给对端,根据此序列号对已收到的数据报进行排序并丢弃重复的数据报。
22、快重传
- 在超时重传定时器溢出之前,接收到3个重复冗余ack,发送端便知晓哪个报文段在传输过程中丢失了,重发该报文,不需等待超时重传计数器溢出再发送该报文
23、半连接队列
tcp握手中,当服务器处于syn-rcvd状态,服务器会把此种状态下请求放在一个队列里。
24、syn攻击
利用tcp协议缺陷,通过发送大量半连接请求,占用半连接队列,耗费cpu和内存资源
优化:
- 缩短syn timeout时间
- 记录ip,若连续收到某个ip的重复syn报文,从这个ip地址来的包会被一概丢弃
25、简述cookie
- http协议是无状态的
- 为了能处理更加复杂的逻辑,http 1.1引入cookie保存状态信息
- cookie是服务端产生,发送给客户端保存
- 当客户端再次访问时,服务端可根据cookie辨识客户端是哪个,做个性化推送,免账号密码登录
26、简述session
- 标记特定客户端信息,存在服务器的一个文件里
- 客户端带cookie对服务器进行访问,可通过cookie中的session id从整个session中查询到服务器记录的关于客户端的信息
27、转发和重定向
- 转发是服务器行为,服务器直接向目标地址访问url,将相应内容读取之后发给浏览器,用户浏览器地址url不变
- 重定向利用服务器返回的状态码来实现,301/302,浏览器收到新消息后自动跳转到新的地址,重新请求资源,用户地址栏url会发生改变,不能共享资源
28、dos攻击
- Denial of service拒绝服务攻击
- 发送大量无用请求数据包给服务器,耗尽服务器资源,无法通过正常访问服务器资源,导致服务器奔溃
相关文章:
计算机网络八股
1、请你说说TCP和UDP的区别 TCP提供面向连接的可靠传输,UDP提供面向无连接的不可靠传输。UDP在很多实时性要求高的场景有很好的表现,而TCP在要求数据准确、对速度没有硬件要求的场景有很好的表现。TCP和UDP都是传输层协议,都是为应用层程序服…...
Waves 14混音特效插件合集mac/win
Waves14是一款音频处理软件,主要用于音频编辑、混音和母带处理。该软件提供了各种插件,包括EQ、压缩、混响、延迟、失真等,以及一些专业的音频处理工具,如L2限幅器、Linear Phase EQ和多频道扬声器管理。 Mac软件下载:…...
Python python-docx 使用教程
openpyxl是Python下的Word库,它能够很容易的对Word文档进行读取 安装方法:pip install python-docx国内镜像安装:pip install -i https://mirrors.aliyun.com/pypi/simple/ python-docx(推荐,安装更快)中文…...
Mac上protobuf环境构建-java
参考文献 getting-started 官网pb java介绍 maven protobuf插件 简单入门1 简单入门2 1. protoc编译器下载安装 https://github.com/protocolbuffers/protobuf/releases?page10 放入.zshrc中配置环境变量 ~/IdeaProjects/test2/ protoc --version libprotoc 3.12.1 …...
CocosCreator3.8研究笔记(二十二)CocosCreator 动画系统-动画剪辑和动画组件介绍
国庆假期,闲着没事,在家研究技术~ 大家都知道在Cocos Creator3.x 的版本的动画编辑器中,可以实现不用写一行代码就能实现各种动态效果。 Cocos Creator动画编辑器中主要实现关键帧动画,不仅支持位移、旋转、缩放、帧动画ÿ…...
信看课堂-厘米GNSS定位
我们常常说GPS 定位,不过定位远不止GPS定位,通过本节课程,我们将会了解到,原来GPS只是定位的一种: GNSS概述 不同的GNSS系统使用不同的频段来传输导航信号。以下是一些主要的GNSS系统及其相应的频段,用表…...
2023CCPC网络赛(A E)
2023CCPC网络赛(A E) The 2nd Universal Cup. Stage 3: Binjiang - Dashboard - Contest - Universal Cup Judging System A. Almost Prefix Concatenation 思路:首先考虑如何求出每个位置允许失配一次的LCP长度 , 可以二分哈希求LCP , 即…...
使用 python 检测泛洪攻击的案例
使用 python 检测泛洪攻击的案例 本案例只使用python标准库通过执行命令来监控异常请求, 并封锁IP, 不涉及其他第三方库工具. import os import time from collections import Counter# 1、update 命令, 采集CPU的平均负载 def get_cpu_load():"""uptime 命令…...
SCROLLINFO scrollInfo; 2023/10/5 下午3:38:53
2023/10/5 下午3:38:53 SCROLLINFO scrollInfo;scrollInfo.cbSize = sizeof(SCROLLINFO);scrollInfo.fMask = SIF_ALL;//scrollInfo.nMin = 0; // 最小位置//scrollInfo.nMax = nRowCountToShow; // 最大位置//scrollInfo.nPage = nRowCountToShow; // 页面大小//scrollInf…...
Python--控制台获取输入与正则表达式
前言一、控制台获取输入1.1 字符串输入1.2 整数输入1.3 浮点数输入1.4 布尔值输入1.5 列表输入1.6 汇总 二、正则表达式2.1 匹配数字2.2 模式检查2.3 替换字符2.4 切分字符串2.5 搜索并提取匹配的部分2.6 使用捕获组提取匹配的部分2.7 非贪婪匹配2.8 忽略大小写匹配2.9 使用预定…...
网络基础知识面试题1
VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)...
JavaScript系列从入门到精通系列第十五篇:JavaScript中函数的实参介绍返回值介绍以及函数的立即执行
文章目录 一:函数的参数 1:形参如何定义 2:形参的使用规则 二:函数的返回值 1:函数返回值如何定义 2:函数返回值种类 三:实参的任意性 1:方法可以作为实参 2:将匿…...
js中的原型链
编写思路: 简单介绍构造函数介绍原型对象原型对象、实例的关系,从而引出原型链的基本概念 原型链基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。 1. 什么是构造函数 构造函数本身跟普通函数一样,也不存在定义构造函数…...
一文搞懂APT攻击
APT攻击 1. 基本概念2. APT的攻击阶段3. APT的典型案例参考 1. 基本概念 高级持续性威胁(APT,Advanced Persistent Threat),又叫高级长期威胁,是一种复杂的、持续的网络攻击,包含高级、长期、威胁三个要素…...
在pandas中通过一列数据映射出另一列的几种思路和方法
如果一句话中出现某个品牌的关键词,那么就将该品牌进行提取,开始我的做法是写了很多elif,如下: def brand_describe(x):if TRUM in x.upper():return "通快"elif BYSTRONIC in x.upper():return "百超"elif …...
数据分析视角中的商业分析学习笔记
数据分析一大堆,结果却是大家早就知道的结论?是工具和方法出问题了吗?真正原因可能是你的思维有误区。 为什么分析的这么辛苦,得出的结论大家早知道,谁谁都不满意?核心原因有3个: 分析之前&am…...
剑指offer——JZ26 树的子结构 解题思路与具体代码【C++】
一、题目描述与要求 树的子结构_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构) 假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2}&…...
NEFU数字图像处理(1)绪论
一、简介 1.1什么是数字图像 图像是三维场景在二维平面上的影像。根据其存储方式和表现形式,可以将图像分为模拟图像和数字图像两大类 图像处理方法:光学方法、电子学方法 模拟图像:连续的图像数字图像:通过对时间上和数值上连续…...
数值分析学习笔记——绪论【华科B站教程版本】
绪论 数值分析概念 用计算机求解数学问题的数值方法和理论 三大科学研究方法 实验理论分析科学计算(用计算机去辅助研究):数值方法计算机 解析解和近似解 解析解:使用数学方法求出或推导出的结果,往往可以求解出…...
节日灯饰灯串灯出口欧洲CE认证办理
灯串(灯带),这个产品的形状就象一根带子一样,再加上产品的主要原件就是LED,因此叫做灯串或者灯带。2022年,我国灯具及相关配件产品出口总额超过460亿美元。其中北美是最大的出口市场。其次是欧洲市场&#…...
一线大厂Redis高并发缓存架构实战与性能优化
文章目录 一、redis主从架构锁失效问题分析二、从CAP角度剖析redis与zookeeper分布式锁区别三、redlock分布式锁原理与存在的问题分析四、大促场景如何将分布式锁性能提升100倍五、高并发redis架构代码实战 一、redis主从架构锁失效问题分析 我们都知道,一般的互联…...
PHP 行事准则:allow_url_fopen 与 allow_url_include
文章目录 参考环境allow_url_fopenallow_url_fopen 配置项操作远程文件file 协议 allow_url_includeallow_url_include 配置项 allow_url_include 与 allow_url_fopen区别联系默认配置配置项关闭所导致异常运行时配置ini_set()限制 参考 项目描述搜索引擎Bing、GoogleAI 大模型…...
Replicate + ngrok云端大模型API实现教程
ChatGPT 的诞生预示着人工智能和机器学习领域的新时代。 日新月异,Hugging Face 不断推出突破性的语言模型,重新定义人机交互的界限。欢迎来到未来! 当然,有很多选项可以对它们进行推断。在本文中,我将告诉大家如何使…...
蓝桥等考Python组别十四级005
蓝桥等考Python组别十四级 第一部分:选择题 1、Python L14 (15分) 运行下面程序,输出的结果是( )。 d = {1 : one, 2 : two, 3 : three, 4 : four} print(d[2]) onetwothreefour正确答案:B...
Linux 本地 Docker Registry本地镜像仓库远程连接
Linux 本地 Docker Registry本地镜像仓库远程连接 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制! 1. 部署Docker Registry 使用官网安装方式,docker命令一键启动,该命令启动一个regis…...
二十九、高级IO与多路转接之epollreactor(收官!)
文章目录 一、Poll(一)定义(二)实现原理(三)优点(四)缺点 二、I/O多路转接之epoll(一)从网卡接收数据说起(二)如何知道接收了数据&…...
vite dev开发模式下支持外部模块引用
web工程中经常需要使用外部的cdn资源,比如lodash、three.js等: <script type"importmap">{"imports": {"lodash": "https://unpkg.com/lodash-es4.17.21/lodash.js"}} </script> vite build通过r…...
Chrome出现STATUS_STACK_BUFFER_OVERRUN解决方法之一
Chrome出现STATUS_STACK_BUFFER_OVERRUN错误代码,setting都无法打开 解决方法1:兼容性设置为win7 解决方法2: 1,开始菜单搜索Exploit Protection 2,添加程序进行自定义,点号,按程序名称添加 …...
【JavaEE】JavaScript
JavaScript 文章目录 JavaScript组成书写方式行内式内嵌式外部式(推荐写法) 输入输出变量创建动态类型基本数据类型数字类型特殊数字值 String转义字符求长度字符串拼接布尔类型undefined未定义数据类型null 运算符条件语句if语句三元表达式switch 循环语…...
剑指offer——JZ7 重建二叉树 解题思路与具体代码【C++】
一、题目描述与要求 重建二叉树_牛客题霸_牛客网 (nowcoder.com) 题目描述 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出…...
网站内链检测工具/站长工具seo综合查询烟雨楼
Supervisor(http://supervisord.org/ )是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程…...
开发商延期交房怎么处理/杭州上城区抖音seo有多好
前言 因为项目中经常会遇到要上传一系列设备信息的功能,为了方便使用,所以就拆分成以下系列文章来单独介绍如何获取各类设备信息 手机运营商获取 AndroidID、IMEI、OAID获取 地理位置信息经纬度获取 公网IP地址获取:移动网络IP、Wifi IP …...
上海网络做网站公司/武汉搜索引擎排名优化
解决方法: 使用表单提交,而非ajax,即可生效。也可以表单提交时处理事件。 比如,form填写属性onsubmit <form class"ant-form ant-form-horizontal"action"" id"edit-form" method"" …...
免费浏览器网站/爱站网工具
1. 消息钩子 提示: 如果要设置系统级钩子, 钩子函数必须在 DLL 中. SetWindowsHookEx(idHook: Integer; {钩子类型}lpfn: TFNHookProc; {函数指针}hmod: HINST; {包含钩子函数的模块(EXE、DLL)句柄; 一般是 HInstance; 如果是当前线程这里可以是 0}dwThreadId: DWORD …...
网站制作公司多少钱/百度客服号码
准备工作 需要了解的接口 官方提供的路由对象数据类型 RouteRecordRaw 自定义定义路由对象数据类型 // Omit 删除指定类型的key返回删除后的接口类型 export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, meta> {name: string;meta: RouteMeta;componen…...
株洲网站建设网站/app推广员好做吗
12月份前端资源分享 1. Javascript 深入浅出ES6JS实现“旋转木马”幻灯片效果GitHub 上一份很受欢迎的前端代码优化指南-强烈推荐收藏markdown 编辑器 ndpeditor抛弃jQuery,拥抱原生JavaScriptJavascript操作DOM常用API总结[译]JavaScript ES6解构赋值指南[译]JavaS…...