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

计算机网络八股文学习笔记

文章目录

  • 计算机网络基础
    • 网络分层模型
      • OSI七层模型
      • TCP/IP四层模型
  • HTTP
    • 从输入URL到页面展示到底发生了什么?(非常重要)
    • HTTP状态码
    • HTTP Header中常见的字段有哪些?
    • HTTP和HTTPS有什么区别?(重要)
    • HTTP/1.0和HTTP/1.1有什么区别?
    • HTTP/1.1和HTTP/2.0有什么区别?
    • HTTP/2.0和HTTP/3.0有什么区别?
    • HTTP是不保存状态的协议,如何保存用户状态?
    • Cookie和Session有什么区别?
    • GET和POST的区别(爱被问到)
    • WebSocket
      • 什么是WebSocket?
      • WebSocket 和 HTTP 有什么区别?
      • WebSocket 的工作过程是什么样的?
      • SSE 与 WebSocket 有什么区别?

计算机网络基础

计算机网络基础

网络分层模型

OSI七层模型

OSI七层模型是什么?每一层的作用是什么?

  • 应用层,为计算机用户提供服务

  • 表示层,数据处理(编解码,加密解密,压缩解压缩)

  • 会话层,管理(建立\维护\重连)应用程序之间的会话

  • 传输层,为两台主机进程之间的通信提供通用的数据传输服务

  • 网络层,路由和寻址

  • 数据链路层,帧编码和误差纠正控制

  • 物理层,透明地传输比特流传输

  • 应用层,你在写一封邮件,内容是“你好,张三!”

  • 表示层,为了让信件更安全,你把内容加密,比如把“你好”编码成“xyz123”。

  • 会话层,你和邮局的工作人员沟通好,确认对方的地址是有效的,可以投递到目的地。

  • 传输层,信封可能太大,需要拆分为多个小信件,每封信都带上编号。

  • 网络层,邮局通过地图或导航规划送信路线,比如选择“走高速”或“走省道”。

  • 数据链路层,信件在北京邮局内部转运,工作人员检查信件是否完整(错误检测)。

  • 物理层,透信件通过邮递员、邮车或者飞机实际运输到目的地。
    但是七层模型复杂不实用,有些功能重叠,比如表示层的加密和应用层的加密可能重叠

chatGPT易理解提示词,网络分层模型的描述比较抽象,能不能具象化举个例子

TCP/IP四层模型

TCP/IP四层模型是什么?每一层的作用是什么?

  • 应用层(应用层,表示层,会话层)
  • 传输层
  • 网络层
  • 网络接口层(数据链路层,物理层)
    TCP/IP四层模型由OSI七层模型演化而来,我们并不能将 TCP/IP 四层模型 和 OSI 七层模型完全精确地匹配起来,不过可以简单将两者对应起来

常见协议

  • 应用层
    HTTP(超文本传输协议),SMTP(简单邮件发送协议),SSH(安全的网络传输协议),Telnet(远程登陆协议),FTP(文件传输协议),POP3/IMAP(邮件接受协议),RTP(实时传输协议),DNS(域名管理系统)
  • 传输层
    TCP,面向连接的,可靠的
    UDP,无连接的,尽最大努力的
  • 网络层
    IP(网际协议),ARP(地址解析协议),ICMP(互联网控制报文协议),NAT(网络地址转换协议),OSPF(开放式最短路径优先协议),RIP(路由信息协议),BGP(边界网关协议)
  • 网络接口层(不重要)
    CSMA/CD,MAC,差错检测,多路访问,以太网

传输过程

  • 应用层,报文
  • 传输层,将报文传输,报文段或用户数据报
  • 网络层,封装成IP数据报
  • 网络接口层,组装成帧,在节点间传送帧,传输比特流

为什么网络要分层?
复杂的系统需要分层,因为每一层都需要专注于一类事情。网络分层的原因也是一样,每一层只专注于做一类事情。
比如使用框架开发后端,分为controller\service\mapper
各层之间相互独立,提高了灵活性和可替换性,大问题化小,高内聚、低耦合

