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

MQTT 术语表

Broker

有时我们也会直接将服务端称为 Broker,这两个术语可以互换使用。

Clean Start

客户端可以在连接时使用这个字段来指示是期望从已存在的会话中恢复通信,还是创建一个全新的会话。仅限 MQTT v5.0。

Client

使用 MQTT 协议连接到服务端的设备或应用程序,并通过服务端完成发布订阅。

Client ID

Client ID 用于唯一标识客户端连接与会话,MQTT 允许客户端自行指定 Client ID,也支持由服务端统一为客户端分配 Client ID。

Connection

MQTT 客户端与 MQTT 服务端之间的网络连接。MQTT 客户端之间并不会直接建立连接。

Content Type

用来描述消息的内容类型,方便接收方处理。可以使用 MIME 类型,例如 text/plain,也可以使用自定义的字符串来描述消息内容。仅限 MQTT v5.0。

Enhanced Authentication

MQTT v5.0 通过新增的 AUTH 报文实现了对增强认证的支持,在原先通过 Username 和 Password 提供的密码认证和 Token 认证的基础上进行了扩展。

它更像是一种认证框架,允许使用各种更安全的认证机制,例如 SCRAM 认证就支持服务端和客户端互相确认对方的身份,以抵御中间人攻击。

Flow Control

MQTT v5.0 引入了流控机制,允许客户端和服务端根据自己的接收能力约定对方的最大消息发送速率,避免了一方发送过快,导致网络拥塞和接收方过载的问题。

Keep Alive

Keep Alive 表示客户端在传输完成一个 MQTT 控制报文到发送下一个报文,两者之间允许空闲的最大的时间间隔。

如果没有其他控制报文可以发送,客户端必须发送一个 PINGREQ 报文。

如果服务端在 1.5 倍的 Keep Alive 时间内没有收到任何客户端的控制报文,它就会断开连接。

Message

通常指 PUBLISH 报文。

Message Expiry Interval

MQTT v5.0 允许客户端为消息设置过期时间,避免在服务端中停留了较长时间的消息仍然被转发给订阅端。

MQTT over QUIC

MQTT over ... 指的是 MQTT 运行在什么协议之上。常见的有 MQTT over TCP、MQTT over TLS 等。

MQTT 协议只要求基础传输层能够提供有序、可靠的双向传输字节流,并未强制指定使用某种传输协议。

MQTT over QUIC 是 EMQX 对 MQTT 的一个扩展。相比于 TCP,QUIC 能够有效减少连接开销和弱网环境下的消息延迟,同时还具备多路复用、连接迁移、端到端加密等特性,为现代移动互联网提供了一个更加灵活可靠的传输层。

MQTT v3.1.1

OASIS 技术委员会于 2014 年 10 月发布的 MQTT 规范。

MQTT v5.0

OASIS 技术委员会于 2019 年 3 月发布的 MQTT 规范,也是目前最新的 MQTT 规范。MQTT v5.0 在引入大量新特性的同时,仍然向后兼容 v3.1.1。

Packet

通常指 MQTT 的控制报文。MQTT 协议通过交换预定义的 MQTT 控制报文来通信。

例如用于连接的 CONNECT、AUTH(仅限 MQTT v5.0) 报文,用于发布的 PUBLISH 报文,以及用于订阅的 SUBSCRIBE 报文等等。

Packet Identifier

报文标识符用于在客户端和服务端之间唯一地标识一条 QoS 大于 0 的消息或一个订阅/取消订阅请求。

报文标识符的设置通常都在客户端和服务端的内部完成。

Payload

MQTT 报文中的有效载荷部分,根据报文类型,有效载荷的内容会有所不同。

对于 PUBLISH 报文来说,有效载荷即消息的实际内容。而对于 SUBSCRIBE 报文来说,有效载荷指的是订阅列表。

不过大部分情况下,如无特别说明,Payload 都是指 PUBLISH 报文中消息的实际内容。

Payload Format Indicator

用于指示消息内容(包括遗嘱消息)是否是 UTF-8 编码的字符串。仅限 MQTT v5.0。

PINGREQ & PINGRESP

