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

[ 计算机网络 ] 深入理解OSI七层模型

🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨

🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖

🎉希望我们在一篇篇的文章中能够共同进步!!!

🌈个人主页:AUGENSTERN_dc

🔥个人专栏:C语言 |Java | 数据结构 | 算法 | MySQL | RabbitMQ | Redis

⭐个人格言:

一重山有一重山的错落,我有我的平仄

一笔锋有一笔锋的着墨,我有我的舍得


目录

1. OSI七层模型

1.1 OSI七层模型

1.2 为什么要分成七个层次?

1.3 各层分别的职责:

1.3.1 应用层

1.3.1.1 主要功能: 

1.3.1.2 常见应用层的协议:

 1.3.1.3 总结

1.3.2 表示层

1.3.2.1 主要功能:

1.3.2.2 常见表示层协议:

1.3.2.3  总结

1.3.3 会话层

1.3.3.1 主要功能

1.3.3.2 常见会话层协议

1.3.3.3 总结

1.3.4 传输层

1.3.5 网络层

1.3.5.1 主要功能: 

1.3.5.2 常用协议: 

1.3.5.3 总结:

1.3.6 数据链路层

1.3.6.1 主要功能: 

1.3.6.2 常见协议

1.3.6.3 总结: 

1.3.7 物理层

1.3.7.1 主要功能: 

1.3.7.2 常见协议: 

1.3.7.3 总结: 


1. OSI七层模型

1.1 OSI七层模型

OSI(Open Systems Interconnection)七层模型是一个概念性的网络通信模型,将网络通信过程分为七个层次,每一层负责特定的功能。OSI模型的主要目的是提供一个标准化的框架,以便不同厂商的设备和软件能够互操作。

1.2 为什么要分成七个层次?

说到分层,我们可以联想一下平时我们开发一个SpringBoot后台程序时的分层,我们往往会按照每一层做不同的事情的原则,将系统分为三层(若系统复杂,则会有更多的层级) :

<1> Controller (负责前后端的数据交互)

<2> Service (负责业务操作逻辑)

<3> Repository (负责与数据库进行交互)

复杂的系统需要进行分层,因为每一层都需要专注于一类事情,就像设计模式中的 <单一责任原则>

网络分层的原理也是一样,每一层只专注于做一件事情

话说回来,我认为分层的原因主要有三点:

1. 各层之间需要相互独立: 各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)。这个和我们对开发时系统进行分层是一个道理。

2. 提高了灵活性和可替换性:每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。并且,每一层都可以根据需要进行修改或替换,而不会影响到整个网络的结构。这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。

3. 大问题化小分层可以将复杂的网络问题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义.

1.3 各层分别的职责:

在OSI七层模型中,每一层的模型都会对上一层的数据进行封装(除了物理层外,物理层对数据进行转换而不是封装)

接下来我们简单介绍一下,每一层的不同的职责

1.3.1 应用层

将用户上传的数据发送给表示层做处理,或接收表示层传来的数据展示给用户

1.3.1.1 主要功能: 

<1> 提供用户接口: 应用层为用户提供直接的交互界面,使得用户能够方便的使用各种网络服务

<2> 数据格式化: 应用层负责将用户数据转换为合适的网络传输格式,以及将接受到的数据解析为用户可以理解的格式

<3> 提供网络服务: 应用层提供了多种网络服务,满足用户的不同需求

1.3.1.2 常见应用层的协议:

<1> HTTP/HTTPS

<2> SMTP/POP3/IMAP

<3> FTP/SFTP

<4> DNS

 1.3.1.3 总结

总的来说,应用层主要是用来服务于用户,与用户直接进行交互的,同时应用层是通过调用下层提供的服务来实现其功能

1.3.2 表示层

表示层会对来自于应用层的数据进行封装,传输给会话层,或接收会话层的数据,解封后传输给应用层

1.3.2.1 主要功能:

<1> 数据表示和转换: 表示层负责将数据转换为适合网络传输的格式,以及将接收到的数据转换为应用程序可以理解的格式。

例如:将ASCII转换为Unicode编码格式,将图像音频等转换成合适的传输形式