传输层有哪些常见的协议?
TCP(传输控制协议),面向连接的,可靠的数据传输服务
UDP(用户数据协议),无连接的,尽最大努力的数据传输服务

HTTP

从输入URL到页面展示到底发生了什么?(非常重要)

从输入URL到页面展示到底发生了什么?

  1. 在浏览器中输入指定网页的URL
  2. 浏览器通过DNS协议,获取域名对应的IP地址
  3. 浏览器根据IP地址和端口号,向目标服务器发起一个TCP连接请求
  4. 浏览器在TCP连接上,向服务器发送一个HTTP请求报文,请求获取网页的内容
  5. 服务器收到HTTP请求报文后,处理请求,并返回HTTP响应报文给浏览器
  6. 浏览器收到HTTP响应报文后,解析响应体中的HTML代码,渲染页面的结构和样式,同时根据HTML中的其他资源的URL(如图片\CSS\JS等),再次发起HTTP请求,获取这些资源的内容,直到网页完全加载显示
  7. 浏览器在不需要和服务器通信时,可以主动关闭TCP连接,或者等待服务器的关闭请求

HTTP状态码

HTTP状态码有哪些?

  • 1XX,接收的请求正在处理
  • 2XX,成功
    200 OK,成功处理
    201 Created,成功处理并创建一或多资源,如post请求创建新的用户
    202 Accepted,服务还未处理完毕
    204 No Content,成功处理请求,但没有返回任何内容,如发送请求删除一个用户,处理删除操作不会返回任何内容,平时学习/工作中见到的次数并不多
  • 3xx,重定向,需要附加操作完成请求
    301 Moved Permanently,永久重定向,网站网址更换
  • 4xx,客户端错误
    400 Bad Request,请求参数不合法
    401 Unauthorized,未认证却请求需要认证之后才能访问的资源
    403 Forbidden,直接拒绝 HTTP 请求,不处理
    404 Not Found,你请求的资源未在服务端找到
    409 Conflict,请求的资源与服务端当前的状态存在冲突,多人编辑同一资源时的冲突
  • 5xx,服务端错误
    500 Internal Server Error,服务端出 Bug 了
    502 Bad Gateway,由于网关或代理服务器错误

HTTP Header中常见的字段有哪些?

  • host,客户端指定自己想访问的web服务器的域名/IP地址和端口号
  • User-agent,浏览器表明自己的身份
  • Accept,告诉web服务器自己接收什么介质类型
  • Accept-Language,浏览器申明自己接收的语言跟字符集的区别,中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等
  • Accept-Encoding,浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法 (gzip,deflate)
  • Content-Encoding,WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。
  • Cookie,这个头信息把之前发送到浏览器的 cookies 返回到服务器。
  • Referer,浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL
  • Proxy-Authenticate,代理服务器响应浏览器,要求其提供代理身份验证信息
  • Content-Type,WEB 服务器告诉浏览器自己响应的对象的类型

HTTP和HTTPS有什么区别?(重要)

  • 端口号,HTTP默认是80,HTTPS默认是443
  • URL前缀,HTTP的URL前缀是http:// ,HTTPS的URL前缀是http://
  • 安全性和资源消耗:HTTP基于TCP,HTTPS基于SSL/TLS(SSL/TLS基于TCP)
    所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密.
    HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。
  • SEO(搜索引擎优化):搜索引擎更青睐使用HTTPS协议的网站,因为HTTPS能够提供更高的安全性和用户隐私保护.在搜索结果中HTTPS的网站会被优先显示.

HTTP/1.0和HTTP/1.1有什么区别?

HTTP/1.1和HTTP/2.0有什么区别?

HTTP/2.0和HTTP/3.0有什么区别?

HTTP是不保存状态的协议,如何保存用户状态?