客户端需要及时发送 PINGREQ 报文告知服务端自己还活着。

服务端也需要及时响应 PINGRESP 报文以便客户端判断网络和服务端的活动状态。

Property

MQTT 为绝大部分的控制报文中都定义了一组可选属性。不同类型的控制报文有不同的可选属性。

例如 Session Expiry Interval 是 CONNECT 报文的一个可选属性,Topic Alias 则是 PUBLISH 报文的一个可选属性。

Publish/Subscribe

发布订阅机制是 MQTT 协议的核心。它解耦了消息的发送方(发布者)和接收方(订阅者),引入了一个中间代理的角色来完成消息的路由和分发。

发布者和订阅者不需要知道彼此的存在,他们之间唯一的联系就是对消息的一致约定,例如消息将使用什么主题、消息将包含哪些字段等等。

通过发布订阅机制,我们可以实现消息的广播、组播和单播。

QoS

MQTT 定义了三种 QoS 等级,来分别提供不同的消息可靠性保证。每条消息都可以在发布时独立设置自己的 QoS。

QoS 0:最多交付一次,消息可能丢失。

QoS 1:至少交付一次,消息可以保证到达,但是可能重复到达。

QoS 2:只交付一次,消息保证到达,并且不会重复。

Reason Code

MQTT 通过 CONNACK 等响应报文中的 Reason Code 字段来指示操作结果。

MQTT v5.0 扩展了 Reason Code 以便反映更准确的结果,并且令所有响应报文都支持了 Reason Code。

Reason String

Reason Code 通常是机器易读的,所以 MQTT 还提供了 Reason String 来承载人类可读的内容,在 Reason Code 的基础上进一步指示结果。仅限 MQTT v5.0。

Receive Maximum

用于声明服务端和客户端愿意同时处理的 QoS 1 和 QoS 2 的消息的最大数量,对端在发送消息时需要遵守这个限制。仅限 MQTT v5.0。

Request & Response

MQTT 的发布订阅机制使得发布端最多只能确保消息到达了服务端,但不能确保消息到达了订阅端,我们必须借助额外的请求响应机制。

MQTT v5.0 改善了对请求响应的支持,请求方可以在请求中直接指定响应主题,这样请求方和响应方无需再提前约定主题。同时,他们还可以通过对比数据来确保请求和响应的正确匹配。

Retained Message

保留消息除了与正常消息一样被转发以外,还会保留在 MQTT 服务端中。

当一个新的订阅被创建,如果服务端中存在与该订阅匹配的保留消息,那么这些保留消息就会被发送给订阅者。

服务端只能为每个主题存储一条最新的保留消息。

Security

MQTT 支持多种安全机制,包括但不限于:支持在传输层使用 TLS 来提供端到端的安全连接,保护消息免受窃听、篡改或伪造;在 MQTT 协议层面支持对客户端和服务端的身份验证,以及对客户端的授权检查,以确保只有授权用户才能访问特定的主题。

Server

在发布消息的客户端和订阅的客户端之间充当中介的设备或应用程序,它的首要职责是将所有接收到的消息转发给匹配的订阅客户端。

Server Disconnect

MQTT v5.0 允许服务端发出 DISCONNECT 报文,以便向客户端指示连接被关闭的具体原因。

Server Reference

MQTT v5.0 允许服务端通过 CONNACK 或者 DISCONNECT 报文中的服务端参考属性指示客户端临时或永久切换至另一台服务端。

Session

MQTT 的会话机制确保了 QoS 1、2 消息的协议流程得以实现。

会话是客户端与服务端之间的有状态交互,存储了 QoS 1、2 消息的传输状态以及订阅信息等状态信息。

它可以仅持续和网络连接一样长的时间,也可以跨越多个网络连接存在。我们通常将后者称为持久会话。

我们可以选择让连接从已存在的会话中恢复,也可以选择从一个全新的会话开始。

Session Expiry Interval

会话过期时间。表示客户端连接断开后会话能够在服务端中保留多久,仅限 MQTT v5.0。

Session Present

服务端通过这个字段告知客户端本次连接是之前会话的延续还是一个全新的会话,以便客户端做出相应的调整。

Shared Subscription