<2> 数据加密和解密: 表示层提供数据加密和解密服务,确保数据在传输过程中的安全性和隐私性。

例如在HTTP的基础上,通过SSL/TLS协议对数据进行加密,确保数据在传输过程中不被窃取或篡改

<3> 数据压缩和解压缩: 表示层提供数据压缩和解压缩服务,减少数据传输的大小,提高传输效率。

例如: 将文件压缩成ZIP文件进行传输,压缩文件大小,提高传输效率

1.3.2.2 常见表示层协议:

SSL/TLS(Secure Sockets Layer/Transport Layer Security)

1.3.2.3  总结

表示层主要负责处理应用层数据的表示,转换,加密和压缩,确保数据在不同的系统之间能够正确的理解和处理

1.3.3 会话层

会话层接收表示层的数据并进行封装,发送给传输层,或接收传输层的数据解封发送给表示层

1.3.3.1 主要功能

<1> 建立会话: 会话层负责在通信双方之间建立会话

<2> 管理会话: 会话层负责管理会话的整个生命周期,包括数据传输、会话恢复和会话终止。

<3> 同步和检查点: 会话层在数据传输过程中设置同步点和检查点,确保数据的完整性和一致性。

<4> 对话控制: 会话层支持双向通信,并可以控制会话的方向。

1.3.3.2 常见会话层协议

<1> RPC (Remote Procedure Call)

<2> NetBIOS (Network Basic Input/Output System)

<3> SMB(Server Message Block)

1.3.3.3 总结

会话层主要负责管理和协调通信双方之间的会话,通过各种协议实现其功能,确保数据在会话期间正确、有序地传输。

1.3.4 传输层

传输层的主要职责是提供端到端的可靠或不可靠数据传输服务,确保数据能够在网络中正确、完整地传输。

1.3.4.1 主要功能

<1> 端到端的通信: 传输层负责在源主机和目标主机之间建立和管理端到端的通信。

<2> 可靠传输: 传输层提供可靠的数据传输服务,确保数据能够完整、无误地到达目的地。

<3> 不可靠传输: 传输层也提供不可靠的数据传输服务,不保证数据的可靠传输,但提供快速传输。

<4> 多任务管理: 传输层可以同时管理多个应用程序的通信,每个应用程序使用不同的端口号。

1.3.4.2 常见协议

<1> TCP (Transmission Control Protocol)

<2> UDP(User Datagram Protocol)

1.3.4.3 总结

传输层通过TCP和UDP两种协议实现其功能,确保数据能够在网络中正确、完整地传输。

1.3.5 网络层

1.3.5.1 主要功能: 

<1> 路由选择: 网络层负责选择最佳路径,将数据报从源主机传输到目标主机。

<2> 逻辑地址处理: 网络层使用逻辑地址(如IP地址)来标识网络中的设备。IP地址是网络层的核心,用于路由选择和数据报的传输。

<3> 数据报传输: 网络层将传输层的数据(如TCP段或UDP数据报)封装成网络层的数据报(如IP数据报),接收方的网络层将接收到的数据报解封装,提取出传输层的数据并传递给上层。

<4> 错误检测: 网络层在数据报中添加校验和,用于检测数据在传输过程中是否发生错误。如果检测到错误,网络层会丢弃错误的数据报,由传输层负责重传。

1.3.5.2 常用协议: 

<1> IP(Internet Protocol)IP是网络层的核心协议,负责将数据报从源主机传输到目标主机。

<2> ICMP(Internet Control Message Protocol):ICMP用于发送错误消息和控制消息,帮助网络层更好地管理数据报的传输。

<3> IGMP(Internet Group Management Protocol):IGMP用于管理多播组成员关系,支持多播通信。

1.3.5.3 总结:

网络层通过IP协议、ICMP协议等实现其功能,确保数据能够在复杂的网络环境中高效、可靠地传输。

1.3.6 数据链路层

1.3.6.1 主要功能: 

<1> 帧的封装与解封装: 数据链路层将网络层的数据(如IP数据报)封装成帧。帧是数据链路层的数据单元,包含帧头、数据部分和帧尾。