HTTP是不保存状态的协议,如何保存用户状态?
HTTP是一种不保存状态,即无状态协议,也就是说HTTP协议自身不对请求和响应之间的通信状态进行保存.Session机制的存在就是为了解决这个问题,Session的主要作用就是为了解决这个问题,通过服务端记录用户的状态.
在服务端保存Session的方法很多,最常用的就是内存和数据库(redis).
如何实现 Session 跟踪呢
通过在 Cookie 中附加一个 Session ID 来方式来跟踪(服务端和客户端都有)
Cookie被禁用怎么办?
最常用的就是利用 URL 重写把 Session ID 直接附加在 URL 路径的后面

Cookie和Session有什么区别?

Cookie和Session有什么区别?
Sessoin的主要作用是通过服务端记录用户的状态.
Cookie数据保存在客户端(浏览器端),Session数据保存在服务器端,Session安全性更高.如果使用 Cookie 的一些敏感信息不要写入 Cookie 中,最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。

GET和POST的区别(爱被问到)

GET和POST的区别?
|GET|POST|
|通常是读取操作|通常是写入操作创建资源|
|数据放在 URL 查询字符串中|数据放在请求体中|
|不适合敏感数据,URL 长度限制|数据放在请求体中,相对较安全,无明确长度限制|
|响应可缓存在服务端,所以幂等|不可缓存,所以不幂等|
|适用于静态资源和查询|适用于动态资源和数据提交|

WebSocket

什么是WebSocket?

什么是WebSocket?
WebSocket是一种基于TCP连接的全双工通信协议,即客户端和服务端可以同时发送和接收数据
WebSocket在2011年成为国际标准,几乎所有主流的浏览器都支持
WebSocket协议本质上是应用层的协议,用于弥补HTTP协议在持久通讯能力上的不足.客户端和服务器仅需要一次握手,就可以创建持久连接,并双向数据传输
应用场景,视频弹幕,社交聊天

WebSocket 和 HTTP 有什么区别?

WebSocket和HTTP两者都是基于TCP的应用层协议,都可以在网络中传输数据

  • Websocket是一种双向实时通信协议,而HTTP是一种单向通信协议,并且,HTTP协议下的通信只能由客户端发起,服务器无法主动通知客户端
  • Websocket使用ws://或wss://(使用SSL/TLS加密后的协议)作为协议前缀,HTTP使用http:// 或https://作为协议前缀
  • Websocket可以支持扩展,用户可以扩展协议,实现部分自定义的子协议,如支持压缩,加密等
  • Websocket通信数据格式比较轻量.用于协议控制的数据包头部相对较小,网络开销小,而HTTP通信每次都要携带完整的头部,网络开销较大(HTTP/2.0使用二进制帧进行数据传输,还支持头部压缩,减少了网络开销)

WebSocket 的工作过程是什么样的?

WebSocket 的工作过程是什么样的?

  1. 客户端向服务器发送一个HTTP请求,请求头中包含Upgrade:websocketSec-WebSocket-Key等字段,表示要求升级协议为Websocket;
  2. 服务器收到这个请求后,会进行升级协议的操作,如果支持WebSocket,它将回复一个HTTP101状态码,响应头中包含,Connection:Upgrade和Sec-Websocket-Accept:xxx等字段,表示成功升级到Websocket协议
  3. 客户端和服务器之间建立了一个WebSocket连接,可以进行双向的数据传输.数据以帧的形式进行传输,WebSocket的每条消息可能会被切分成多个数据帧(最小单位).发送端会将消息切割成多个帧发送给接收端,接收端接收消息帧,并将关联的帧重新组装成完整的消息
  4. 客户端和服务器可以主动发送一个关闭帧,表示要断开连接.另一方收到后,也会回复一个关闭帧,然后双方关闭TCP连接
    另外,建立 WebSocket 连接之后,通过心跳机制来保持 WebSocket 连接的稳定性和活跃性。

SSE 与 WebSocket 有什么区别?