MQTT v5.0 允许将客户端划分为多个订阅组,消息仍然会被转发给所有订阅组,但一个订阅组内的客户端将以随机、轮询等策略交替接收消息。

这使得订阅者能够以负载均衡的方式来消费消息。

一些 MQTT Server 例如 EMQX 在协议之外为非 MQTT v5.0 的设备提供了共享订阅的支持。

Subscription Identifier

客户端可以在订阅时指定订阅标识符,服务端在转发与这些订阅匹配的消息时需要附上与之关联的订阅标识符。

在特定的使用场景下,订阅标识符可以帮助减少需要传输的数据量,或者帮助客户端确定为消息触发哪个回调。

Subscription Options

MQTT 允许客户端为自己每个订阅使用不同的订阅选项,例如订阅建立时是否需要接收保留消息,服务端可以向自己发送的消息的最大 QoS 等等。

MQTT v3.1.1 仅支持设置最大 QoS。

Topic

主题被用来标识和区分不同的消息,它是 MQTT 消息路由的基础。发布者可以在发布时指定消息的主题,订阅者则可以选择订阅自己感兴趣的主题来接收相关的消息。

Topic Alias

MQTT v5.0 允许发送端将主题名映射成由一个双字节整数表示的别名,然后在消息传输时用别名替换原本的主题名,以此降低带宽消耗。

Topic Filter

主题过滤器在订阅时使用,可以包含主题通配符来同时订阅多个主题。

Topic Name

主题名在发布消息时使用,不允许使用主题通配符。

Topic Wildcards

MQTT 提供了两种主题通配符,分别是 + 表示的单层通配符和 # 表示的多层通配符。通配符只能在主题过滤器中使用。

Username & Password

MQTT 在连接报文中提供了可选的 Username 和 Password 字段,以实现对密码认证和 Token 认证的支持。

User Property

MQTT v5.0 允许客户端和服务端将自定义的、不限数量的字符串键值对作为元数据添加到除 PING 报文以外的所有控制报文当中,以提供更好的可扩展性。

用户属性可以在客户端和服务端之间传递,也可以在客户端和客户端之间传递,这主要取决于具体的控制报文类型。

Will Delay Interval

用于指示遗嘱消息可以在连接断开后延迟多久发出,仅限 MQTT v5.0。

Will Message

如果客户端不正常地断开连接,那么该客户端在连接时设置的遗嘱消息就会被服务端转发给其他的客户端。

遗嘱消息和普通消息一样具有主题、QoS、Payload、保留消息标识位等字段。

$ Topic

以 $ 开头的主题必须由服务端来决定其使用方式和场景,客户端不能仅出于自己的目的来随意使用这类主题。

例如 $share 开头的主题用于共享订阅,$SYS 开头的主题通常被服务端用于发布系统消息。

EMQX 还定义了 $delay 前缀用于实现消息的延迟发布。

相关文章:

MQTT 术语表

Broker 有时我们也会直接将服务端称为 Broker,这两个术语可以互换使用。 Clean Start 客户端可以在连接时使用这个字段来指示是期望从已存在的会话中恢复通信,还是创建一个全新的会话。仅限 MQTT v5.0。 Client 使用 MQTT 协议连接到服务端的设备或…...

每天学点小知识之设计模式的艺术-策略模式

行为型模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解模板方法模式 模板方法模式是结构最简单的行为型设计模式,在其结构中只存在父类与子类之间的继承关系。通过使用模板方法模式,可以将一些复杂流程的实现步骤封装在一系列基…...

ubuntuCUDA安装