<2> 可靠传输: 数据链路层通过校验码(如CRC)检测传输过程中是否发生错误。某些数据链路层协议(如HDLC)可以纠正单比特错误。数据链路层可以通过确认应答(ACK)和超时重传机制确保数据的可靠传输。

<3> 介质访问控制: 数据链路层负责管理多个设备共享同一物理介质(如以太网电缆)时的访问控制。

<4> 流量控制: 数据链路层可以通过流量控制机制(如滑动窗口协议)控制发送方的数据流量,避免接收方缓冲区溢出

1.3.6.2 常见协议

<1> 以太网(Ethernet)

<2> Wi-Fi(IEEE 802.11)

<3> PPP(Point-to-Point Protocol)

1.3.6.3 总结: 

数据链路层主要负责将物理层传输的原始比特流封装成帧,并提供可靠的数据传输服务。

1.3.7 物理层

1.3.7.1 主要功能: 

<1> 物理连接: 物理层负责建立和维护物理连接,确保数据能够在物理介质上传输。

<2> 比特流传输: 物理层负责在物理介质上透明地传输原始的比特流。

<3> 信号编码: 物理层将数据编码为适合物理介质传输的信号。

1.3.7.2 常见协议: 

<1> 以太网(Ethernet)

<2> 光纤通信

<3> 无线通信

1.3.7.3 总结: 

物理层通过各种协议和标准(如以太网、光纤通信、无线通信)实现其功能,确保数据能够在物理介质上正确传输。

相关文章:

[ 计算机网络 ] 深入理解OSI七层模型

&#x1f389;欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ &#x1f389;感谢各位读者在百忙之中抽出时间来垂阅我的文章&#xff0c;我会尽我所能向的大家分享我的知识和经验&#x1f4d6; &#x1f389;希望我们在一篇篇的文章中能够共同进步&#xff01;&#xff01;&…...

实战:基于Pangolin Scrape API,如何高效稳定采集亚马逊BSR数据并破解反爬虫?

引言&#xff1a;BSR数据——亚马逊运营的"指南针" 在竞争激烈的亚马逊市场&#xff0c;BSR (Best Sellers Rank) 数据已经成为卖家们不可或缺的"指南针"。这一数字化指标不仅反映商品在特定品类中的销售表现&#xff0c;更直接影响平台的流量分配和消费者…...

电子制造企业智能制造升级:MES系统应用深度解析

在全球电子信息产业深度变革的2025年&#xff0c;我国电子信息制造业正经历着增长与转型的双重考验。据权威数据显示&#xff0c;2025年一季度行业增加值同比增长11.5%&#xff0c;但智能手机等消费电子产量同比下降1.1%&#xff0c;市场竞争白热化趋势显著。叠加关税政策调整、…...

lambda架构和kappa架构区别

Lambda架构与Kappa架构是大数据处理领域的两种核心架构模式&#xff0c;主要差异体现在数据处理逻辑、系统复杂度和适用场景等方面。以下是二者的详细对比分析&#xff1a; 一、核心设计差异 ‌Lambda架构 包含三层&#xff1a;批处理层&#xff08;Batch Layer&#xff09;、…...

【css知识】flex-grow: 1

目录 一、基本概念&#xff1a;二、工作原理&#xff1a;多个元素的情况&#xff1a; 三、实际应用示例&#xff1a;常见使用场景&#xff1a;注意事项&#xff1a; 四、最佳实践&#xff1a;五、与其他 flex 属性配合&#xff1a; &#x1f680;写在最后 flex-grow: 1是什么&a…...

六足连杆爬行机器人的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序 4.系统原理简介 5.完整工程文件 1.课题概述 六足连杆爬行机器人的simulink建模与仿真。通过simulink&#xff0c;对六足机器人的六足以及机身进行simulink建模&#xff0c;模拟其行走&#xff0c;仿真输出机器人行走时六足的坐…...

软考软件测评师——系统安全设计(防火墙技术)

目录 一、核心概念解析 二、技术联动体系 三、技术局限认知 四、网络架构设计 五、防护系统测试规范 一、核心概念解析 1. 防火墙技术 网络安全基础防护体系&#xff0c;通过软硬件结合方式在内外部网络间建立隔离屏障。核心作用包括流量监控、访问控制、日志记录三大模块…...