SSE与WebSocket有什么区别?
文本消息和二进制消息
SSE 与 WebSocket 作用相似,都可以建立服务端与浏览器之间的通信,实现服务端向客户端推送消息,但还是有些许不同:

  • SSE 是基于 HTTP 协议的,它们不需要特殊的协议或服务器实现即可工作;WebSocket 需单独服务器来处理协议。
  • SSE 单向通信,只能由服务端向客户端单向通信;WebSocket 全双工通信,即通信的双方可以同时发送和接受信息。
  • SSE 实现简单开发成本低,无需引入其他组件;WebSocket 传输数据需做二次解析,开发门槛高一些。
  • SSE 默认支持断线重连;WebSocket 则需要自己实现。
  • SSE 只能传送文本消息,二进制数据需要经过编码后传送;WebSocket 默认支持传送二进制数据。
    SSE 与 WebSocket 该如何选择?
    SSE 好像一直不被大家所熟知,一部分原因是出现了 WebSocket,这个提供了更丰富的协议来执行双向、全双工通信。对于游戏、即时通信以及需要双向近乎实时更新的场景,拥有双向通道更具吸引力。但是,在某些情况下,不需要从客户端发送数据。而你只需要一些服务器操作的更新。比如:站内信、未读消息数、状态更新、股票行情、监控数量等场景,SSE 不管是从实现的难易和成本上都更加有优势。此外,SSE 具有 WebSocket 在设计上缺乏的多种功能,例如:自动重新连接、事件 ID 和发送任意事件的能力。

相关文章:

计算机网络八股文学习笔记

文章目录 计算机网络基础网络分层模型OSI七层模型TCP/IP四层模型 HTTP从输入URL到页面展示到底发生了什么?(非常重要)HTTP状态码HTTP Header中常见的字段有哪些?HTTP和HTTPS有什么区别?(重要)HTTP/1.0和HTTP/1.1有什么区别?HTTP/1.1和HTTP/2.0有什么区别?HTTP/2.0和HTTP/3…...

java中json字符串键值获取

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version> </dependency>使用fastjson依赖 JSONObject jsonObject JSON.parseObject(s); 这个jsonObject本质就是一个map&…...

MySQL的安装

MySQL典型的关系型数据库&#xff08;RDBMS&#xff09;&#xff1a;oracle、MySQL、SqlServer MySQL的版本 5.5~5.7、8.0 MySQL的安装和配置 下载地址&#xff1a; https://downloads.mysql.com/archives/community/ 安装包 (x86, 64-bit), MSI Installer 执行下一步即…...

Open FPV VTX开源之第一次出图

Open FPV VTX开源之第一次出图 1. 源由2. 连线2.1 飞控2.2 调试 3. serial3.1 启动log - uboot3.2 登录版本 - linux3.3 获取有线IP 4. ssh - linux5. PixelPilot出图6. 总结7. 参考资料8. 补充 - 8812AU网卡 1. 源由 在《Open FPV VTX开源之硬件规格及组成》章节中&#xff0…...

R语言在森林生态研究中的魔法:结构、功能与稳定性分析——发现数据背后的生态故事!

森林生态系统结构、功能与稳定性分析与可视化研究具有多方面的重要意义&#xff0c;具体如下&#xff1a; 一、理论意义 ●深化生态学理论 通过研究森林生态系统的结构、功能与稳定性&#xff0c;可以深化对生态系统基本理论的理解。例如&#xff0c;生物多样性与生态系统稳定性…...

qt QLabel QPushButton 控件重写paintEvent后 控件消失

qt 继承自PushButton控件的类 重写paintEvent后 控件消失 解决办法&#xff0c;在paintevent结尾加上这条语句&#xff1a;QPushButton::paintEvent(event); void MyButton::paintEvent(QPaintEvent *event) {QPushButton::paintEvent(event); } 这里QPushButton不能写成Q…...

安全基础-互联网技术基础

互联网技术基础 概述&#xff1a;计算机网络、网络协议、HTTP协议、前端与后端技术、Web服务器、数据库以及浏览器等 目录 互联网技术基础前言一、计算机网络定义二、网络协议和协议分层1.OSI七层模型2.TCP/IP四层模型 三、HTTP协议1、HTTP协议的特点2、HTTP请求3、HTTP响应4、…...