系列文章目录 移动硬盘制作Ubuntu系统盘 前言 根据前篇“移动硬盘制作Ubuntu系统盘”安装系统后,还不能够使用显卡。 如果需要使用显卡,还需要进行相关驱动的安装(如使用的为Nvidia显卡,就需要安装相关的Nvidia显卡驱动&#xff…...

信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍

【题目链接】 ybt 2113:【24CSPJ普及组】小木棍(sticks) 洛谷 P11229 [CSP-J 2024] 小木棍 【题目考点】 1. 思维题,找规律 【解题思路】 解法1:找规律 该题为:求n根木棍组成的无前导0的所有可能的数…...

【数据结构】(5) ArrayList 顺序表

一、使用 ArrayList ArrayList 就是数组的封装,但是数组只有 [] 操作存取值,和 .length 操作获取数组内存长度;而 ArrayList 有更多的功能: 1、创建对象 2、扩容机制 ArrayList 有自动扩容机制,在插入元素时不用担心数…...

Elasticsearch 指南 [8.17] | Search APIs

Search API 返回与请求中定义的查询匹配的搜索结果。 http GET /my-index-000001/_search Request GET /<target>/_search GET /_search POST /<target>/_search POST /_search Prerequisites 如果启用了 Elasticsearch 安全功能&#xff0c;针对目标数据流…...

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具03

SQLSERVER的ImpDp和ExpDp工具 1、全部的表导出&#xff08;仅表结构导出&#xff09; 2、导出的表结构&#xff0c;导入到新的数据库 导入前&#xff0c;test3数据没有任何表 导入 导入结果确认&#xff1a;表都被做成&#xff0c;但是没有数据 3、全部的表导出&#x…...

JVM-运行时数据区

JVM的组成 运行时数据区-总览 Java虚拟机在运行Java程序过程中管理的内存区域&#xff0c;称之为运行时数据区。 《Java虚拟机规范》中规定了每一部分的作用 运行时数据区-应用场景 Java的内存分成哪几部分&#xff1f; Java内存中哪些部分会内存溢出&#xff1f; JDK7 和J…...

经典本地影音播放器MPC-BE.

经典本地影音播放器MPC-BE 链接&#xff1a;https://pan.xunlei.com/s/VOIAZbbIuBM1haFdMYCubsU-A1?pwd4iz3# MPC-BE&#xff08;Media Player Classic Black Edition&#xff09;是来自 MPC-HC&#xff08;Media Player Classic Home Cinema&#xff09;的俄罗斯开发者重新…...

求水仙花数,提取算好,打表法。或者暴力解出来。

暴力解法 #include<bits/stdc.h> using namespace std; int main() {int n,m;cin>>n>>m;if(n<3||n>7||m<0){cout<<"-1";return 0;}int powN[10];//记录0-9的n次方for(int i0;i<10;i){powN[i](int)pow(i,n);}int low(int) pow(1…...

后盾人JS -- 原型

没有原型的对象 也有没有原型的对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…...

Deepseek-R1 和 OpenAI o1 这样的推理模型普遍存在“思考不足”的问题

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

Nginx 命令行参数

文章来源&#xff1a;命令行参数 -- nginx中文文档|nginx中文教程 nginx 支持以下命令行参数&#xff1a; -?| — 打印帮助 以获取命令行参数。-h-c file— 使用替代项 configuration 而不是 default 文件。file-e file— 使用替代项 error log 来存储日志 而不是默认文件 &…...

YOLOV11-1:YoloV11-安装和CLI方式训练模型

YoloV11-安装和CLI方式训练模型 1.安装和运行1.1安装的基础环境1.2安装yolo相关组件1.3命令行方式使用1.3.1 训练1.3.2 预测 本文介绍yoloV11的安装和命令行接口 1.安装和运行 1.1安装的基础环境 GPU环境&#xff0c;其中CUDA是12.4版本 1.2安装yolo相关组件 # 克隆github…...

Docker Hub 镜像 Pull 失败的解决方案

目录 引言一、问题二、原因三、解决方法四、参考文献 引言 在云原生技术火热的当下&#xff0c;Docker可谓是其基础&#xff0c;由于其简单以及方便性&#xff0c;让开发人员不必再为环境配置问题而伤脑筋&#xff0c;因为可将其看作一个虚拟机程序去理解。所以掌握好它可谓是…...

重新思考绩效管理变革

Peter Cappelli 和 Anna Tavis 在绩效管理变革一文中&#xff0c;为我们带来了很多关于绩效管理变革的思考。企业为什么做绩效管理变革&#xff0c;为什么现在需要&#xff1f;让我们看看这些学者是如何思考的。 摘要 受到老板和下属的痛恨&#xff0c;传统的绩效考核已经被超…...

内核定时器2-高分辨率定时器

高分辨率定时器与低分辨率定时器 高分辨率定时器与低分辨率定时器相比&#xff0c;有如下两个根本性的不同。 (1) 高分辨率定时器使用红黑树对定时器进行管理。 (2) 定时器独立于周期时钟。即不基于jiffies&#xff0c;精度可以达到纳秒级别。 内核2.6.16版本开始&#xff…...

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具02

工具运行前的环境准备 1、登录用户管理员权限确认 工具使用的登录用户(-u后面的用户)&#xff0c;必须具有管理员的权限&#xff0c;因为需要读取系统表 例&#xff1a;Export.bat -s 10.48.111.12 -d db1 -u test -p test -schema dbo      2、Powershell的安全策略确认…...

数据结构【单链表操作大全详解】【c语言版】(只有输入输出为了方便用的c++)

单链表操作的C/C实现详解 在数据结构中&#xff0c;单链表是一种非常基础且重要的数据结构。它由一系列节点组成&#xff0c;每个节点包含数据和指向下一个节点的指针。今天我们就来深入探讨用C/C实现的单链表及其各种操作。 一、单链表的定义 const int N 1e5; //单链表 t…...

【R语言】环境空间

一、环境空间种类 R语言中有5种环境&#xff1a; 全局环境&#xff1a;也叫用户环境&#xff0c;指在当前用户下R程序运行的环境空间。 内部环境&#xff1a;通过“new.env()”命令创建的环境空间&#xff0c;也可以是匿名的环境空间。 父环境&#xff1a;当前环境空间所处…...

Python处理数据库:MySQL与SQLite详解

Python处理数据库&#xff1a;MySQL与SQLite详解 在数据处理和存储方面&#xff0c;数据库扮演着至关重要的角色。Python提供了多种与数据库交互的方式&#xff0c;其中pymysql库用于连接和操作MySQL数据库&#xff0c;而SQLite则是一种轻量级的嵌入式数据库&#xff0c;Pytho…...

软考高项笔记 信息技术及其发展

信息技术及其发展 ❝ 信息系统项目管理师第二章第一节 1. 网络标准协议的定义 网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议由三个要素组成&#xff0c;分别是语义、语法和时序。 语义&#xff1a;解释控制信息每个部分的含义&#xff0c;它…...

HAO的Graham学习笔记

前置知识&#xff1a;凸包 摘录oiwiki 在平面上能包含所有给定点的最小凸多边形叫做凸包。 其定义为&#xff1a;对于给定集合 X&#xff0c;所有包含 X 的凸集的交集 S 被称为 X 的 凸包。 说人话就是用一个橡皮筋包含住所有给定点的形态 如图&#xff1a; 正题&#xff1a…...

C#基础知识

0 C#介绍 定义与背景 C#&#xff08;发音为C - sharp&#xff09;是微软公司开发的一种高级编程语言。它是专门为构建在微软的.NET平台上运行的各种应用程序而设计的。在2000年左右推出&#xff0c;目的是结合当时编程语言的优点&#xff0c;如C的强大功能和Java的简单性与安全…...

Kafka中文文档

文章来源&#xff1a;https://kafka.cadn.net.cn 什么是事件流式处理&#xff1f; 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础&#xff0c;在这个世界里&#xff0c;企业越来越多地使用软件定义 和 automated&#xff0c;而软件的用户更…...

Tyrant(暴君):反向Shell-后门注入与持久化控制的渗透测试工具

Tyrant Tyrant 是一款用于渗透测试和远程控制持久化的恶意工具&#xff0c;具备以下功能&#xff1a; 反向Shell&#xff1a;允许攻击者通过指定用户UID进行反弹对应权限的Shell会话。后门注入与持久化&#xff1a;在目标系统中注入后门并确保即使重启后依然能恢复控制。Tyran…...

leetcode刷题-贪心04

代码随想录贪心算法part04|452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间 452. 用最少数量的箭引爆气球435. 无重叠区间763.划分字母区间 今天的三道题目&#xff0c;都算是 重叠区间 问题&#xff0c;大家可以好好感受一下。 都属于那种看起来好复杂&#…...

系统学习算法: 专题八 二叉树中的深搜

深搜其实就是深度优先遍历&#xff08;dfs&#xff09;&#xff0c;与此相对的还有宽度优先遍历&#xff08;bfs&#xff09; 如果学完数据结构有点忘记&#xff0c;如下图&#xff0c;左边是dfs&#xff0c;右边是bfs 而二叉树的前序&#xff0c;中序&#xff0c;后序遍历都可…...

2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题2)-网络部分解析-附详细代码