漏洞检测与渗透检验在功能及范围上究竟有何显著差异?

漏洞检测与渗透检验是确保系统安全的重要途径&#xff0c;这两种方法各具特色和功效&#xff0c;它们在功能上有着显著的差异。 目的不同 漏洞扫描的主要任务是揭示系统内已知的安全漏洞和隐患&#xff0c;这就像是对系统进行一次全面的健康检查&#xff0c;看是否有已知的疾…...

探秘「4+3原型驱动的交付模式」如何实现软件快速定制

软件行业长期受困于需求沟通难题&#xff1a;客户需求表达不清、频繁变更及真伪需求混杂难辨&#xff1b;终端业务部门参与度低加剧后期确认困难&#xff0c;加之调研结果传递失真引发功能实现偏差——"需求黑洞"始终是甲乙双方的共同痛点。 然而&#xff0c;NC科技…...

C语言入门

一、认识C语言 什么是C语言 C语言是一门通用计算机编程语言&#xff0c;广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能&#xff0c…...

java 异常验证框架validation,全局异常处理,请求验证

1、依赖 异常验证框架validation<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId><version>${spring-boot.version}</version></dependency> 当鼠标放在依…...

如何使用VH6501进行CAN采样点测试

Vector 的 VH6501 是一种专为 CAN 和 CAN FD 网络设计的干扰测试设备&#xff0c;集成了干扰生成和 CANoe 网络接口功能&#xff0c;支持通过 CAPL 脚本实现测试自动化。 硬件规格如下&#xff1a; VH6501采样点测试原理是&#xff1a;干扰一帧报文中某一位的采样点附近的总线电…...

QT6 源(113)篇二:阅读与注释工具栏 QToolBar,给出源码

&#xff08;9&#xff09;本源码来自于头文件 qtoolbar . h &#xff1a; #ifndef QDYNAMICTOOLBAR_H #define QDYNAMICTOOLBAR_H#include <QtWidgets/qtwidgetsglobal.h> #include <QtGui/qaction.h> #include <QtWidgets/qwidget.h>QT_REQUIRE_CONFIG(to…...

编程日志5.13

邻接表的基础代码 #include<iostream> using namespace std; //邻接表的类声明 class Graph {private: //结构体EdgeNode表示图中的边结点,包含顶点vertex、权重weight和指向下一个边结点的指针next struct EdgeNode { int vertex; int weight; …...

Java 08集合

集合 Collection 接口&#xff0c;不可以创建对象add clear remove contains(Object obj);判断是否存在 isEmpty 空返回为true sizeArrayList Collection<String> cnew ArraryList<>(); 以多态的方法创建集合对象&#xff0c;调用单列集合中的共有方法 编译看…...

CSS 背景全解析:从基础属性到视觉魔法

CSS 背景属性用于定义HTML元素的背景。 CSS 属性定义背景效果: background-color background-image background-repeat background-attachment background-position 一、background-color&#xff1a;背景颜色 作用&#xff1a;设置元素的背景色&#xff0c;支持所有合法…...

2025华为OD机试真题+全流程解析+备考攻略+经验分享+Java/python/JavaScript/C++/C/GO六种语言最佳实现

华为OD全流程解析&#xff0c;备考攻略 快捷目录 华为OD全流程解析&#xff0c;备考攻略一、什么是华为OD&#xff1f;二、什么是华为OD机试&#xff1f;三、华为OD面试流程四、华为OD薪资待遇及职级体系五、ABCDE卷类型及特点六、题型与考点七、机试备考策略八、薪资与转正九、…...

中小型制造业信息化战略规划指南

1 引言 在当今技术飞速发展和全球竞争日趋激烈的时代&#xff0c;信息化建设对于中小型制造企业&#xff08;SME&#xff09;而言&#xff0c;已不再是可有可无的选项&#xff0c;而是关乎生存、发展和保持持续竞争力的核心要素。在数字化浪潮席卷全球的背景下&#xff0c;制造…...

PowerBI 矩阵实现动态行内容(如前后销售数据)统计数据,以及过滤同时为0的数据