【Rust自学】11.9. 单元测试

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 11.9.1. 测试的分类 Rust把测试分为两类&#xff0c;一个是单元测试&#xff0c;一个是集成…...

了解Node.js

Node.js是一个基于V8引擎的JavaScript运行时环境&#xff0c;它允许JavaScript代码在服务器端运行&#xff0c;从而实现后端开发。Node.js的出现&#xff0c;使得前端开发人员可以利用他们已经掌握的JavaScript技能&#xff0c;扩展技能树并成为全栈开发人员。本文将深入浅出地…...

二十三种设计模式-原型模式

原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过拷贝现有的实例来创建新的实例&#xff0c;而不是通过新建实例。这种方式可以避免复杂的构造过程&#xff0c;同时还能保持对象的创建和使用分离&#xff0c;提高系统的灵活性和扩展性…...

蓝桥与力扣刷题(66 加一)

题目&#xff1a; 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。 示例 1&#xff1a; 输入…...

Markdown 分级标题

Markdown 分级标题 1. 前言2. 语法详解2.1 SeText风格2.2 Atx风格 3. 使用场景及实例4. 小结5. 其他风格5. 其他文章快来试试吧&#x1f388; Markdown 分级标题 &#x1f448;点击这里也可查看 1. 前言 关于 Markdown 的分级标题&#xff0c;官方给出了如下定义&#xff1a; …...

回归预测 | MATLAB基于RF-Adaboost多输入单输出回归预测

回归预测 | MATLAB基于RF-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB基于RF-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB基于RF-Adaboost多输入单输出回归预测。 1.Matlab实现RF-Adaboost随机森林集成学习…...

字符串相关类之可变字符序列:StringBuffer、StringBuilder

前言&#xff1a; 小编最近找了份兼职&#xff0c;时间比较紧张 但不影响继续日更一篇&#xff0c;我们继续一起进步吧&#xff01;&#xff01;&#xff01; 我们一直都是以这样的形式&#xff0c;让新手小白轻松理解复杂晦涩的概念&#xff0c; 把Java代码拆解的清清楚楚&a…...

git提交

基本流程&#xff1a;新建分支 → 分支上开发(写代码) → 提交 → 合并到主分支 拉取最新代码因为当前在 master 分支下&#xff0c;你必须拉取最新代码&#xff0c;保证当前代码与线上同步&#xff08;最新&#xff09;&#xff0c;执行以下命令&#xff1a;bashgit pull orig…...

ceph osd df 输出详解

ceph osd df 命令用于显示 Ceph 集群中各个 OSD&#xff08;对象存储守护进程&#xff09;的详细信息。以下是输出中各列的含义&#xff1a; ID&#xff1a;OSD 的唯一标识符。 CLASS&#xff1a;OSD 所属的设备类别&#xff0c;例如 SSD、HDD 等。 WEIGHT&#xff1a;OSD 的…...

Unity3D实现自定义河流路径或泥石流路径

系列文章目录 untiy工具 文章目录 系列文章目录👉前言👉一、效果如下👉二、编辑效果如下👉三、简单使用Tool👉四、实现水流从上到下流下来的效果👉壁纸分享👉总结👉前言 此工具是一个插件,插件很好用,可以根据地形编辑河流的走向以及宽度,也可以发挥想象编辑…...

【数据结构】双向链表

目录 1. 双向链表 1.1特性 1.2双向链表相关操作 1.3 双向循环链表 1. 双向链表 1.1特性 逻辑结构&#xff1a;线性结构 存储结构&#xff1a;链式存储 操作&#xff1a;增删改查 typedef int datatype; typedef struct node {datatype data; //数据域struct node …...

android进入fastboot

安装windows驱动。android进入fastboot模式后&#xff0c;需要Windows驱动来跟adb通信&#xff0c;所以需要预先安装Windows usb驱动&#xff0c;否则进入fastboot模式后&#xff0c;无法使用adb连接手机。 下载网址&#xff1a;https://developer.android.com/studio/run/win-…...

