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

12 DHCP的内容和HTTP的改良

一、回顾

计算机分配相关身份

  • 网络号、主机号 网络号内的主机识别 局部网通信
  • 网关 不同网络的通信
  • DNS服务器 域名解析 因特网通信

二、DHCP协议

建议学习前看这个视频,14分钟,所有的知识点都有,很容易理解

1、理解

DHCP 的全称是 Dynamic Host Configuration Protocol 动态主机配置协议。DHCP与IP地址紧密联系。
作用:自动配置IP地址、统一管理IP地址分配。

注意:
除了IP地址,DHCP服务器还会把子网掩码,默认路由,网关信息,DNS服务器告诉你。

在这里插入图片描述

2、DHCP服务器

动态IP地址最终的去处。

  • 由于IP地址是动态的(临时分配)而不是静态的(永久分配),因此不再使用的IP地址会自动返回IP地址池中进行重新分配

那么DHCP服务器由谁服务呢?

  • 网络管理员负责建立DHCP服务器,并以租约的形式向启用DHCP的 客户端提供地址配置。
  • DHCP会为每个客户端提供一个动态地址,到了截止时期,会自动收回。

当虚拟机的静态地址是192.168.1.9与手机的IP地址一样。虚拟机接入网络时,会连不上。IP地址发生冲突。
那么DHCP如何知道哪些IP地址是空闲的呢?

  • 这就需要数据库了。通过DHCP维护的信息,来合理分配IP地址。那么DHCP维护了哪些信息
    • 有效的TCP/IP配置参数
      • 主机名(Host name)、DHCP 客户端(DHCP client)、域名(Domain name)、IP 地址(IPaddress)、网关(Netmask)、广播地址(Broadcast address)、默认路由(default rooter)。
    • 有效的 IP 地址和排除的 IP 地址,保存在 IP 地址池中等待分配给客户端。
    • 为某些特定的 DHCP 客户端保留的地址,这些地址是静态 IP,这样可以将单个 IP 地址⼀致地分配给单个DHCP 客户端。

3、DHCP工作机制

DHCP报文有哪些?

  • DHCP discover :客户端广播寻找可用DHCP服务器。
  • DHCP offer :服务器接收到 DHCPDISCOVER 之后做出的响应,它包括了给予客户端的 IP 租约过期时间、服务器的识别符以及其他信息。【单播或广播
  • DHCP request :客户端确认接受服务器提供的IP地址。【广播
  • DHCP ACK :服务器确认分配(Ack)。【单播或广播
  • DHCP NAK :服务器拒绝了客户端的请求。【单播或广播
  • DHCP RELEASE :一般出现在客户端关机、下线等状况。这个报文将会使 DHCP 服务器释放发出此报文的客户端的 IP 地址
  • DHCP INFORM :客户端发出的向服务器请求⼀些信息的报文
  • DHCP DECLINE :当客户端发现服务器分配的 IP 地址无法使用(如 IP 地址冲突时),将发出此报文,通知服务器禁止使用该 IP 地址

三、HTTP 2.0/3.0的理解

学习前可以看这个视频,理解整个过程,可以一截一截的看,里面是有标记内容位置的。

1、最初的HTTP

最初的HTTP只用于Web端的内容获取。web端那时候是很简单的界面。但是时代的发展,界面变得越来越好看,需要的技术文件越来越多。就会导致发送数据的阻碍。

1.1、影响

影响HTTP的网络请求因素主要有:带宽和延迟

  • 带宽

    • 因为单位时间传输的数据很少。如果按以前的老年机来输入信息,那么是无法满足现代聊天的需求。
  • 延迟

    • 浏览器阻塞

      • 浏览器阻塞是指浏览器在执行某些操作时被阻止,导致页面加载或功能无法正常运行。
    • DNS查询

      • 览器需要知道目标服务器的 IP 才能建立连接。将域名解析为 IP 的这个系统就是 DNS。但是这个通常可以利用 DNS 缓存结果来达到减少这个时间的目的。
    • 建立连接

      • HTTP 是基于 TCP 协议的,浏览器最快也要在第三次握手时才能捎带 HTTP 请求报文,达到真正的建立连接,但是这些连接无法复用会导致每次请求都经历三次握手和慢启动。三次握手在高延迟的场景下影响较明显,慢启动则对文件类大请求影响较大。