我们有一张活动表 和 一张销售表 我们想实现如下的效果&#xff0c;当选择某个活动时&#xff0c;显示活动前后3天的销售对比图&#xff0c;如下&#xff1a; 实现方法&#xff1a; 1.新建一个表&#xff0c;用于显示列&#xff1a; 2.新建一个度量值&#xff0c;用SELECTEDVA…...

在QT中栅格布局里套非栅格布局的布局会出现父布局缩放子布局不跟随的问题

这个是 Qt Designer 设计界面中的一个“常见陷阱”。 &#x1f9e0; 结论先说&#xff1a; 在 Qt Designer 中使用栅格布局&#xff08;Grid Layout&#xff09;嵌套其他栅格布局&#xff0c;一般不会出问题&#xff0c;但如果嵌套的是水平布局&#xff08;HBox&#xff09;或垂…...

Pydantic数据验证实战指南:让Python应用更健壮与智能

导读&#xff1a;在日益复杂的数据驱动开发环境中&#xff0c;如何高效、安全地处理和验证数据成为每位Python开发者面临的关键挑战。本文全面解析了Pydantic这一革命性数据验证库&#xff0c;展示了它如何通过声明式API和类型提示系统&#xff0c;彻底改变Python数据处理模式。…...

深度解析 HDFS与Hive的关系

1. HDFS 和 Hive 如何协同 我们将从 HDFS&#xff08;Hadoop Distributed File System&#xff09; 的架构入手&#xff0c;深入剖析其核心组成、工作机制、内部流程与高可用机制。然后详细阐述 Hive 与 HDFS 的关系&#xff0c;从执行流程、元数据管理、文件读写、计算耦合等…...

ArrayList源码分析

1. ArrayList默认初始化容量 首先编写一个简单的初始化ArrayList的代码 List<String> li new ArrayList<>();然后进入ArrayList中&#xff0c;在无参数构造方法中可以查看到上面的绿色注释中写了构造一个空的集合并且初始化容量为10。接下来继续查看源码&#x…...

文件操作和IO-2 使用Java操作文件

Java操作文件的API 1、针对文件系统的操作。包括但不限于&#xff1a;创建文件、删除文件、重命名文件、列出目录内容…… 2、针对文件内容的操作。读文件/写文件 Java中针对文件的操作&#xff0c;使用File类来进行操作&#xff0c;这个类被存储在java.io这个包里面。 i&a…...

day 31

文件的拆分 1. 项目核心代码组织 src/&#xff08;source的缩写&#xff09;&#xff1a;存放项目的核心源代码。 2. 配置文件管理 config/ 目录&#xff1a;集中存放项目的配置文件&#xff0c;方便管理和切换不同环境&#xff08;开发、测试、生产&#xff09;的配置。 …...

基于Python批量删除文件和批量增加文件

一、为什么写这么一个程序 其实原因也是很简单的&#xff0c;我去网上下载了一个文件夹&#xff0c;里面太多别人的文件了&#xff0c;我不喜欢&#xff0c;所以我就写了这么一个代码。 二、安装Python和vscode 先安装Python在安装vscode Python安装 vscode的安装 三、源码…...

【信息系统项目管理师】第12章:项目质量管理 - 26个经典题目及详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

ShenNiusModularity项目源码学习(27:ShenNius.Admin.Mvc项目分析-12)

订单列表页面用于浏览、检索、维护商城模块的订单信息。订单列表页面的后台控制器类OrderController位于ShenNius.Admin.Mvc项目的Areas\Shop\Controllers内&#xff0c;页面文件位于同项目的Areas\Shop\Views\Order内&#xff0c;其中Index.cshtml页面为主页面&#xff0c;Det…...

(T_T),不小心删掉RabbitMQ配置文件数据库及如何恢复

一、不小心删除 今天是2025年5月15日&#xff0c;非常沉重的一天&#xff0c;就在今早8点左右的时候我打算继续做我的毕业设计&#xff0c;由于开机的过程十分缓慢&#xff08;之前没有&#xff09;&#xff0c;加上刚开机电脑有卡死的迹象&#xff0c;再加上昨天晚上关电脑前…...

【Python装饰器深度解析】从语法糖到元编程实战

目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选型对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:基础计时装饰器案…...

操作系统学习笔记第5章 (竟成)