目录 附录1:拓扑图​编辑 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.SW5 6.SW6 7.SW7 8.R1 9.R2 10.R3 11.AC1 12.AC2 13.EG1 14.EG2 15.AP2 16.AP3 附录1:拓扑图 附录2:地址规划表...

笔试-业务逻辑4

应用 小明在玩一个数字加减游戏&#xff0c;输入4个正整数&#xff1a;s、t、a、b&#xff0c;其中s>1&#xff0c;b<105&#xff0c;a!b。只使用加法或者减法&#xff0c;使得st。 每回合&#xff0c;小明用当前的数字&#xff0c;加上或减去一个数字&#xff1b;目前有…...

冷启动+强化学习:DeepSeek-R1 的原理详解——无需监督数据的推理能力进化之路

本文基于 DeepSeek 官方论文进行分析,论文地址为:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf 有不足之处欢迎评论区交流 原文翻译 在阅读和理解一篇复杂的技术论文时,逐字翻译是一个重要的步骤。它不仅能帮助我们准确把握作者的原意,还能为后续…...

ubuntu22安装issac gym记录

整体参考&#xff1a;https://blog.csdn.net/Yakusha/article/details/144306858 安装完成后的整体版本信息 ubuntu&#xff1a;22.04内核&#xff1a;6.8.0-51-generic显卡&#xff1a;NVIDIA GeForce RTX 3050 OEM显卡驱动&#xff1a;535.216.03cuda&#xff1a;12.2cudnn&…...