1.2、HTTP的问题1
  • HTTP被抱怨最多的问题是:连接无法复用。每次请求都要进行TCP三次握手,4次挥手。建立连接的过程消耗的资源很大。
  • 所以后面HTTP1.0会设置connection:Keep-Alive(持久连接)。这样就可以减少TCP的握手和挥手,至于可以复用多久是由服务器决定
  • HTTP 1.1的话默认就是Keep-Alive了,要关闭这个功能就把connection改成Close
1.3、HTTP的问题2
  • HTTP还有个大问题是队头阻塞(head of blocking)。
    • 队头阻塞导致带宽无法充分利用。后续请求被阻塞
      在这里插入图片描述
  • 例如:假如有五个请求被同时发出,如果第⼀个请求没有处理完成,就会导致后续的请求也无法得到处理,如下图所示:
    • 如果发送的第一个请求被阻塞,其他的4个请求也就被阻塞在客户端,等到请求1被处理完,其他才发出。

在这里插入图片描述

HTTP1.1里面有个管线化技术(流水线):单个连接可以同时发多个请求,但是发送的请求顺序是怎么样,响应的顺序也是一样的。
在这里插入图片描述

  • 但是这种它有不少缺陷。

    • 如果管道中的第一个请求的响应延迟或阻塞,后续请求的响应也会被阻塞,即使它们已经处理完成。
    • 并非所有服务器和代理都正确支持流水线技术。
    • 如果管道中的某个请求失败,客户端难以确定具体是哪个请求出了问题
    • 流水线可能导致服务器资源竞争,尤其是在高并发场景下。
    • 流水线的实现对客户端和服务器都增加了复杂性

2、SPDY

SPDY(发音为 “speedy”)是 Google 开发的一种网络协议,旨在减少网页加载时间并改善 Web 性能。它是 HTTP/2 协议的前身,引入了许多创新特性,为现代 Web 性能优化奠定了基础。

  • SPDY主要解决了HTTP的延迟和安全性。
  • SPDY 的主要目标是解决 HTTP/1.1 的性能瓶颈

    • 高延迟:HTTP/1.1 的串行请求和响应机制导致延迟较高。
    • 队头阻塞(Head-of-Line Blocking):一个请求的延迟会影响后续请求。
    • 低效的头部传输:HTTP/1.1 的头部信息重复且未压缩。
    • 并发连接限制:浏览器对同一域名的并发连接数有限制。
  • SPDY的功能

      1. 多路复用(Multiplexing)
      • 功能:在单个 TCP 连接上同时传输多个请求和响应。
      • 优势:避免了 HTTP/1.1 的队头阻塞问题,提高了连接利用率。
      1. 头部压缩
      • 功能:使用专门的算法(如 HPACK)压缩 HTTP 头部。
      • 优势:减少了头部数据的传输量,降低了延迟。
      1. 请求优先级
      • 功能:允许客户端为请求设置优先级,确保关键资源优先加载。
      • 优势:优化了页面渲染性能,提升了用户体验。
      1. 服务器推送(Server Push)
      • 功能:服务器可以主动向客户端推送资源,而无需等待客户端请求。
      • 优势:减少了额外的请求往返时间,加快了页面加载速度。
      1. 加密传输
      • 功能:SPDY 默认使用 TLS 加密传输数据。
      • 优势:提高了安全性,防止数据被窃听或篡改

3、HTTP 2.0

3.1、二进制格式

HTTP 1.x是文本格式。那么它的协议解析是基于文本,而文本的复杂度很高。而二进制格式只识别0和1,所以在HTTP2.0里开始使用二进制格式
在这里插入图片描述

3.2、连接共享

