网络基础1
目录
初识协议
协议分层
软件分层的好处
OSI七层模型
TCP/IP 五层(或四层)模型
再谈协议
为什么要有 TCP/IP 协议?
TCP/IP 协议与操作系统的关系
所以究竟什么是协议?
网络传输基本流程
认识 MAC 地址
局域网(以太网为例)通信原理
报文的传输
我们来学习网络基础
网络笼统的分成局域网和广域网。局域网 LAN: 计算机数量更多了,通过交换机和路由器连接在一起,广域网 WAN: 将远隔千里的计算机都连在一起。
初识协议
"协议" 是一种约定,计算机之间的传输媒介是光信号和电信号,通过 "频率" 和 "强弱" 来表示 0 和 1 这样的 信息,要想传递各种不同的信息,就需要约定好双方的数据格式。
只要通信的两台主机,约定好协议就可以了么,显然不可能。
所以指定了通信规则的约定仍然需要更细致的约定,并让参与的人都遵守,能制定细致的网络协议的都是有影响力的组织或者大公司或者官方机构。所以什么是网络协议:
如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出 来,约定一个共同的标准,大家都来遵守,这就是 网络协议。
在计算机体系里面协议无处不在。
协议分层
协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成为 层状结构的。
所有的问题基本都可以通过新增一层软件层来解决,上面提到了协议是软件,根据同一个协议设计出来的不同的网络格式和实现方式,但正是协议的标准化使得这些异构网络能够互相通信。然而,能否成功通信还取决于协议实现的一致性和兼容性,反正关于协议约定的部分我们都有,都保持一致。
软件分层的好处
软件分层(Layered Architecture)是一种将系统划分为多个层级的设计方法,每一层专注于特定的功能,并通过明确定义的接口与其他层交互。这种架构模式在操作系统、网络协议、企业级应用等领域广泛应用。
以打电话为例,语言层这层和通信设备层这层是分开的,我们打电话只需要向电话说出我们要说的东西,别人也这么说这是语言层的交流,但是实际上我们相互交流的那些话都是通过下层的通信设备层的那些设备进行传输的,这些设备遵循电话机协议实现,所以可以互通,我们在拿着电话交流的时候是不需要管下层那些设备有没有传输的,下层的那些设备是不需要管我们讲了什么的,反正只负责传输,将庞大系统分解为多个层级,每层只需关注自身职责(如网络协议中,应用层处理业务逻辑,传输层管理可靠性),软件分层实际上就降低了设计的复杂度。
打电话的例子从小白视角:同层协议是直接通信的,工程师视角认为同层协议没有直接通信,是各自使用下层提供的结构能力完成的通信,当然底层除外。
既然层与层之间关系不大,而且只关心本层的通信,所以分层就是实现了高内聚(同层相互联系紧密),低耦合(不同层之间依赖关系弱化),分层就是解耦合的有效方式提高了代码的可维护性,降低了维护成本。
OSI七层模型
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放 式系统互联参考模型,是一个逻辑上的定义和规范:
把网络从逻辑上分为了 7 层. 每一层都有相关、相对应的物理设备,比如路由 器,交换机。
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型 的主机实现数据传输。
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚, 理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可 靠的通讯。
但是, 它既复杂又不实用; 所以我们按照 TCP/IP 四层模型来讲解。
其实在网络角度,OSI 定的协议 7 层模型其实非常完善,但是在实际操作的过程 中,会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是 5 层协议。
TCP/IP 五层(或四层)模型
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完 成自己的需求。
4层和5层的区别就是多算了一个应用层,此时应用层就讲原本的OSI七层模型里面的应用层/表示层/会话层合并了,但是无论是4层协议还是5层本质还是遵循了原本7层的设计理念。
再谈协议
为什么要有 TCP/IP 协议?
TCP/IP协议主要是解决传输距离变远的问题,假设主机A向主机B发送信息,如果距离比较近那随便发都不会丢的,但是假设距离太远了,网络通信的最大特点就是主机之间变远了,变远的话数据传输丢失等的其他情况的概率就大了,加上距离变远了网上那么多主机,怎么定位并找到主机C,怎么办,加上发数据不是目的只是手段,用数据才是目的,主机C怎么知道我发出去的数据怎么被处理,被使用呢?这么多问题有物理层的问题,链路层的问题,网络层的问题这些问题无不是传输距离变远引起的,怎么解决,为了解决这些问题引入了TCP/IP协议族,所以协议是这些通信时出现问题的解决方案,我们说协议栈是分层的,是不同种类的问题导致了协议栈的分层。
一下输出两条结论:
这么多协议,操作系统需要管理这些协议的,遵循先描述再组织的原则,所以操作系统里面肯定有一个struct。。。来描述协议的,所以网络是操作系统里面的一个模块,网络是属于操作系统的,冯诺依曼体系本质就是网络。
上面这个图还有一个细节,就是主机A需要先将信息发送到路由器才能发送到处于不同网段的其他主机,所以这个主机和路由器是在同一个网段的。
TCP/IP 协议与操作系统的关系
TCP/IP 协议与操作系统的关系可以用 “灵魂与身体” 来类比——协议是通信的规则(灵魂),操作系统是规则的执行者(身体)。
由此我们可以看出同层协议无论在任何主机都是相同的,如果这些主机可以互相通信的话,这是前提。操作系统是协议的执行者,网络属于操作系统的一部分,所以TCP/IP网络都是用C写的。
所以究竟什么是协议?
所谓协议就是通信双方都认识的结构化的数据类型,协议就是一个结构体
windows和linux的主机可以互相通信本质就是网络层协议一样,协议一样那实现的代码肯定一样,只是底层不同,所以协议的结构体类型肯定一样。
网络传输基本流程
每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac 地址,这个mac地址是局部域的唯一性,当主机上的报文通过交换机/路由器来到不同的网段会有所变化,主要是不同的局域网的起始位置发生变化。
认识 MAC 地址
上面这个ether后面就是mac地址
局域网(以太网为例)通信原理
以太网中,任何时刻,只允许一台机器向网络中发送数据,如果有多台同时发送,会发生数据干扰,我们称之为数据碰撞,所有发送数据的主机要进行碰撞检测和碰撞避免,没有交换机的情况下,一个以太网就是一个碰撞域,那报文是这么在局域网发生到接收的呢,假设A主机发送一个报文,报文发出时,其报头会携带报头+有效载荷,有效载荷就是数据,那报头会记录这个报文要发送的源网卡mac地址和目标的网卡的mac地址,所以每个报文都是从上层的软件层发出,然后经由最下面的网卡发出并接受,所以网卡是硬件,主要还是用户想发,接收到报文时也是底层的硬件(网卡)先接受到,然后再经由操作系统往上传给用户,A主机将报文发送到局域网里面,那里面的所有的主机都同时接收到了,他们的网卡会进行地址匹配,匹配成功就交付操作系统往上传,匹配失败了就丢弃,所以通信时一个报文被丢弃上层的软件是不知道的,所有的主机发送报文都是通过以太网,所以以太网是公共资源,是临界资源,这样就不允许多个主机同时发送报文,我们为了保证临界资源的原子性,不能一个报文还没有处理完,又发来了一个,多个主机发出报文时这种情况会发生碰撞,怎么识别碰撞的呢,每一台主机都是通过总线连接的,如果一次只是发送一个那电压会比较小,当多个设备在同一时间、同一共享介质(如早期以太网的同轴电缆)上发送数据时,信号会相互干扰,导致数据损坏。那如果多个报文同时处理时电压不就更大了吗,通过总线的电压大小的是否突破阈值进行判断是否发生碰撞,其实现代网络设备和协议栈的设计核心目标之一就是高效并发处理多个报文,这种碰撞的情况会越来越少。
那用户B的操作系统怎么知道对应的网卡里面有数据了,当网卡里面有数据的时候会发出中断,执行中断向量表里面的中断方法,使操作系统陷入内核进行处理报文。网卡不断的接收数据,然后操作系统再取数据交给上层软件,这样如果操作系统慢了,或者中断发慢了或者网卡接收太快了都可能导致主机内数据积压,这种接收再转让操作系统向上传递的机制对于操作系统来说就是生产者-消费者模型!!!
报文的传输
报头部分,就是对应协议层的结构体字段,我们一般叫做报头。除了报头,剩下的叫做有效载荷,
故,报文 = 报头 + 有效载荷。
报文从用户产生下来一路经过各自层,会携带各自层的报头,作为上层的报头会成为下层识别的对象,因为在封装时各层只会关系上层和本层的信息,没有上一层的报头就不会封装本层的报头,报文在数据链路层(如以太网)的帧头中会携带网卡(MAC)地址,但仅适用于同一局域网内的直接通信,然后一条包含了所有层以及源mac地址,和源/目表网卡地址的报头就产生了,发送到另一个主机,另一个主机发现目标网卡地址就是我自己将进行自下而上的解包了,也是一层一层的脱去报头。
所以,在网络传输的过程中,数据不是直接发送给对方主机的,而是先要自定向下将数据交 付给下层协议,最后由底层发送,然后由对方主机的底层来进行接受,在自底向上进 行向上交付,所以同一个局域网内的传输会经过封装+解包+分用的过程
分用(Demultiplexing) 是网络协议栈中的关键机制,用于将接收到(解包)的数据正确分发到目标应用或协议。它的核心逻辑是:
“通过报文中的标识字段(如端口号、协议类型),决定数据应该交给哪个上层协议或应用程序处理。”
要完全使得报头和有效载荷分离后才能进行将有效载荷分给不同的目标程序/应用使用。
相关文章:
网络基础1
目录 初识协议 协议分层 软件分层的好处 OSI七层模型 TCP/IP 五层(或四层)模型 再谈协议 为什么要有 TCP/IP 协议? TCP/IP 协议与操作系统的关系 所以究竟什么是协议? 网络传输基本流程 认识 MAC 地址 局域网(以太网为例)通信原理 报文的传…...
免费且好用的PDF水印添加工具
软件介绍 今天要给大家推荐一款超实用的PDF添加水印工具,它能够满足用户给PDF文件添加水印的需求,而且完全免费。 这款PDF添加水印的软件有着简洁的界面,操作简便,无需安装,解压后即可使用。 在使用前,先…...
C++Primer对象移动
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
互联网三高-数据库高并发之分库分表ShardingJDBC
1 ShardingJDBC介绍 1.1 常见概念术语 ① 数据节点Node:数据分片的最小单元,由数据源名称和数据表组成 如:ds0.product_order_0 ② 真实表:再分片的数据库中真实存在的物理表 如:product_order_0 ③ 逻辑表:…...
七、自动化概念篇
自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人…...
python操作mongodb
1、安装包 pyMongo是MongoDB官方推荐的Python驱动程序,它提供了访问MongoDB数据库所需的接口。安装PyMongo非常简单,可以通过pip包管理工具来安装最新版本: pip install pymongo 安装完成后,我们可以使用以下Python代码来检查是否…...
IS-IS中特殊字段——OL过载
文章目录 OL 过载位 🏡作者主页:点击! 🤖Datacom专栏:点击! ⏰️创作时间:2025年04月13日20点12分 OL 过载位 路由过载 使用 IS-IS 的过载标记来标识过载状态 对设备设置过载标记后ÿ…...
行星际激波在日球层中的传播:Propagation of Interplanetary Shocks in the Heliosphere (第二部分)
行星际激波在日球层中的传播:Propagation of Interplanetary Shocks in the Heliosphere (第一部分)-CSDN博客 Propagation of Interplanetary Shocks in the Heliosphere [ Chapter 3 ] [PDF: arXiv] 本文保留原文及参考文献,参…...
紫光同创FPGA实现HSSTLP光口视频点对点传输,基于Aurora 8b/10b编解码架构,提供6套PDS工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目紫光同创FPGA相关方案推荐我这里已有的 GT 高速接口解决方案Xilinx系列FPGA实现GTP光口视频传输方案推荐Xilinx系列FPGA实现GTX光口视频传输方案推荐Xilinx系列FPGA实…...
正则表达式使用知识(日常翻阅)
正则表达式使用 一、字符匹配 1. 普通字符 描述:直接匹配字符本身。示例: abc 匹配字符串中的 “abc”。Hello 匹配字符串中的 “Hello”。 2. 特殊字符 .(点号): 描述:匹配任意单个字符(…...
CSS padding(填充)学习笔记
CSS 中的 padding(填充)是一个非常重要的属性,它用于定义元素边框与元素内容之间的空间,即上下左右的内边距。合理使用 padding 可以让页面布局更加美观、清晰。以下是对 CSS padding 的详细学习笔记。 一、padding 的作用 padd…...
Python中的字符串、列表、字典和集合详解
Python是一门强大的编程语言,其内置的数据结构丰富多样。其中,字符串、列表、字典和集合是最常用的数据类型。本文将对它们的区别、用法和使用场景进行详细介绍,帮助大家更好地理解和应用这些数据结构。 1. 字符串(String…...
【CUDA编程】CUDA Warp 与 Warp-Python 对比文档
相关文档: Nvidia-Warp GitHub:nvidia/warp CUDA Warp 和 Warp-Python 库 的对比与统一文档,涵盖两者的核心概念、区别、使用场景及示例: 1. CUDA Warp(硬件/编程模型概念) 1.1 定义与核心概念 定义: C…...
中厂算法岗面试总结
时间:2025.4.10 地点:上市的电子有限公司 面试流程: 1.由负责人讲解公司文化 2,由技术人员讲解公司的技术岗位,还有成果 3.带领参观各个工作位置,还有场所 4.中午吃饭 5.面试题,闭卷考试…...
Losson 4 NFS(network file system(网络文件系统))
网络文件系统:在互联网中共享服务器中文件资源。 使用nfs服务需要安装:nfs-utils 以及 rpcbind nfs-utils : 提供nfs服务的程序 rpcbind :管理nfs所有进程端口号的程序 nfs的部署 1.客户端和服务端都安装nfs-utils和rpcbind #安装nfs的软件rpcbind和…...
自动化运行后BeautifulReport内容为空
一、问题描述 自动化程序运行后发现运行目录下生成的html报告文件内容为空,没有运行结果。 二、测试环境 操作系统:Windows 11 家庭版BeautifulReport:0.1.3Python:3.11.9Appium-Python-Client:5.0.0Appium Server:2.…...
CTF-WEB排行榜制作
CTF-WEB排行榜制作 项目需求: 现在14道题对应有14个flag,我需要使用dockerfile搭建一个简单的,能够实现验证这些题目对应的flag来计分的简单网站(要求页面比较精美) 前十题设置为10分 11-14题设置为20分 1. flag{5a3…...
架构生命周期(高软57)
系列文章目录 架构生命周期 文章目录 系列文章目录前言一、软件架构是什么?二、软件架构的内容三、软件设计阶段四、构件总结 前言 本节讲明架构设计的架构生命周期概念。 一、软件架构是什么? 二、软件架构的内容 三、软件设计阶段 四、构件 总结 就…...
STM32单片机定时器的输入捕获和输出比较
目录 一、定时器的输入捕获 1、工作原理 2、示例代码 二、定时器的输出比较 1、工作原理 2、示例代码 三、总结 在STM32单片机中,定时器是一个非常重要的外设,广泛应用于时间管理、事件计时、波形生成等多种场景。其中输入捕获和输出比较是两个基…...
计算机组成原理-系统总线
1. 系统总线的定义 系统总线是计算机系统中各功能部件(CPU、存储器、I/O设备等)之间传递信息的公共通路,遵循统一的电气规范和时序协议,是计算机硬件互联的基础。 核心作用:实现数据、地址和控制信号的传输ÿ…...
【android bluetooth 框架分析 02】【Module详解 3】【HciHal 模块介绍】
1. 背景 我们在 gd_shim_module 介绍章节中,看到 我们将 HciHal 模块加入到了 modules 中。 modules.add<hal::HciHal>();在 ModuleRegistry::Start 函数中我们对 加入的所有 module 挨个初始化。 而在该函数中启动一个 module 都要执行那下面几步ÿ…...
Git 远程仓库
Git 入门笔记 远程仓库 Git 远程仓库 Git 远程仓库是一个托管在网络服务器上的代码仓库,它是团队协作开发的核心。 通过远程仓库,开发者可以共享代码、同步更新,实现分布式协作。 SSH 密钥 SSH 密钥可以让你在使用 Git 时安全地连接远程…...
209.长度最小的子数组- 力扣(LeetCode)
题目: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1:…...
符号右移“ >>= “ 与 无符号右移“ >>>= “ 的区别
符号右移" >> " 与 无符号右移" >>> " 的区别 一、符号右移" >> " 与 无符号右移" >>> " 的区别1. 符号右移(>>)与无符号右移(>>>)的区别…...
山东大学软件学院项目实训-基于大模型的模拟面试系统-专栏管理部分
本周我的主要任务是关于专栏管理部分的完善。 专栏图片的显示问题 问题分析 根据代码可知:图片URL来自于portfolio.headImgUrl,而且如果URL不存在的话,应该显示的是无图片,而网页中显示加载失败说明portfolio.headImgUrl应该是存…...
从 SYN Flood 到 XSS:常见网络攻击类型、区别及防御要点
常见的网络攻击类型 SYN Flood、DoS(Denial of Service) 和 DDoS(Distributed Denial of Service) 是常见的网络攻击类型,它们的目标都是使目标系统无法正常提供服务。以下是它们的详细说明: 1. SYN Flood…...
ros2-rviz2控制unity仿真的6关节机械臂,探索从仿真到实际应用的过程
文章目录 前言(Introduction)搭建开发环境(Setup Development Environment)在window中安装Unity(Install Unity in window)创建Docker容器,并安装相关软件(Create Docker containers…...
01_通过调过api文字生成音频示例
第1 第2 第3,测试音色 第4 第5 第6 第7生成api_key 第8代码 import requestsurl "https://api.siliconflow.cn/v1/audio/speech"payload {"input": "在中国传统文化中,谦让被视为一种美德,但过度的让步…...
使用PyTorch实现目标检测边界框转换与可视化
一、引言 在目标检测任务中,边界框(Bounding Box)的坐标表示与转换是核心基础操作。本文将演示如何: 实现边界框的两种表示形式(角点坐标 vs 中心坐标)之间的转换 使用Matplotlib在图像上可视化边界框 验…...
QEMU学习之路(8)— ARM32通过u-boot 启动Linux
QEMU学习之路(8)— ARM32通过u-boot 启动Linux 一、前言 参考文章: Linux内核学习——内核的编译和启动 Linux 内核的编译和模拟执行 Linux内核运行——根文件系统 Linux 内核学习——使用 uboot 加载内核 二、构建Linux内核 1、获取Linu…...
flutter 桌面应用之右键菜单
在 Flutter 桌面应用开发中,context_menu 和 contextual_menu 是两款常用的右键菜单插件,各有特色。以下是对它们的对比分析: 🧩 context_menu 集成方式:通过 ContextMenuArea 组件包裹目标组件,定义…...
系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
以下为本人自学回顾使用,请支持javaGuide原版。 1.CDN概述 CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。 你可以将 CDN 看作是服务上一层的特殊缓存服务,分布…...
从红黑树到哈希表:原理对比与典型场景应用解析(分布式以及布隆过滤器)
在数据结构的世界里,红黑树一直以「自平衡二叉查找树」的身份备受赞誉。凭借红黑节点的精妙设计,它能将插入、删除、查找的时间复杂度稳定控制在 ( log n ) (\log n) (logn),成为处理有序数据的经典方案。然而,当业务场景对「…...
动手学深度学习:手语视频在VGG模型中的测试
前言 其他所有部分同上一篇AlexNet一样,所以就不再赘诉,直接看VGG搭建部分。 模型 VGG是第一个采取块进行模块化搭建的模型。 def vgg_block(num_convs,in_channels,out_channels):layers[]for _ in range(num_convs):layers.append(nn.Conv2d(in_ch…...
微信小程序实战案例 - 餐馆点餐系统 阶段 4 - 订单列表 状态
✅ 阶段 4 – 订单列表 & 状态 目标 展示用户「我的订单」列表支持状态筛选(全部 / 待处理 / 已完成)支持分页加载和实时刷新使用原生组件编写 ✅ 1. 页面结构:文件结构 pages/orders/├─ index.json├─ index.wxml├─ index.js└─…...
深度学习理论-直观理解 Attention
本文首先介绍 Attention 的原始公式,然后以 Self-Attention 为例,简化后逐步分析 Attention 计算结果表达的含义 Attention Attention 公式如下: A t t e n t i o n s o f t m a x ( Q ⋅ K T d k ) ⋅ V Attention softmax(\frac{Q \cd…...
python中 “with” 关键字的取舍问题
自动管理资源(自动关闭文件) 当你使用 with 打开文件时,文件会在 with 代码块结束后自动关闭,无论是否发生异常。这意味着你不需要显式地调用 f.close() 来关闭文件 示例: with open("words.txt", "r…...
ISIS协议(动态路由协议)
ISIS基础 基本概念 IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是ISO (International Organization for Standardization,国际标准化组织)为它的CLNP(ConnectionL…...
llm开发框架新秀
原文链接:https://i68.ltd/notes/posts/20250404-llm-framework3/ google开源ADK-Agent Development Kit 开源的、代码优先的 Python 工具包,用于构建、评估和部署具有灵活性和控制力的复杂智能体项目仓库:https://github.com/google/adk-python 2.6k项目文档:Age…...
Zookeeper的典型应用场景?
大家好,我是锋哥。今天分享关于【Zookeeper的典型应用场景?】面试题。希望对大家有帮助; Zookeeper的典型应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 是一个开源的分布式协调服务,主要用于管理和协调大…...
【C数据结构】 TAILQ双向有尾链表的详解
TAILQ双向有尾链表的详解 常见的链表结构1.SLIST2.STAILQ3.LIST4.TAILQ5.CIRCLEQ 一、TAILQ链表简介二、TAILQ的定义和声明三、TAILQ队列的函数1.链表头的初始化2.获取第一个节点地址3.获取最后一个节点地址4.链表是否为空5.下一个节点地址6.上一个节点地址7.插入头节点8.插入尾…...
redisson的unlock方法
//分布式方式,分布式锁,采用redisson锁 RLock lock redissonClient.getLock(userId.toString());//lock方法会无限重试。getLock底层是hash,大key是userid,小key是线程,value是重入次数 try {//boolean b lock.tryLo…...
ffmpeg 切割视频失败 ffmpeg 命令参数 -vbsf 在新版本中已经被弃用,需要使用 -bsf:v 替代
ffmpeg 切割视频失败 ffmpeg 命令参数 -vbsf 在新版本中已经被弃用,需要使用 -bsf:v 替代 从日志中可以看到问题出在第一个 ffmpeg 命令执行时: Unrecognized option vbsf.Error splitting the argument list: Option not found这是因为 ffmpeg 命令参…...
设计模式——抽象工厂模式总结
理解了前面的工厂模式后,再理解抽象工厂模式就很容易了。 工厂模式:https://blog.csdn.net/inside802/article/details/147170118?spm1011.2415.3001.10575&sharefrommp_manage_link 抽象工厂模式就是工厂模式的更加抽象化,父类不仅不承…...
JavaScript 定时器
在 JavaScript 中,定时器是实现代码在特定时间间隔执行或延迟执行的重要工具。下面我们将深入探讨定时器的相关知识。 定时器基础 setTimeout() setTimeout() 函数用于在指定的延迟时间后执行一次回调函数。它接受两个参数,第一个参数是要执行的回调函…...
企业经营决策风险
在企业的经营过程中,领导者每天都在面对大量的决策——该扩大生产还是收缩业务?该增设销售渠道还是提升产品质量?但你知道吗,企业最大的成本,不是生产成本,也不是人工成本,而是决策错误的成本&a…...
【云安全】云原生-centos7搭建/安装/部署k8s1.23.6单节点
一、节点基本配置 1、准备操作系统 2、 修改主机名 hostnamectl set-hostname master-1 hostnamectl set-hostname node1 hostnamectl set-hostname node2#验证hostnamectl status 3、修改/etc/hosts cat <<EOF >>/etc/hosts 192.168.255.137 master-1 192.168…...
【已更新完毕】2025泰迪杯数据挖掘竞赛B题数学建模思路代码文章教学:基于穿戴装备的身体活动监测
基于穿戴装备的身体活动监测 摘要 本研究基于加速度计采集的活动数据,旨在分析和统计100名志愿者在不同身体活动类别下的时长分布。通过对加速度数据的处理,活动被划分为睡眠、静态活动、低强度、中等强度和高强度五类,进而计算每个志愿者在…...
力扣每日打卡 1922. 统计好数字的数目 (中等)
力扣 1922. 统计好数字的数目 中等 前言一、题目内容二、解题方法1. 暴力解法(会超时,此法不通)2. 快速幂运算3. 组合计数的思维逻辑分析组合计数的推导例子分析思维小结论 4.官方题解4.1 方法一:快速幂 三、快速幂运算快速幂运算…...
宝塔Linux面板 - 添加站点建站时没有域名实现 IP 地址访问测试(宝塔面板建站 IP 访问)
前言 使用面板添加站点时,必须要填写一个域名用来指向程序,没有域名怎么办? 答案:域名直接写 【服务器 IP 地址】 操作步骤 如果还没有添加站点,则直接在创建站点的时候,域名那填写服务器地址即可&#…...