计算机网络软考
1.物理层
1.两个主机之间发送数据的过程
自上而下的封装数据,自下而上的解封装数据,实现数据的传输
2.数据、信号、码元
码元就是数字通信里用来表示信息的基本信号单元。比如在二进制中,用高电平代表 “1”、低电平代表 “0”,这 “1” 和 “0” 就是码元。
3.编码与调制
信道可以分为传送模拟信号的模拟信道和传送数字信号的数字信道两大类。
数据转为数字信号过程叫编码,吧数字信号还原成数字数据叫解码
数据转为模拟信号的过程叫调制,把模拟信号还原成数字数据叫解调
编码方式
调制方式
4.奈氏准则
w是带宽
5.香农公式
6.异步传输和同步传输
- 异步传输:是一种面向字符的传输方式,以字符为单位进行数据传输。每个字符都有自己的起始位和停止位,字符之间的传输间隔是不固定的,即字符可以随机地在信道上出现,发送方和接收方不需要严格的时钟同步。
- 同步传输:是一种面向比特流的传输方式,数据以连续的比特流形式进行传输,发送方和接收方需要保持严格的时钟同步,以确保数据能够被正确地接收和解析。
7.单工、半双工、全双工
8.双绞线
9.光纤接口
10.信道复用
频分复用
时分复用
统计时分复用
波分复用
码分复用:码分多址
11.带宽
- 在通信领域:带宽指的是信号所占据的频带宽度,单位是赫兹(Hz)。它表示了通信线路或信号能够传输的频率范围。比如,在传统的电话线路中,语音信号的带宽通常限制在 300Hz - 3400Hz,这意味着电话线路主要传输这个频率范围内的声音信号。
- 在计算机网络领域:带宽是指在单位时间内(通常为一秒)网络设备或链路能够传输的数据量,单位是比特每秒(bps),常见的还有 Kbps、Mbps、Gbps 等。例如,一条带宽为 100Mbps 的网络线路,理论上每秒可以传输 100 兆比特的数据。
12.数字传输系统
同步光纤网:SONET时分复用(用于远距离传输)51.84M
同步数字系列:SDH时分复用(高容错)155.52M
光传送网:OTN波分复用,核心
分组传送网:PTN分组交换,汇聚接入
OTN+PTN联合组网架构
13.互联网接入技术
互联网接入技术解决的就是最终用户接入本地ISP“最后一公里”的问题。
- 电话网拨号接入:电话网拨号接入、数字用户线接入、光纤同轴混合网接入、光纤接入、以太网接入和无线接入。
- 数字用户线接入ADSL:用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务.频分复用 FDM
- 光纤同轴混合网接入:把原有线电视网中的同轴电缆主干部分改换为光纤(光纤+同轴电缆、机顶盒、Cable Modem)
- 光纤接入:EPON/GPON、OLT/ONU、下行波长1490nm/采用广播技术,上行波长1310mm/采用TDMA技术
下行采用广播技术,上行采用时分复用
2.数据链路层
1.MTU
2.ppp协议
面向字节的
PPP(Point-to-Point Protocol)协议是一种广泛应用于点对点链路的数据链路层协议,以下为你更完整地介绍:
协议组成
- 链路控制协议(LCP)
- 主要用于建立、配置、维护和终止点到点的连接。它负责协商链路的参数,如最大传输单元(MTU),即链路层一次可以传输的最大数据量;还有是否进行压缩、采用何种认证方式等。
- 还具备对链路进行测试的功能,像通过发送测试帧来检测链路的通断和质量,以确保链路的可靠性,为后续数据传输提供稳定的链路基础。
- 网络控制协议(NCP)
- 用于建立和配置不同的网络层协议,使得 PPP 链路可以支持多种网络层协议,如 IP、IPX、AppleTalk 等。
- 针对每种网络层协议都有相应的 NCP,例如 IP 控制协议(IPCP)用于配置和管理 IP 协议相关的参数,包括 IP 地址的分配、子网掩码的设置等;IPX 控制协议用于处理 Novell NetWare 网络中的 IPX 协议相关配置。
- 身份验证协议
- 密码验证协议(PAP):通过两次握手进行身份验证,用户名和密码以明文形式传输。在验证时,客户端向服务器发送包含用户名和密码的验证请求,服务器根据本地数据库或认证服务器进行验证并返回结果。这种方式简单但安全性较低,容易被窃取用户名和密码。
- 挑战握手验证协议(CHAP):CHAP 通过三次握手进行身份验证,其安全性更高。首先,服务器向客户端发送一个挑战消息,其中包含一个随机数(挑战值)。客户端收到挑战消息后,使用共享密钥对挑战值和自己的密码进行哈希运算,生成一个响应值,然后将响应值发送给服务器。服务器接收到响应值后,也使用相同的共享密钥对挑战值和客户端的密码进行哈希运算,得到一个预期的响应值,将接收到的响应值与预期的响应值进行对比,如果两者相等,则认证成功,否则认证失败。在整个过程中,密码不会以明文形式在链路上传输,并且每次认证时的挑战值都是随机的,防止了重放攻击。
工作原理
- 链路建立阶段
- 当两台设备之间的物理链路接通后,PPP 协议首先进入链路建立阶段。
- 双方通过 LCP 发送配置请求和响应报文,协商链路的参数。例如,双方会就链路是否要进行流量控制、差错控制等功能进行协商,确定最终采用的链路配置方案。若协商一致,链路进入认证阶段。
- 认证阶段(可选)
- 如果链路配置中需要进行认证,那么在这个阶段,一方设备会向另一方设备发送认证请求。
- 若采用 PAP 认证,客户端直接发送用户名和密码;若采用 CHAP 认证,则根据服务器发送的挑战消息进行相应处理并返回响应。认证通过,链路进入网络层协议配置阶段;认证失败,链路将被终止。
- 网络层协议配置阶段
- 认证通过后,双方使用 NCP 来配置网络层协议参数。
- 以 IPCP 为例,会协商分配 IP 地址、确定是否使用动态主机配置协议(DHCP)等,使得设备可以在链路上进行网络层的数据传输。
- 数据传输阶段
- 完成上述阶段后,PPP 链路就可以进行数据传输了。
- 数据被封装在 PPP 帧中进行传输,PPP 帧包含了地址字段、控制字段、协议字段等,协议字段用于标识封装的数据属于哪种网络层协议,如 0x0021 表示 IP 协议数据。
- 链路终止阶段
- 当数据传输完成或出现异常情况时,PPP 协议会进入链路终止阶段。
- 通过 LCP 发送终止请求和响应报文,关闭链路连接,释放相关资源,如端口、内存缓冲区等。
3.HDLC协议(比特)
1.帧
HDLC(High-Level Data Link Control)协议是一种面向比特的数据链路层协议,其帧类型主要有信息帧(I 帧)、监控帧(S 帧)和无编号帧(U 帧),以下是关于它们的详细介绍:
信息帧(I 帧)
- 功能
- 主要用于传输用户数据,同时也可以对已接收的数据进行确认。在连续发送多个信息帧时,通过帧中的序列号可以保证数据的有序传输,接收方可以根据序列号对乱序的帧进行排序,确保数据的完整性和正确性。
- 格式
- 比特位:一般包含 8 个比特位的帧起始标志和结束标志,用于标识帧的开始和结束。地址字段通常为 8 比特,用于标识发送方和接收方的地址。控制字段一般为 8 比特,其中包含了帧的类型标识、序列号等信息。信息字段长度可变,用于承载用户要传输的数据,其最大长度取决于具体的应用场景和链路配置。帧校验序列(FCS)一般为 16 比特或 32 比特,用于检测帧在传输过程中是否发生错误。
- 应用场景
- 在文件传输、视频流传输等大量数据传输的场景中,信息帧发挥着关键作用。比如在网络视频会议中,视频和音频数据会被分割成多个信息帧进行传输,接收端通过对这些信息帧的接收、排序和重组,还原出完整的视频和音频信号,实现实时的音视频通信。
监控帧(S 帧)
- 功能
- 主要用于流量控制和差错控制。它可以对信息帧的传输进行监控,向发送方反馈接收方的接收状态,告知发送方是否可以继续发送数据,以及是否有数据传输错误等情况。
- 格式
- 比特位:监控帧的帧起始标志、结束标志、地址字段和帧校验序列与信息帧类似。控制字段中的某些比特位用于表示监控帧的具体功能,如接收就绪(RR)、接收未就绪(RNR)、拒绝(REJ)等。
- 应用场景
- 当网络出现拥塞或者接收方处理能力有限时,监控帧就会发挥作用。例如,接收方可以通过发送 RNR 监控帧告知发送方暂时停止发送数据,待接收方处理完已接收的数据后,再发送 RR 监控帧通知发送方可以继续发送,从而实现流量控制,避免数据丢失或网络拥塞加剧。
无编号帧(U 帧)
- 功能
- 主要用于提供链路控制功能,如链路的建立、拆除、复位等操作,还可以用于一些特殊的控制命令和响应。
- 格式
- 比特位:无编号帧的帧起始标志、结束标志、地址字段和帧校验序列同样与信息帧相似。控制字段中的某些比特位组合用于表示不同的无编号帧功能,如 SABM(置异步平衡模式)命令用于建立链路连接,DISC(拆除链路)命令用于断开链路连接等。
- 应用场景
- 在网络设备启动时,会通过发送无编号帧来建立与其他设备之间的链路连接,进行初始化操作。在通信结束后,也会发送相应的无编号帧来拆除链路,释放资源。比如在路由器之间建立连接时,就会使用 SABM 等无编号帧来协商链路参数,建立起可靠的通信链路。
2.字段
HDLC 协议的帧由多个字段组成,主要包括标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)和帧校验序列字段(FCS),以下是对这些字段的详细介绍:
- 标志字段(F)
- 作用:用于标识帧的开始和结束,使接收方能够准确地识别帧的边界。
- 内容:固定为 6 位的二进制序列 “01111110”。在帧的传输过程中,发送方会在帧的开头和结尾都添加这个标志字段,接收方通过检测这个特定的序列来确定帧的起始和终止位置。
- 地址字段(A)
- 作用:主要用于在多点连接的链路中标识帧的发送方和接收方地址,以便实现数据的正确传输和接收。
- 内容:通常为 8 位二进制数,在扩展帧格式中可扩展为 16 位或更多位。对于点到点链路,地址字段可能并不严格区分发送方和接收方地址,但在多点链路中,它能够明确指定数据的源地址和目的地址,确保数据准确无误地到达目标设备。
- 控制字段(C)
- 作用:用于表示帧的类型、序号、确认信息以及其他控制信息,是 HDLC 协议中最关键的字段之一,它决定了帧的功能和操作。
- 内容:通常为 8 位。不同的帧类型(信息帧 I、监控帧 S、无编号帧 U)在控制字段的编码方式上有所不同。如信息帧的控制字段包含发送序列号(N (S))和接收序列号(N (R)),用于实现数据的有序传输和确认;监控帧的控制字段用于表示流量控制和差错控制信息;无编号帧的控制字段则用于表示链路控制命令和响应。
- 信息字段(I)
- 作用:用于承载用户要传输的实际数据。
- 内容:长度可变,理论上可以传输任意长度的数据,但在实际应用中,受链路层 MTU(最大传输单元)等因素的限制,信息字段的长度通常有一定的上限。例如,在以太网中使用 HDLC 封装时,信息字段的长度一般不超过 1500 字节。
- 帧校验序列字段(FCS)
- 作用:用于检测帧在传输过程中是否发生了错误,保证数据的完整性和准确性。
- 内容:通常为 16 位或 32 位的二进制序列,采用循环冗余校验(CRC)算法生成。发送方在发送帧之前,会根据帧中的其他字段计算出一个 FCS 值,并将其添加到帧的末尾。接收方在接收到帧后,会采用相同的算法对接收的帧进行计算,并将计算结果与接收到的 FCS 值进行比较。如果两者相等,则认为帧在传输过程中没有发生错误;否则,就认为帧出现了错误,需要进行重传或其他错误处理。
相关文章:
计算机网络软考
1.物理层 1.两个主机之间发送数据的过程 自上而下的封装数据,自下而上的解封装数据,实现数据的传输 2.数据、信号、码元 码元就是数字通信里用来表示信息的基本信号单元。比如在二进制中,用高电平代表 “1”、低电平代表 “0”,…...
vscode 查看3d
目录 1. vscode-3d-preview obj查看ok 2. vscode-obj-viewer 没找到这个插件: 3. 3D Viewer for Vscode 查看obj失败 1. vscode-3d-preview obj查看ok 可以查看obj 显示过程:开始是绿屏,过了1到2秒,后来就正常看了。 2. vsc…...
HTML第三节
一.初识CSS 1.CSS定义 A.内部样式表 B.外部样式表 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&g…...
爬虫去重:数据采集时如何进行去重,及去重优化策略
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. 去重的核心思路2. 常见的去重方法2.1 基于集合(Set)的去重2.2 基于布隆过滤器(Bloom Filter)的去重2.3 基于数据库的去重2.4 基于文件存储的去重2.5 基于 Redis 的去重3. 去重的优化策略3.1 URL 规范化3.2 分片去…...
IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题
文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek(Ollama方式)2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…...
【电子基础】运算放大器应用笔记(持续更新)
目录 运放应用1: 运放基础知识同相比例运算放大器计算放大倍数 电压比较器 运放应用2:500W调压器同相比例运算放大器计算放大倍数计算平衡电阻 积分电路 运放应用3:逆变电焊机电压跟随器积分电路 加油站1. 为什么比例运算放大电路要加平衡电阻…...
计算机网络核心知识点:信道容量、OSI模型与调制技术详解
目录 一、信道容量与调制技术 奈奎斯特定理(无噪声环境) 核心公式: 参数说明: 应用场景: 香农定理(有噪声环境) 核心公式: 参数说明: 应用场景: 奈奎…...
AI赋能企业协作4-NL2Sql技术路线
1.1 对话即服务的一点思考 在数智化转型的过程中,基于即时通信(IM)的协作平台正悄然成为企业智能化转型的“新基建”。协作平台天然具备高频交互、实时协同和场景化落地的特性,仿佛是为对话式AI量身定制的试验场——员工在熟悉的聊…...
如何用FFmpeg高效拉流(避坑指南)
FFmpeg作为音视频处理领域的“瑞士军刀”,其拉流功能在直播、监控、流媒体分析等场景中应用广泛。本文从实战角度出发,系统梳理FFmpeg拉流的核心工具链、协议适配技巧及高频踩坑点,助你快速掌握流媒体处理核心技能! 一、FFmpeg拉流工具链全解析 核心工具 ffplay:快速验证…...
面试基础--MySQL SQL 优化深度解析
MySQL SQL 优化深度解析:EXPLAIN、索引优化与分库分表实践 引言 在互联网大厂的高并发场景下,数据库的性能优化是至关重要的。MySQL 作为最流行的关系型数据库之一,SQL 查询的性能直接影响了系统的响应时间和吞吐量。本文将深入探讨 MySQL …...
WebRTC简介
WebRTC简介 WebRTC(Web Real-Time Communication)是一种支持浏览器之间进行实时音视频通信和数据传输的开放标准和技术。它由Google发起,现已成为W3C和IETF的标准。WebRTC允许开发者在不依赖第三方插件或软件的情况下,直接在网页…...
清北deepseek8本手册
“清北手册”通常是“清华大学和北京大学推出的DeepSeek手册”的简写。近期,随着AI技术的迅速发展,清北两高校陆续发布多本自家的DeepSeek学习手册,助力普通人学习进阶。 清华大学的DeepSeek手册已推出5册,内容丰富全面࿰…...
前后分离文件上传案例,前端HTML,后端Net6开发的webapi(完整源代码)下载
文件上传功能在项目开发中非常实用,本案例前端用HTML页面的form表单实现,后端用Net6实现。 前后分离文件上传案例,前端HTML,后端Net6(完整源代码) 下载链接https://download.csdn.net/download/luckyext/9…...
6.过拟合处理:确保模型泛化能力的实践指南——大模型开发深度学习理论基础
在深度学习开发中,过拟合是一个常见且具有挑战性的问题。当模型在训练集上表现优秀,但在测试集或新数据上性能大幅下降时,就说明模型“记住”了训练数据中的噪声而非学习到泛化规律。本文将从实际开发角度系统讲解如何应对过拟合,…...
六十天前端强化训练之第一天到第七天——综合案例:响应式个人博客项目
欢迎来到编程星辰海的博客讲解 目录 前言回顾 HTML5与CSS3基础 一、知识讲解 1. 项目架构设计(语义化HTML) 2. 响应式布局系统(Flex Grid) 3. 样式优先级与组件化设计 4. 完整响应式工作流 二、核心代码示例 完整HTML结…...
java数据结构_再谈String_10
目录 字符串常量池 1. 创建对象的思考 2. 字符串常量池(StringTable) 3. 再谈String对象创建 字符串常量池 1. 创建对象的思考 下面两种创建String对象的方式相同吗? public static void main(String[] args) {String s1 "hello&…...
MCP:重塑AI与数据交互的新标准
MCP:重塑AI与数据交互的新标准 前言 在人工智能领域,大型语言模型(LLM)的应用日益广泛,但其与外部数据源和工具的集成却一直面临复杂性和碎片化的挑战。 Anthropic提出的MCP(Model Context Protocol&…...
Cursor+Claude3.7实现从原型到app开发
最近在X上看到了一些人在用Claude 3.7 Sonnet生成 app原型图的尝试,受到启发,发现这么先生成不同界面的原型图再让Cursor基于原型图开发app会是很好的尝试。尤其是,你也可以不两步直接生成,而是在过程中更可视化地思考你要生产的原…...
洛谷P1334
题目如下 思路: 每次选择最短的两块木板进行合并,直到只剩下一块木板。使用最小堆(优先队列)来实现这一过程。使用最小堆: 将所有木板的长度放入最小堆(优先队列) 每次从堆中取出两块最短的木…...
使用wifi连接手机adb进行调试|不使用数据线adb调试手机|找应用错误日志和操作日志
手机在开发者选项里要开启无线调试 在手机设置中查看WiFi的IP地址 设置 -> WLAN -> 已连接的WiFi -> IP地址 使用手机的IP地址连接 adb connect 192.168.1.12:xxxxx 检查连接状态 adb devices 断开特定设备 adb disconnect 192.168.x.x:xxxxx 断开所有设备 …...
大语言模型中温度参数(Temperature)的核心原理
大语言模型中温度参数(Temperature)的核心原理是通过调整模型输出的概率分布,控制生成结果的随机性和多样性。以下是其原理的详细说明: 一、定义与核心作用 温度参数是生成式模型(如GPT系列)中的一个超参数…...
【AIGC】通义万相 2.1 与蓝耘智算:共绘 AIGC 未来绚丽蓝图
一、引言 在人工智能技术迅猛发展的今天,AIGC(生成式人工智能内容生成)领域正以惊人的速度改变着我们的生活和工作方式。从艺术创作到影视制作,从广告设计到智能客服,AIGC 技术的应用越来越广泛。通义万相 2.1 作为一…...
在Ubuntu上搭建Samba服务,实现与windows之间的文件共享
1.安装samba 首先切换为root账户,就是带#符号的表示当前登录的是root超级用户; su - 如果忘记密码,就输入以下命令修改密码 sudo passwd root 再切换为超级用户 然后进行更新软件列表 sudo apt update sudo apt install samba安装 whe…...
Labview培训案例3: 输出正弦波并采集显示
本案例介绍如何从板卡(USB6008)的模拟量输出端口输出一个正弦波,然后模拟量输入模块进行采样,然后显示到vi画面的‘波形图’中。 详细代码在:Labview课程3:正弦波输出&采集数据&显示资源-CSDN文库 …...
使用 Deepseek + kimi 快速生成PPT
前言 最近看到好多文章和视频都在说,使用 Deepseek 和 kimi 能快速生成精美的 ppt,毕竟那都是别人说的,只有自己尝试一次才知道结果。 具体操作 第一步:访问 deepseek 我们访问 deepseek ,把我们想要输入的内容告诉…...
图解MOE大模型的7个核心问题并探讨DeepSeekMoE的专家机制创新
原文地址:https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mixture-of-experts #mermaid-svg-FU7YUSIfuXO6EVHa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FU7YUSIfuXO6EVHa .error-icon{fill…...
青训营:简易分布式爬虫
一、项目介绍 该项目是一个简易分布式爬虫系统,以分布式思想为基础,通过多节点协作的方式,将大规模的网页抓取任务分解,从而高效、快速地获取网络数据 。 项目地址:https://github.com/yanchengsi/distributed_crawle…...
Scala(Array,List,Set,Map,Tuple,字符串 使用的简单介绍)
目录 Array 不可变数组 ArrayBuffer可变数组 List 不可变列表 ListBuffer 可变列表 Set 集合(可变不可变) Map映射(可变不可变)(键值对) Tuple 元组 字符串 Array 不可变数组 // Array 数组// scala 中的数组下标是()// scala 中的数组是值…...
fmql之Linux WDT
正点原子第52章。 基础知识 正点原子教程 fmql-dts 代码 APP代码(不需要编写驱动代码) static int dw_wdt_drv_probe(struct platform_device *pdev) {struct device *dev &pdev->dev;struct watchdog_device *wdd;struct dw_wdt *dw_wdt; …...
IntelliJ IDEA集成MarsCode AI
IntelliJ IDEA集成MarsCode AI IDEA中安装插件 安装完毕之后登录自己的账号 点击链接,注册账号 https://www.marscode.cn/events/s/i5DRGqqo/ 可以选择不同的模型...
python-leetcode-打家劫舍 III
337. 打家劫舍 III - 力扣(LeetCode) 这个问题可以通过动态规划解决。可以通过递归的方式来解决每个房子的最大偷窃金额,递归过程中,我们会记录每个房子是否偷或不偷时能够获得的最大金额。 思路: 对于每个房子,我们有两种选择: 偷这个房子,那么它的直接相邻(父亲和孩…...
数据结构——队列
1. 概念与结构 队列(Queue)是一种先进先出(FIFO, First In First Out)的数据结构,即最先被插入队列的数据会最先被删除。队列广泛应用于计算机科学中,特别是在任务调度、缓冲区管理、网络数据传输等领域。…...
GaussianCity:实时生成城市级数字孪生基底的技术突破
在空间智能领域,如何高效、大规模地生成高质量的3D城市模型一直是一个重大挑战。传统方法如NeRF和3D高斯溅射技术(3D-GS)在效率和规模上存在显著瓶颈。GaussianCity通过创新性的技术方案,成功突破了这些限制,为城市级数字孪生的构建提供了全新路径。 一、核心创新:突破传…...
【AGI】智谱开源2025:一场AI技术民主化的革命正在到来
智谱开源2025:一场AI技术民主化的革命正在到来 引言:开源,一场技术平权的革命一、CogView4:中文AI生成的里程碑1. 破解汉字生成的“AI魔咒”2. 开源协议与生态赋能 二、AutoGLM:人机交互的范式跃迁1. 自然语言驱动的跨…...
【算法学习之路】5.贪心算法
贪心算法 前言一.什么是贪心算法二.例题1.合并果子2.跳跳!3. 老鼠和奶酪 前言 我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也写了几篇,题单正在更新…...
C++11中的右值引用和完美转发
C11中的右值引用和完美转发 右值引用 右值引用是 C11 引入的一种新的引用类型,用 && 表示。它主要用于区分左值和右值,并且可以实现移动语义,避免不必要的深拷贝,提高程序的性能。左值通常是可以取地址的表达式…...
Leetcode 1477. 找两个和为目标值且不重叠的子数组 前缀和+DP
原题链接: Leetcode 1477. 找两个和为目标值且不重叠的子数组 class Solution { public:int minSumOfLengths(vector<int>& arr, int target) {int narr.size();int sum0;int maxnINT_MAX;vector<int> dp(n,maxn);//dp[i]表示以索引i之前的满足要求…...
koa-session设置Cookie后获取不到
在谷歌浏览器中请求获取不到cookie问题之一(谷歌安全策略) 场景 前端使用 axios 请求,项目地址:http://192.168.8.1:5173 import axios from axiosconst request axios.create({baseURL: http://127.0.0.1:3001/,timeout: 60000,…...
Linux三种网络方式
前言 发现运维啥都得会,这周就遇到了网络问题自己无法解决,因此痛定思痛学一下。 参考文献 你管这破玩意叫网络? 桥接模式、NAT模式、仅主机模式,原来是这样工作的 交换机 构成局域网,实现所有设备之间的通信。 …...
android_viewtracker 原理
一、说明 我们业务中大部分场景是用 RecyclerView 实现的列表,而 View 的曝光通常是直接写在 adapter 的 onBindViewHolder 中,这样就会导致 item 还没显示出来的时候就会触发曝光。最近业务提出需要实现根据 View 显示在屏幕上面积大于 80% 才算曝光。…...
Object.defineProperty()
**Object.defineProperty()** 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。 plain const object1 {}; Object.defineProperty(object1, ‘property1’, { value: 42, writable: false }); object1.property1 77…...
大模型+知识图谱:重塑企业制度标准管理
在数字化转型的浪潮中,制度标准管理领域正迎来一场革命性的变革。借助大模型和知识图谱等前沿人工智能技术,制度标准管理不再仅仅是简单的文档存储和检索,而是演变为一个智能化、高效化、精准化的管理体系。 1.关键技术 我们的制度标准管理…...
ubuntu20系统下conda虚拟环境下安装文件存储位置
在 Conda 虚拟环境中执行 pip install 安装软件后,安装的文件会存储在该虚拟环境专属的 site-packages 目录中。具体路径取决于你激活的 Conda 环境路径。以下是定位步骤: 1. 确认 Conda 虚拟环境的安装路径 查看所有环境: conda info --env…...
深度学习编译器(整理某survey)
一、深度学习框架 TensorFlow PyTorch MXNet ONNX:定义了一个统一的表示,DL models的格式方便不同框架之间的转换模型 二、深度学习硬件 通用硬件(CPU、GPU):通过硬件和软件优化支持深度学习工作负载 GPU:通过多核架构实现高…...
Python学习第八天
查看函数参数 操作之前给大家讲一个小技巧:如何查看函数的参数(因为python的底层源码是C语言并且不是开放的,也一直困扰着刚学习的我,这个参数叫什么名之类的看doc又总是需要翻译挺麻烦的)。 比如我们下面要说到的op…...
SpringBoot为什么默认使用CGLIB?
大家好,我是锋哥。今天分享关于【SpringBoot为什么默认使用CGLIB?】面试题。希望对大家有帮助; SpringBoot为什么默认使用CGLIB? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot 默认使用 CGLIB(Code Generation Li…...
【消息队列】数据库的数据管理
1. 数据库的选择 对于当前实现消息队列这样的一个中间件来说,具体要使用哪个数据库,是需要稍作考虑的,如果直接使用 MySQL 数据库也是能实现正常的功能,但是 MySQL 也是一个客户端服务器程序,也就意味着如果想在其他服…...
pytest中pytest.ini文件的使用
pytest.ini 是 pytest 测试框架的配置文件,它允许你自定义 pytest 的行为。通过在 pytest.ini 中设置各种选项,可以改变测试用例的发现规则、输出格式、插件行为等。以下详细介绍 pytest.ini 文件的使用。 1. 文件位置 pytest.ini 文件通常位于项目的根目录下,pytest 在运…...
docker学习笔记(1)从安装docker到使用Portainer部署容器
docker学习笔记第一课 先交代背景 docker宿主机系统:阿里云ubuntu22.04 开发机系统:win11 docker镜像仓库:阿里云,此阿里云与宿主机系统没有关系,是阿里云提供的一个免费的docker仓库 代码托管平台:github&…...
Vue.js侦听器
侦听器 基本示例 计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改 DOM,或是根据异步操作的结果去修改另一处的状态。 在组合式 API 中,我们可以使用 watch 函数在每次响应式状态发生变化时触发回调函数: …...