连接共享意味着客户端与服务器之间也只需要⼀个连接即可,这样即使来自很多流的数据包也能够混合在⼀起通过同样连接传输,再根据不同帧首部的 **stream id 标识符(流标识符)**重新连接将不同的数据流进行组装。

stream 是连接中的⼀个虚拟信道,可以承载双向消息传输。每个流有唯⼀整数标识符。为了防止两端 streaam id 冲突,客户端发起的流具有奇数 id,服务器端发起的流具有偶数 id。HTTP 2.0 你可以对不同的 stream 设置不同的优先级。
在这里插入图片描述

3.3、头部压缩

HTTP1.x 中的 header 由于 cookie 和 user agent 不存在记忆性,导致每次都要带着这些头重新发送请求。HTTP 2.0 可以使用 HPACK 算法压缩 HTTP 头部,减少冗余数据。通信双方会各自缓存⼀份 header 字段表,这样能够避免重复传输 header ,也能够减小传输的大小。

3.4、服务端推送

服务器可以主动向客户端推送资源,而无需等待客户端请求。

3.5、HTTP 2.0的缺陷

  • 多路复用的情况下,连接(连接是基于TCP协议上的)频繁的话,容易导致TCP性能瓶颈。
  • HTTP 2.0会增加一次TLS,就多了一次RTT。
  • 多个请求是在同一个 TCP 管道中,这样当 HTTP 2.0 出现丢包时,整个 TCP 都要开始等待重传,那么就会阻塞该 TCP。连接中的所有请求。

4、HTTP 3.0

  • TCP 队头阻塞问题
    • 在一个 TCP 连接中,如果某个数据包丢失或延迟,后续的数据包即使已经到达接收方,也无法被处理,必须等待丢失的数据包重传并到达

解决方法:使用了基于UDP的QUIC协议。QUIC把TLS和TCP整合在一起了,减少了时间。
在这里插入图片描述

在这里插入图片描述

相关文章:

12 DHCP的内容和HTTP的改良

一、回顾 计算机分配相关身份 网络号、主机号 网络号内的主机识别 局部网通信网关 不同网络的通信DNS服务器 域名解析 因特网通信 二、DHCP协议 建议学习前看这个视频,14分钟,所有的知识点都有,很容易理解 1、理解 DHCP 的全称是 Dynam…...

多光谱相机数据采集过程中常见仪器

1.BF1515多光谱相机 2.VIX-N220推扫式可见光近红外高光谱相机 覆盖光谱范围:400-1000nm; 光谱分辨率:2nm; 设备配套软件:VIX-N220、XuanDo(用于调节相机推扫速度); 镜头调节所需材料:黑色条…...

【调研】olmOCR解析PDF

测试用例: olmOCR GOT-OCR 将最底下没有文字的部分,可能是样式解析出重复 olmOCR GOT-OCR 无重复 重复 速度上,olmOCR效果更快 效果上,olmOCR解析得到的内容排版更加清晰整齐,而且对于6份GOT-OCR有重复的测…...

蓝桥杯随笔练——二分模板

答案 #include <bits/stdc.h> //洛谷2249 using namespace std;const int N 1e610; int n,m; int a[N];int Array_Search(int a[],int len,int x) {int L 0,R len1;while(L1 < R){int mid (RL) >> 1;if(a[mid] < x ) L mid;else R mid;}if(a[R] x) r…...

【Golang】第三弹----运算符

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;Golang &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 一、运算符介绍 运算符是一…...

MongoDB 聚合管道速成教程

一、引言 MongoDB 的聚合管道&#xff08;Aggregation Pipeline&#xff09;是一种强大的数据处理工具&#xff0c;它允许你对文档进行一系列的操作&#xff0c;如过滤、转换、分组和聚合等。聚合管道由多个管道组成&#xff0c;每个管道对输入的文档进行特定的处理&#xff0…...

「JavaScript深入」二进制数据处理详解「Blob、File、FileReader、ArrayBuffer、Typed Arrays、DataView」