verilogHDL仿真详解

前言 Verilog HDL中提供了丰富的系统任务和系统函数&#xff0c;用于对仿真环境、文件操作、时间控制等进行操作。&#xff08;后续会进行补充&#xff09; 正文 一、verilogHDL仿真详解 timescale 1ns/1ps //时间单位为1ns&#xff0c;精度为1ps&#xff0c; //编译…...

见微知著:Tripo 开创 3D 生成新时代

关于 VAST VAST 成⽴于 2023 年 3 ⽉,是⼀家致⼒于通⽤ 3D 大模型研发的 AI 公司,公司⽬标是通过打造⼤众级别的 3D 内容创作⼯具,建⽴ 3D 的 UGC 内容平台,让基于 3D 的空间成为⽤户体验、内容表达、提升新质⽣产⼒的关键要素。 2024 年初,VAST 推出数⼗亿参数级别的 3…...

【AI自动化渗透】大模型支持的自动化渗透测试,看蚂蚁和浙大的

参考文章: https://mp.weixin.qq.com/s/WTaO54zRxtNMHaiI1tfdGw 最近&#xff0c;美国西北大学&#xff0c;浙江大学&#xff0c;蚂蚁集团的一些专家学者联手发表了一篇论文&#xff0c;介绍了一个PentestAgent的方案&#xff0c;实现了渗透测试自动化。 01 技术方案 图的字…...

React 中事件机制详细介绍:概念与执行流程如何更好的理解

React 的事件机制是一个非常重要的概念&#xff0c;它涉及到 React 如何处理用户的交互事件。React 的事件系统与传统的 DOM 事件系统有所不同&#xff0c;它在底层使用了事件委托和合成事件&#xff08;Synthetic Events&#xff09;来优化性能。下面&#xff0c;我们将从 Rea…...

时序数据库InfluxDB—介绍与性能测试

目录 一、简述 二、主要特点 三、基本概念 1、主要概念 2、保留策略 3、连续查询 4、存储引擎—TSM Tree 5、存储目录 四、基本操作 1、Java-API操作 五、项目中的应用 六、单节点的硬件配置 七、性能测试 1、测试环境 2、测试程序 3、写入测试 4、查询测试 一…...

解决idea中无法拖动tab标签页的问题

1、按 Ctrl Alt S 打开设置&#xff0c;找到路径 File | Settings | Appearance & Behavior | Appearance 2、去掉勾选 Drag-and-drop with Alt pressed only 即可...

ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片

ffmpeg中没有直接的命令读取第N帧 但是可以通过 t N/framerate 来获取到具体第N帧的时间 然后用 -ss t进行跳转。 比如帧率&#xff08;frame rate&#xff09;为24fps的视频G:/1/1.mp4文件从第1000帧开始进行播放&#xff0c;先计算出时间为 t 41.66666 ffplay -i G:/1/1.…...

【web靶场】之upload-labs专项训练(基于BUUCTF平台)

前言 该靶场&#xff0c;是通过平台BUUCTF在线评测中的靶场进行的&#xff0c;基于linux搭建的 当然若是想要该靶场&#xff0c;可以采用github上的醒目&#xff0c;点击后面文字即可访问c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场 或者本人分享在网盘中&a…...

HTML5 Audio(音频)

HTML5 Audio(音频) HTML5 的 <audio> 元素是一个重要的革新,它为网页开发者提供了一种简单的方式来嵌入音频内容。在这篇文章中,我们将探讨 HTML5 <audio> 元素的特性、用法、浏览器兼容性,以及如何通过 JavaScript 和 CSS 对其进行控制和定制。 1. HTML5 <…...

go语言学习

字典&#xff08;映射&#xff09;类型 &#xff08;Map&#xff09; 以键值对为元素去存储元素 Map的特点&#xff1a; 键不能重复。 键必须是&#xff08;int,bool,float,string,array&#xff09;这些可以哈希的 &#xff08;如果自定义类型想要作为键&#xff0c;需要自…...