Docker小游戏 | 使用Docker部署2048网页小游戏

Docker小游戏 | 使用Docker部署2048网页小游戏 前言项目介绍项目简介项目预览二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署2048网页小游戏下载镜像创建容器检查容器状态检查服务端口安全设置四、访问2048网页小游戏五、总结前言 在当今快速发展的技术世…...

C基础寒假练习(2)

一、输出3-100以内的完美数&#xff0c;(完美数&#xff1a;因子和(因子不包含自身)数本身 #include <stdio.h>// 函数声明 int isPerfectNumber(int num);int main() {printf("3-100以内的完美数有:\n");for (int i 3; i < 100; i){if (isPerfectNumber…...

传输层协议 UDP 与 TCP

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; 前置复盘&#x1f98b; 传输层&#x1f98b; 再谈端口号&#x1f98b; 端口号范围划分&#x1f98b; 认识知名端口号 (Well-Know Port Number) 二&#xf…...

Vue06

目录 一、声明式导航-导航链接 1.需求 2.解决方案 3.通过router-link自带的两个样式进行高亮 二、声明式导航的两个类名 1.router-link-active 2.router-link-exact-active 三、声明式导航-自定义类名&#xff08;了解&#xff09; 1.问题 2.解决方案 3.代码演示 四…...

AJAX笔记进阶篇

黑马程序员视频地址&#xff1a; AJAX-Day04-01.同步代码和异步代码https://www.bilibili.com/video/BV1MN411y7pw?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p47 同步代码和异步代码 回调函数地狱与解决方法 回调函数地狱…...

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 循环类型】

文章目录 一、Shell 循环类型二、Shell while 循环三、Shell for 循环四、Shell until 循环五、Shell select 循环六、总结 一、Shell 循环类型 循环是一个强大的编程工具&#xff0c;使您能够重复执行一组命令。在本教程中&#xff0c;您将学习以下类型的循环 Shell 程序&…...

【Redis】安装配置Redis超详细教程 / Linux版

Linux安装配置Redis超详细教程 安装redis依赖安装redis启动redis停止redisredis.conf常见配置设置redis为后台启动修改redis监听地址设置工作目录修改密码监听的端口号数据库数量设置redis最大内存设置日志文件设置redis开机自动启动 学习视频&#xff1a;黑马程序员Redis入门到…...