二进制数据处理详解 1. Blob&#xff08;Binary Large Object&#xff09;Blob 的特性创建 BlobBlob 主要方法Blob 的应用 2. FileFile 对象的属性获取 File 对象 3. FileReader创建 FileReader主要方法主要事件文件上传与读取内容示例文件分块读取示例 4. ArrayBuffer 与 Type…...

信号处理之插值、抽取与多项滤波

信号处理之插值、抽取与多项滤波 一、问题背景 插值(Interpolation)与抽取(Decimation)是数字信号处理中采样率转换的核心操作&#xff1a; 插值&#xff1a;在信号中插入新样本以提高采样率&#xff08; L L L倍&#xff09;抽取&#xff1a;按比例 M M M降低采样率&#xf…...

关于WPS的Excel点击单元格打开别的文档的两种方法的探究

问题需求 目录和文件结构如下&#xff1a; E:\Dir_Level1 │ Level1.txt │ └─Dir_Level2│ Level2.txt│ master.xlsx│└─Dir_Level3Level3.txt现在要在master.xlsx点击单元格进而访问Level1.txt、Level2.txt、Level3.txt这些文件。 方法一&#xff1a;“单元格右键…...

蓝桥 2109统计子矩阵

问题描述 给定一个NM 的矩阵 A, 请你统计有多少个子矩阵 (最小 11, 最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K. 之后 NN 行每行包含 M 个整数, 代表矩阵 A. 输出格式 一个整数代表答案。 样例输入 3 4 10 1 2 3 4 5…...

AF3 make_fixed_size函数解读

AlphaFold3 data_transforms 模块的 make_fixed_size 函数的作用是将输入的蛋白质特征字典 protein 中的各个特征张量调整为固定大小。这是为了确保在批量处理时,所有特征张量的形状一致,从而避免形状不匹配的问题。 源代码: import itertools import torch from src.con…...

前端模块管理新思路:如何使用 Import Maps

前言 前端开发中&#xff0c;我们常常需要使用各种库和模块来构建功能丰富的应用。在传统方式中&#xff0c;管理这些库和模块的引用可能会有些繁琐。 幸运的是&#xff0c;Import Maps 的出现为我们提供了一种更简洁和高效的解决方案。今天我们就来聊聊如何使用 Import Maps。…...

交换机、路由器、网关、MAC地址——从入门到实战

你是否好奇&#xff0c;当你在手机上点击一个网页链接时&#xff0c;数据是如何从你的设备“飞”到千里之外的服务器并返回的&#xff1f;背后离不开交换机、路由器、网关和MAC地址的默契配合。本文用通俗语言实战场景&#xff0c;带你彻底搞懂这些网络核心组件&#xff0c;从此…...

【江协科技STM32】ADC数模转换器-学习笔记

ADC简介 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁&#xff0c;ADC是一种将连续的模拟信号转换为离散的数字信号的设备或模块12位逐次逼近型…...

LanceDB快速入门之基本操作与API一览

LanceDB可以以多种方式运行 可以嵌入到现有后端&#xff08;如您的 Django、Flask、Node.js 或 FastAPI 应用程序&#xff09;中直接从如 Jupyter 笔记本等客户端应用程序中用于分析工作负载部署为远程无服务器数据库 安装 Python&#xff1a; pip install lancedbTypeScrip…...

Spring Boot 整合 Redis

以下是 Spring Boot 整合 Redis 的指南&#xff0c;涵盖配置、基本操作、高级用法及常见问题解决。 1. 添加依赖 在 pom.xml 中添加 Spring Data Redis 和连接池依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId&…...

七层协议攻防实战:从HTTP慢速攻击到DNS隧道检测

一、七层协议攻击类型与特征 攻击类型协议特征HTTP慢速攻击HTTP低速率发送不完整请求DNS隧道DNS异常长域名、高频率TXT查询API滥用攻击HTTP高频调用关键接口&#xff08;如短信发送&#xff09;WebSocket洪水WebSocket海量小消息耗尽服务器资源 二、HTTP协议深度防护 1. 慢速…...

Java CAS(Compare-And-Swap)概念及原理

Java CAS&#xff08;Compare-And-Swap&#xff09;概念及原理 1. CAS的基本概念 CAS&#xff08;Compare-And-Swap&#xff09;是一种无锁编程的核心技术&#xff0c;用于实现多线程环境下的原子操作。其核心思想是&#xff1a; “先比较&#xff0c;再交换”。具体操作包含…...

内存检测工具——Qt Creator

前言 检测内存错误的工具&#xff0c;有很多个&#xff0c;我今天粗浅的学了一下可在Qt上使用的工具们&#xff1a; Dr.Memory 工具之前我曾在关注的博主上看到相关的博客&#xff1a;C(Qt)软件调试---内存调试器Dr.Memory&#xff08;21&#xff09;_dr. memory-CSDN博客 今…...

Ubuntu切换lowlatency内核

文章目录 一. 前言二. 开发环境三. 具体操作 一. 前言 低延迟内核&#xff08;Lowlatency Kernel&#xff09; 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调…...

侯捷 C++ 课程学习笔记:STL标准库与泛型编程

STL 体系结构基础介绍 STL 六大部件&#xff1a; 容器&#xff08;Containers&#xff09; 分配器&#xff08;Allocators&#xff09; …...

Java 大视界 -- Java 大数据在智能安防视频摘要与检索技术中的应用(128)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

19874并查集

19874并查集 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;并查集、数据结构 &#x1f4d6; &#x1f4da; import java.util.*;public class Main {static int N 100010;static int[] a new int[N];static int[] p new int[N];static int n;static int m;st…...

ABC 376

目录 D. Cycle D. Cycle&#xff08;改&#xff09; E. Max Sum D. Cycle 这道题就是个 01 最短路&#xff0c;直接从 1 开始 bfs 看能不能回到 1 #include<bits/stdc.h> #define int long long using namespace std; const int N 2e5 5, INF 1e18;struct node {int …...

win32汇编环境,对 WM_MOUSEMOVE 消息的理解

;运行效果 ;win32汇编环境,对 WM_MOUSEMOVE 消息的理解 ;理解在 WM_MOUSEMOVE 消息发生时&#xff0c;同时来的wParam和lParam值的含义&#xff0c;并取出各自的值进行运用。从这例子也可以更好的理解windows的消息机制. ;WM_MOUSEMOVE消息就是当鼠标移动时&#xff0c;发送给窗…...

第27周JavaSpringboot电商进阶开发 2.常用功能进阶

电商常用功能进阶 - 课程笔记整理 Excel解析与处理 一、课程内容概述 本小节开始进入电商常用功能进阶部分&#xff0c;主要讲解以下内容&#xff1a; Excel的解析和处理商品图片的处理Valid注解对列表的验证订单数变化趋势图Spring Boot高级功能 二、Excel解析与处理的背…...

网络安全基础知识:从零开始了解网络安全

### 网络安全基础知识&#xff1a;从零开始了解网络安全 欢迎来到《零基础入门到独立参加网络安全比赛》系列教程的第一篇&#xff01;在这篇文章中&#xff0c;我们将从最基础的概念开始&#xff0c;深入探讨网络安全的定义、重要性、常见的网络攻击类型&#xff0c;以及网络…...

【A2DP】蓝牙A2DP协议剖析:从架构到规范

目录 一、A2DP 协议架构 1.1 A2DP 协议栈结构组成 1.2 协议栈各部分的关系与作用 二、设备配置与角色定义&#xff08;Configurations and roles &#xff09; 2.1 角色定义 2.2 配置示例与角色体现 三、用户需求与场景 3.1 用户需求与场景 3.2 协议限制 3.3 协议要求…...

python力扣15. 三数之和

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1&am…...

Linux之系统文件目录理解

1.boot/ 存储启动系统的相关文件的 2.swap/ 虚拟内存 3.dev/ 用于存放设备文件&#xff08;device files&#xff09;。这些文件是操作系统与硬件设备之间的接口&#xff0c;允许用户和程序通过文件操作的方式访问硬件资源 字符设备&#xff08;Character Devices&#xf…...

uvm_transaction, uvm_seq_item, uvm_object, uvm_component的关系

uvm_object ├── uvm_component (验证环境中的静态组件) └── uvm_transaction└── uvm_sequence_item (用于sequence-driver交互的事务) 2. 核心类的作用与区别 (1) uvm_object 定位&#xff1a;所有UVM类的基类。 功能&#xff1a; 提供基础的对象操作&…...

Reflect.get和target[key]有何不同?

主要区别在this指向不同&#xff0c;下面输出张三还是李四?&#xff1a; const person{name:张三,get FullName(){return this.name;},};let personProxynew Proxy(person,{get(target,key){return Reflect.get(target,key)//或者return target[key]}});const p1{__proto__:pe…...

K8s 1.27.1 实战系列(十)PV PVC

一、核心概念与关系 ​1、PV(Persistent Volume)​ PV 是集群中的持久化存储资源,由管理员预先创建并配置,独立于 Pod 生命周期。它抽象了底层存储(如 NFS、云存储等),定义存储容量、访问模式(如 ReadWriteOnce)、回收策略(Retain/Delete/Recycle)等属性。例如,一…...

JQuery

1.jquery介绍 jQuery是目前使用最广泛的javascript函数库。据统计&#xff0c;全世界排名前100万的网站&#xff0c;有46%使用jQuery&#xff0c;远远超过其他库。微软公司甚至把jQuery作为他们的官方库。 jQuery的版本分为1.x系列和2.x、3.x系列&#xff0c;1.x系列兼容低版…...

「AI 加持的高效架构」高并发场景下的服务器成本优化

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

html css 笔记

01_浏览器相关知识 五大主流浏览器&#xff1a; Chrome Safari IE Firefox Opera (拥有自己的内核) 四大内核: webkit Trident Gecko blink. 02_网页相关知识 构成 网址 网站 网页 网页标准&#xff1a; 结构 表现 行为 分别对应 HTML CSS JavaScript 03_HTML简介 H…...

通义万相 2.1:AIGC 领域的 “王炸” 组合如何颠覆创作生态?

引言 在数字化和人工智能的飞速发展中&#xff0c;AIGC&#xff08;AI生成内容&#xff09;技术已经成为推动创作、设计和内容生成领域创新的核心力量。而当通义万相2.1与蓝耘智算平台强强联手&#xff0c;这一“王炸”组合不仅提升了AIGC的效率&#xff0c;还为创作生态带来了…...

Math.NET Numerics 库怎么装

你提到的缺少的库是 Math.NET Numerics。 关于 Math.NET Numerics Math.NET Numerics 是一个用于 .NET 平台的开源数学库&#xff0c;提供了以下功能&#xff1a; 线性代数&#xff08;矩阵运算、求解线性方程组等&#xff09;。数值计算&#xff08;积分、微分、优化等&…...

NPM安装与配置全流程详解(2025最新版)

写目录 一、环境准备与Node.js安装1. 下载Node.js&#xff08;含NPM&#xff09;2. 验证安装 二、NPM核心配置优化1. 全局模块与缓存路径设置2. 镜像加速3. 代理配置&#xff08;企业网络适用&#xff09; 三、NPM基础操作指南1. 项目初始化2. 包管理命令3. 依赖锁定与版本管理…...

python-52-基于Langchain和Faiss实现向量存储和检索的技术原理

文章目录 1 文本加载与预处理1.1 计算文本的MD5哈希值1.2 加载文本并计算哈希2 初始化向量存储2.1 基于Ollama的嵌入模型2.2 获取code和id的对应关系2.3 清空索引向量2.4 基于HuggingFaceEmbeddings的嵌入模型2.4.1 将模型下载到本地2.4.2 使用方式3 添加新文本3.1 处理新文本并…...

游戏引擎学习第140天

回顾并为今天的内容做准备 目前代码的进展到了声音混音的部分。昨天我详细解释了声音的处理方式&#xff0c;声音在技术上是一个非常特别的存在&#xff0c;但在游戏中进行声音混音的需求其实相对简单明了&#xff0c;所以今天的任务应该不会太具挑战性。 今天我们会编写一个…...

Jetpack Navigation 实战:Fragment 和 Activity 的交互与导航

在 Android 开发中&#xff0c;使用 Jetpack Navigation 组件可以方便地管理 Fragment 和 Activity 之间的导航。以下是如何使用 Jetpack Navigation 实现 Fragment 之间、Activity 之间以及 Activity 与 Fragment 之间跳转的实战示例。 1. 添加依赖 首先&#xff0c;在 build.…...

Linux中的基本指令(上)

目录 ls指令 判断linux中文件 pwd指令 认识路径 ​编辑 绝对路径/相对路径 cd指令 简要理解用户 理解家目录 echo指令和printf指令 touch指令 mkdir指令 cat指令 tree指令 rmdir指令和rm指令 man指令 cp指令 which指令 alias 指令 date指令 cal指令 理解…...

多用户网页在线聊天室(测试报告)

文章目录 多用户网页在线聊天室一&#xff0c;项目概括1.1 项目名称1.2 测试时间1.3 项目背景1.3 编写目的 二&#xff0c;测试计划2.1 测试环境与配置2.2 测试用例2.3实际执行用例2.3.1登录2.3.2聊天消息列表展示2.3.3聊天消息详情页展示2.3.4联系人页展示2.3.5信息的编辑与发…...

字节青训营后端方向的个人总结(2025年3月4日)

字节青训营的结营总结&#xff08;25寒假&#xff09; ——致青训营队友的一封信 明天就是大项目结项的日子了&#xff0c;不知道大家在这方面学习、精进了多少&#xff0c;也许有的朋友收获颇多并且已经完成了项目&#xff0c;我个人对此表示由衷的恭喜和祝贺。 当初自告奋…...

VX iOS分析随记

断SVC的时候看调用栈&#xff0c;发现里面一个特别大的ollvm函数。vx版本8054 * thread #36, queue com.apple.root.default-qos, stop reason breakpoint 4.1 frame #0: 0x0000000111ad6124 WeChat___lldb_unnamed_symbol1315083 20 WeChat___lldb_unnamed_symbol13150…...

docker 小记

一、卸载 查看当前版本 docker -v2. 如果有&#xff0c;先停止docker systemctl stop docker如果是yum安装&#xff0c;卸载方式为 #已防版本冲突&#xff0c;直接卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-lat…...

AI代码编程辅助工具

现在AI火的一塌糊涂&#xff0c;作为技术应该更应该关注当前AI对编程行业的影响。 分享下当前网络上最火的网络编程辅助工具。 以下是个人搜集到的可以对编程起辅助作用的工具&#xff1a; 2025年最佳AI编程辅助工具 1. GitHub Copilot 这个工具也许你已经在使用了&#xff0…...

使用 kubectl cp 命令可以在 Kubernetes Pod 和本地主机之间拷贝文件或文件夹

使用 kubectl cp 命令可以在 Kubernetes Pod 和本地主机之间拷贝文件或文件夹 kubectl cp <namespace>/<pod-name>:<pod-path> <local-path> # 从 Pod 拷贝到本地 kubectl cp <local-path> <namespace>/<pod-name>:<pod-path&g…...

【eNSP实战】交换机配置端口隔离

交换机端口隔离可以实现在同一个VLAN内对端口进行逻辑隔离&#xff0c;端口隔离分为L2层隔离和L3层隔离&#xff0c;这里只进行L2层隔离演示。 拓扑图 路由器AR1配置GE 0/0/1配置IP&#xff0c;其余PC主机各自配置IP和网关。 现将PC1到PC4四个主机全部进行L2层隔离&#xff0c…...