OpenCV相机标定与3D重建(53)解决 Perspective-3-Point (P3P) 问题函数solveP3P()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 根据 3 个 3D-2D 点对应关系找到物体的姿态。 cv::solveP3P 是 OpenCV 中的一个函数&#xff0c;用于解决 Perspective-3-Point (P3P) 问题。该问…...

【西北工业大学主办 | EI检索稳定 | 高H值专家与会报告】2025年航天航空工程与材料技术国际会议(AEMT 2025)

2025 年航天航空工程与材料技术国际会议&#xff08;AEMT 2025&#xff09;将于2025年2月28日至3月2日在中国天津召开。本届会议由西北工业大学主办&#xff0c;由北京航空航天大学、北京理工大学作为支持单位加入&#xff0c;AEIC 学术交流中心协办。 AEMT 2025 旨在汇聚来自全…...

卷积神经02-CUDA+Pytorch环境安装

卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题&#xff0c;在此进行记录 0-核心知识脉络 1&#xff09;根据自己电脑的CUDA版本安装对应版本的Pytorch&#xff0c;充分的使用GPU性能2&#xff09;电脑要先安装【CUDA ToolKi…...

监听器与RBAC权限模型

目录 1、监听器ServletContextListener1.1、主要用途1.2、接口方法1.3、实现步骤1.4、示例代码1.5、使用场景 2、德鲁伊数据源2.1、主要特性2.2、配置 DruidDataSource 3、RBAC权限模型3.1、什么是RBAC3.2、RBAC 的核心概念3.3、RBAC 的优势3.4、RBAC 的实现步骤 1、监听器Serv…...

根据浏览器的不同类型动态加载不同的 CSS 文件

实现思路&#xff1a; 安装并引入 vue 项目相关的 CSS 文件&#xff1a;首先确保你有为不同浏览器准备了不同的 CSS 文件&#xff08;例如&#xff0c;style-chrome.css&#xff0c;style-firefox.css&#xff0c;style-ie.css 等&#xff09;。 在 index.js 中根据浏览器类型…...

[ComfyUI]接入Google的Whisk,巨物融合玩法介绍

一、介紹​ 前段时间&#xff0c;谷歌推出了一个图像生成工具whisk&#xff0c;有一个很好玩的图片融合玩法&#xff0c;分别提供三张图片,就可以任何组合来生成图片。​ ​ 最近我发现有人开发了对应的ComfyUI插件&#xff0c;对whisk做了支持&#xff0c;就来体验了下&#…...

3DGabor滤波器实现人脸特征提取

import cv2 import numpy as np# 定义 Gabor 滤波器的参数 kSize 31 # 滤波器核的大小 g_sigma 3.0 # 高斯包络的标准差 g_theta np.pi / 4 # Gabor 函数的方向 g_lambda 10.0 # 正弦波的波长 g_gamma 0.5 # 空间纵横比 g_psi np.pi / 2 # 相位偏移# 生成 Gabor 滤…...

一文流:Maven精讲

一文流系列是作者苦于技术知识学了-忘了&#xff0c;背了-忘了的苦恼&#xff0c;决心把技术知识的要点一笔笔✍️出来&#xff0c;一图图画出来&#xff0c;一句句讲出来&#xff0c;以求刻在&#x1f9e0;里。 该系列文章会把核心要点提炼出来&#xff0c;以求掌握精髓&#…...

10.STM32F407ZGT6-内部温度传感器

参考&#xff1a; 1.正点原子 前言&#xff1a; 本笔记的主要目的和意义就是&#xff0c;再次练习ADC的使用。 32.1 内部温度传感器简介 STM32F407 有一个内部的温度传感器&#xff0c;可以用来测量 CPU 及周围的温度(TA)。对于STM32F407 系列来说&#xff0c;该温度传感器在…...

软件测试预备知识④—NTFS权限管理、磁盘配额与文件共享