目录 第 5 章 输入 / 输出 (I/O) 管理 5.1 I/O 管理基础 5.1.1 I/O 设备 1.I/O 设备的基本概念 2.I/O 设备的分类 3.I/O 接口 4.I/O 端口 (1) I/O 端口的概念 (2) I/O 端口的编址 ① 独立编址方式 ② 统一编址方式 5.1.2 I/O 控制方式 1. 程序查询方式 2. 程序中断方式 3. DMA …...

【DCGMI专题1】---DCGMI 在 Ubuntu 22.04 上的深度安装指南与原理分析(含架构图解)

目录 一、DCGMI 概述与应用场景 二、Ubuntu 22.04 系统准备 2.1 系统要求 2.2 环境清理(可选) 三、DCGMI 安装步骤(详细图解) 3.1 安装流程总览 3.2 分步操作指南 3.2.1 系统更新与依赖安装 3.2.2 添加 NVIDIA 官方仓库 3.2.3 安装数据中心驱动与 DCGM 3.2.4 服务…...

C# 使用 OpenCV 基础

一、C#安装OpenCV 安装上面两个模块 二、使用 导入 using OpenCvSharp;加载图片 // 导入图片 Mat image Cv2.ImRead("C:\x5.bmp"); // 拷贝 Mat image2 image.Clone();// 打开窗口 Cv2.NamedWindow("image", WindowFlags.AutoSize); // 显示图片 Cv2…...

如何解决全局或静态变量被修改的bug

问题卡死 程序原来设置Firware name 时N32G475&#xff0c;在程序运行时&#xff0c;程序崩溃&#xff0c;发现输出的固件名称没有了&#xff0c;这里说明固件名称被程序修改了 程序在开机时都是对的 打开map文件查找fw_name的内存地址&#xff0c;他的值被更改&#xff0c;就…...

[Java实战]Spring Boot整合Sentinel:流量控制与熔断降级实战(二十九)

[Java实战]Spring Boot整合Sentinel&#xff1a;流量控制与熔断降级实战&#xff08;二十九&#xff09; 一、Sentinel简介 Sentinel是阿里开源的分布式系统流量防卫组件&#xff0c;核心功能包括&#xff1a; 流量控制&#xff1a;根据QPS、线程数等指标限制资源访问熔断降…...

Linux系统中,Ctrl+C的运行过程是什么?

文章目录 前言1.终端驱动捕获键盘输入2.信号发送到前台进程组3. 进程处理信号4. 信号传递的详细流程5. Shell 的后续处理关键机制说明扩展&#xff1a;其他相关信号总结 前言 今天看到有个小伙伴面试问到这个问题&#xff0c;感觉挺有意思&#xff0c;我们后端开发者相信都用过…...

101个α因子#9

((0 < ts_min(delta(close, 1), 5)) ? delta(close, 1) : ((ts_max(delta(close, 1), 5) < 0) ? delta(close, 1) : (-1 * delta(close, 1))))worldquant brain平台上调整后的语法&#xff1a; ((0 < min(close-ts_delay(close, 1), ts_delay(close, 1)-ts_delay(c…...

DAY28 超大力王爱学Python

知识点回顾&#xff1a; 类的定义pass占位语句类的初始化方法类的普通方法类的继承&#xff1a;属性的继承、方法的继承 作业 题目1&#xff1a;定义圆&#xff08;Circle&#xff09;类 import mathclass Circle:def __init__(self, radius1):self.radius radius # 半径属性…...

【C++算法】70.队列+宽搜_N 叉树的层序遍历

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 429. N 叉树的层序遍历 题目描述&#xff1a; 解法 使用队列层序遍历就可以了。 先入根节点1。queue&#xff1a;1 然后出根节点1&#xff0c;入孩子节点2&#xff0c;3&a…...

常用UI自动化测试框架

&#x1f50d; 常用UI自动化测试框架全览&#xff08;Web / 移动 / 桌面 / AI驱动&#xff09; UI&#xff08;用户界面&#xff09;测试框架是一类用于自动化测试应用图形界面的工具&#xff0c;帮助开发者和测试人员验证界面元素的功能性、交互性和视觉一致性。本文系统梳理了…...