S4 HANA明确税金汇差科目(OBYY)

本文主要介绍在S4 HANA OP中明确税金汇差科目(OBYY)相关设置。具体请参照如下内容&#xff1a; 1. 明确税金汇差科目(OBYY) 以上配置点定义了在外币挂账时&#xff0c;当凭证抬头汇率和税金行项目汇率不一致时&#xff0c;造成的差异金额进入哪个科目。此类情况只发生在FB60/F…...

Nginx反向代理 笔记250203

Nginx反向代理 Nginx 是一个高性能的 HTTP 服务器和反向代理服务器。反向代理是指客户端请求资源时&#xff0c;Nginx 作为中间层&#xff0c;将请求转发到后端服务器&#xff0c;并将后端服务器的响应返回给客户端。通过反向代理&#xff0c;可以实现负载均衡、缓存、SSL 终端…...

【ChatGPT:开启人工智能新纪元】

一、ChatGPT 是什么 最近,ChatGPT 可是火得一塌糊涂,不管是在科技圈、媒体界,还是咱们普通人的日常聊天里,都能听到它的大名。好多人都在讨论,这 ChatGPT 到底是个啥 “神器”,能让大家这么着迷?今天咱就好好唠唠。 ChatGPT,全称是 Chat Generative Pre-trained Trans…...

OpenAI 实战进阶教程 - 第六节: OpenAI 与爬虫集成实现任务自动化

爬虫与 OpenAI 模型结合&#xff0c;不仅能高效地抓取并分析海量数据&#xff0c;还能通过 NLP 技术生成洞察、摘要&#xff0c;极大提高业务效率。以下是一些实际工作中具有较高价值的应用案例&#xff1a; 1. 电商价格监控与智能分析 应用场景&#xff1a; 电商企业需要监控…...

49【服务器介绍】

服务器和你的电脑可以说是一模一样的&#xff0c;只不过用途不一样&#xff0c;叫法就不一样了 物理服务器和云服务器的区别 整台设备眼睛能够看得到的&#xff0c;我们一般称之为物理服务器。所以物理服务器是比较贵的&#xff0c;不是每一个开发者都能够消费得起的。 …...

docker pull Error response from daemon问题

里面填写 里面解决方案就是挂代理。 以虚拟机为例&#xff0c;将宿主机配置端口设置&#xff0c;https/http端口设为7899 配置虚拟机的http代理&#xff1a; vim /etc/systemd/system/docker.service.d/http-proxy.conf里面填写&#xff0c;wq保存 [Service] Environment…...

院校联合以项目驱动联合培养医工计算机AI人才路径探析

一、引言 1.1 研究背景与意义 在科技飞速发展的当下&#xff0c;医疗人工智能作为一个极具潜力的新兴领域&#xff0c;正深刻地改变着传统医疗模式。从疾病的早期诊断、个性化治疗方案的制定&#xff0c;到药物研发的加速&#xff0c;人工智能技术的应用极大地提升了医疗服务…...

C++ Primer 标准库vector

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…...

Mac本地部署DeekSeek-R1下载太慢怎么办?

Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢&#xff0c;使用讯雷&#xff0c;mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b&#xff0c;看内存大小4G就8B模型 …...

kamailio-ACC_JSON模块详解【后端语言go】

要确认 ACC_JSON 模块是否已经成功将计费信息推送到消息队列&#xff08;MQueue&#xff09;&#xff0c;以及如何从队列中取值&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 确认 ACC_JSON 已推送到队列 1.1 配置 ACC_JSON 确保 ACC_JSON 模块已正确配置并启用。以下…...

利用Python高效处理大规模词汇数据

在本篇博客中&#xff0c;我们将探讨如何使用Python及其强大的库来处理和分析大规模的词汇数据。我们将介绍如何从多个.pkl文件中读取数据&#xff0c;并应用一系列算法来筛选和扩展一个核心词汇列表。这个过程涉及到使用Pandas、Polars以及tqdm等库来实现高效的数据处理。 引…...