在软件测试的实际环境搭建与管理过程中&#xff0c;了解和掌握NTFS权限管理、磁盘配额以及文件共享等知识至关重要。这些功能不仅影响系统的安全性和稳定性&#xff0c;还对测试数据的存储、访问以及多用户协作测试有着深远的影响。 一、NTFS权限管理 1.1 NTFS简介 NTFS&am…...

Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能

Harry技术添加存储&#xff08;minio、aliyun oss&#xff09;、短信sms&#xff08;aliyun、模拟&#xff09;、邮件发送等功能 基于SpringBoot3Vue3前后端分离的Java快速开发框架 项目简介&#xff1a;基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-P…...

科研绘图系列:R语言绘制Y轴截断分组柱状图(y-axis break bar plot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍特点意义加载R包数据下载导入数据数据预处理画图输出总结系统信息介绍 Y轴截断分组柱状图是一种特殊的柱状图,其特点是Y轴的刻度被截断,即在某个范围内省略了部分刻度。这种图表…...

省森林防火应急指挥系统

森林防火形势严峻 我国森林防火形势十分严峻&#xff0c;森林火灾具有季节性强、发现难、成灾迅速等特点&#xff0c;且扑救难度大、影响范围广、造成的损失重。因此&#xff0c;构建森林防火应急指挥系统显得尤为重要。 系统建设模式与架构 森林防火应急指挥系统采用大智慧…...

HTML 迷宫游戏

HTML 迷宫游戏 相关资源文件已经打包成压缩文件&#xff0c;可双击index.html直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#xff0…...

【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法

工作经验一年以上程序员必问问题 面试题概述 问题为在负责项目时遇到的棘手问题及解决方法&#xff0c;主要考察开发经验与技术水平&#xff0c;回答不佳会影响面试印象。提供四个回答方向&#xff0c;准备其中一个方向即可。 1、设计模式应用方向 以登录为例&#xff0c;未…...

Autoencoder(李宏毅)机器学习 2023 Spring HW8 (Boss Baseline)

1. Autoencoder 简介 Autoencoder是一种用于学习数据高效压缩表示的人工神经网络。它由两个主要部分组成: Encoder 编码器将输入数据映射到一个更小的、低维空间中的压缩表示,这个空间通常称为latent space或bottleneck。 这一过程可以看作是数据压缩,去除冗余信息,仅保留…...

Python的循环

Python的循环 Python的循环有两种&#xff0c;分别是for…in循环和while循环。 for…in 循环 假设我们要循环输出一个列表里的元素&#xff1a; names [张三,李四,王五] for name in names:print(name)执行这段代码后&#xff0c;会依次打印names的每一个元素&#xff1a;…...

车联网安全--TLS握手过程详解

目录 1. TLS协议概述 2. 为什么要握手 2.1 Hello 2.2 协商 2.3 同意 3.总共握了几次手&#xff1f; 1. TLS协议概述 车内各ECU间基于CAN的安全通讯--SecOC&#xff0c;想必现目前多数通信工程师们都已经搞的差不多了&#xff08;不要再问FvM了&#xff09;&#xff1b;…...

Git | git stash命令详解

关注&#xff1a;CodingTechWork 引言 在日常开发中&#xff0c;使用Git版本控制系统时&#xff0c;可能会遇到需要暂时中断当前工作&#xff0c;去处理其他任务的情况。这时&#xff0c;如果直接切换分支&#xff0c;可能会导致当前的修改未提交而丢失或需要暂时保存修改的状…...

LeetCode hot100-100

287. 寻找重复数 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。你设计的解决方案必须 不修改 数组…...

AWS re:Invent 2024 现场实录 - It‘s all about Scale

时隔五年&#xff0c;再度造访美国&#xff0c;也是同样的主题&#xff0c;参加在拉斯维加斯举行的 AWS re:Invent 大会。 会场 从 2012 起第一届开始&#xff0c;每年的 re:Invent 大会都放在拉斯维加斯&#xff0c;主会场也都放在威尼斯人酒店 (Venetian)。有小伙伴好奇这背…...