C语言指针深入详解(五):回调函数、qsort函数

目录 一、回调函数 1、使用回调函数改造前 2、使用回到函数改造后 二、qsort使用举例 1、使用qsort函数排序整型数据 2、使用qsort排序结构数据 三、qsort函数模拟实现 结语 &#x1f525;个人主页&#xff1a;艾莉丝努力练剑 &#x1f353;专栏传送门&#xff1a;《…...

# YOLOv5:目标检测的新里程碑

YOLOv5&#xff1a;目标检测的新里程碑 在计算机视觉领域&#xff0c;目标检测一直是研究的热点和难点之一。近年来&#xff0c;随着深度学习技术的飞速发展&#xff0c;目标检测算法也取得了显著的进步。YOLO&#xff08;You Only Look Once&#xff09;系列算法以其高效的实…...

beanstalk一直被重新保留(reserved 状态)消息删除

说明&#xff1a;wallet是我的tube 完整流程示例 暂停 tube&#xff08;防止任务被重新保留&#xff09;pause-tube wallet 300踢回并删除任务kick 100000 # 踢回所有 reserved 任务 delete 183723 # 删除目标任务恢复 tube&#xff08;取消暂停&#xff09;pause-tu…...

NLP学习路线图(二): 概率论与统计学(贝叶斯定理、概率分布等)

引言 自然语言处理&#xff08;NLP&#xff09;作为人工智能的重要分支&#xff0c;致力于让机器理解、生成和操作人类语言。无论是机器翻译、情感分析还是聊天机器人&#xff0c;其底层逻辑都离不开数学工具的支持。概率论与统计学是NLP的核心数学基础之一&#xff0c;它们为…...

塔能智能照明方案——贵州某地区市政照明改造实践

在城市市政建设中&#xff0c;照明系统作为城市基础设施的重要组成部分&#xff0c;其能耗问题日益凸显。传统市政照明设备能耗高、运维效率低&#xff0c;成为城市绿色发展的阻碍。塔能科技针对这一痛点&#xff0c;为贵州某地区量身打造智能照明改造方案&#xff0c;通过技术…...

Mybatis的逆向工程Generator

Mybatis的逆向工程 什么是逆向工程 generator 简单点说&#xff0c;就是通过数据库中的单表&#xff0c;自动生成java代码。 Mybatis官方提供了逆向工程&#xff0c;可以针对单表自动生成mybatis代码&#xff08;mapper.java\mapper.xml\po类&#xff09; 企业开发中&#…...

Runtime Suspend 专项训练

Q1. 什么是 Runtime PM&#xff1f;与 System Suspend 有什么区别&#xff1f; 答&#xff1a; Runtime PM&#xff08;运行时电源管理&#xff09;是 Linux 内核为单个设备提供的自动挂起机制。其核心思想是在设备空闲期间&#xff0c;关闭其时钟、电源、总线连接等资源&…...

香港科技大学(广州)智能制造理学硕士招生宣讲会——深圳大学专场

深圳大学专场宣讲会 时间&#xff1a;5月22日&#xff08;星期四&#xff09;19:00-20:00 地点&#xff1a;深圳大学沧海校区致原楼1101 ‍&#x1f393;主讲嘉宾&#xff1a; 汤凯 教授 https://facultyprofiles.hkust-gz.edu.cn/faculty-personal-page/TANG-Kai/mektang …...

使用MacPro 安装flutter开发环境 详细教程

Mac 有 英特尔芯片 和 苹果芯片&#xff0c;故安装路径可能略有不同&#xff0c;但是思路 大致一样&#xff0c;以下内容仅供小伙伴们参考&#xff1a; 首先下载环境安装的软件&#xff0c;并推荐使用稳定版本。 gralde 8.5 点击下载 android studio 点击下载 jdk 点击下载…...

常见的 API 及相关知识总结

常见的 API 及相关知识总结 一、Math 类 Math 类提供了许多用于数学计算的静态方法和常量。 常见方法总结 方法描述Math.abs()返回一个数的绝对值Math.ceil()返回大于或等于给定数字的最小整数Math.floor()返回小于或等于给定数字的最大整数Math.round()对一个数进行四舍五…...