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

SNMP(简单网络管理协议)介绍

简介

作为系统管理员的重要工作之一是收集关于服务器和基础设施的准确信息。有许多工具和选项可用于收集和处理这种类型的信息。其中许多工具都是建立在一种称为SNMP的技术之上。

SNMP代表简单网络管理协议。这是服务器可以共享有关其当前状态的信息的一种方式,也是管理员可以修改预定义值的通道。虽然协议本身非常简单,但实现SNMP的程序的结构可能非常复杂。

在本指南中,我们将向您介绍SNMP协议的基础知识。我们将介绍其用途,协议在网络中的典型使用方式,协议版本之间的差异等。

基本概念

SNMP是实现在网络堆栈的应用层上的协议(点击这里了解网络层)。该协议被创建为一种以一致的方式从非常不同的系统中收集信息的方式。尽管它可以与各种系统连接,但查询信息的方法和相关信息的路径是标准化的。

SNMP协议有多个版本,许多网络硬件设备实现了某种形式的SNMP访问。最广泛使用的版本是SNMPv1,但在许多方面它是不安全的。它的流行主要源于其无处不在和长期存在。除非您有充分的理由不这样做,我们建议您使用提供更高级安全功能的SNMPv3。

一般来说,由SNMP进行配置文件的网络主要由包含SNMP 代理的设备组成。代理是一个可以收集有关硬件的信息,将其组织成预定义条目,并使用SNMP协议响应查询的程序。

在这个模型中,用于向代理查询信息的组件称为SNMP 管理器。这些机器通常具有其网络中所有支持SNMP的设备的数据,并可以发出请求以收集信息和设置某些属性。

SNMP管理器

SNMP管理器是配置为轮询SNMP代理以获取信息的计算机。在仅讨论其核心功能时,管理组件实际上比客户端配置要简单得多,因为管理组件只是请求数据。

管理器可以是任何能够使用正确凭据向SNMP代理发送查询请求的计算机。有时,这是作为监控套件的一部分实现的,而其他时候,这是管理员使用一些简单的实用程序来快速创建请求。

在SNMP协议中定义的几乎所有命令(我们稍后将详细介绍这些)都是设计为由管理器组件发送。这些包括GetRequestGetNextRequestGetBulkRequestSetRequestInformRequestResponse。除此之外,管理器还被设计为响应TrapResponse消息。

SNMP代理

SNMP代理完成了大部分工作。它们负责收集有关本地系统的信息并将其存储在可以查询的格式中。更新名为“管理信息库”或MIB的数据库。

MIB是一个分层的、预定义的结构,用于存储可以查询或设置的信息。这些信息可以由已经使用正确凭据(即SNMP管理器)进行的良好形式的SNMP请求访问。

代理计算机配置了哪些管理器可以访问其信息。它还可以充当中间人,报告它可以连接到但未配置为SNMP流量的设备的信息。这为使组件在线并且可通过SNMP访问提供了很大的灵活性。

SNMP代理响应协议定义的大多数命令。这些包括GetRequestGetNextRequestGetBulkRequestSetRequestInformRequest。此外,代理被设计为发送Trap消息。

理解管理信息库

SNMP系统中最难理解的部分可能是MIB,或管理信息库。MIB是一个数据库,遵循管理器和代理遵循的标准。它是一个分层结构,在许多领域是全球标准化的,但也足够灵活,可以允许供应商特定的添加。

MIB结构最好理解为自上而下的分层树。每个分支都带有一个标识号(从1开始)和一个唯一的标识字符串,用于该层次结构的标识。您可以互换使用字符串和数字。

要引用树的特定节点,必须从树的未命名根到所讨论的节点的路径。其父ID(数字或字符串)的血统被串在一起,从最一般的开始,形成一个地址。层次结构中的每个交叉点在此表示中由一个点表示,因此地址最终成为一系列由点分隔的ID字符串或数字。整个地址被称为对象标识符,或OID

将SNMP代理嵌入其设备的硬件供应商有时会实现具有自己字段和数据点的自定义分支。但是,有一些标准的MIB分支是定义良好的,并且可以被任何设备使用。

我们将讨论的标准分支都将位于相同的父分支结构下。该分支定义符合MIB-2规范的信息。

到达该分支的基本路径是:

1.3.6.1.2.1

这也可以用字符串表示为:

iso.org.dod.internet.mgmt.mib-2

1.3.6.1iso.org.dod.internet部分是定义互联网资源的OID。接下来的2mgmt是管理子类。在其下的1mib-2定义了MIB-2规范。

这是一个熟悉MIB树的好资源。这个特定页面代表了我们一直在谈论的交叉点的连接节点。您可以通过检查“上级”和“下级”引用来查看树的更上层和更下层的内容。

思科提供的SNMP对象导航器是另一个类似的工具。这可以用于深入了解层次结构,以找到您需要的信息。SolarWinds也提供了类似的树。

基本上,如果我们想要查询我们的设备以获取信息,大多数路径将以1.3.6.1.2.1开头。您可以浏览树界面以了解可以查询和设置的信息类型。

SNMP 协议命令

SNMP 被广泛采用的一个原因是其命令的简单性。虽然要实现或记住的操作很少,但它们足够灵活,以满足协议的实用要求。

以下的协议数据单元(PDU)描述了协议允许的确切消息类型:

  • Get:管理器向代理发送 Get 消息,以请求特定 OID 的值。这个请求将通过 Response 消息回复给管理器,并携带数据。
  • GetNext:GetNext 消息允许管理器请求 MIB 中的下一个顺序对象。这是一种可以遍历 MIB 结构而不必担心要查询哪些 OID 的方法。
  • Set:管理器向代理发送 Set 消息,以更改代理上变量的值。这可用于控制配置信息或以其他方式修改远程主机的状态。这是协议定义的唯一写操作。
  • GetBulk:这个管理器到代理的请求的功能就好像进行了多个 GetNext 请求。回复给管理器的数据将尽可能多(在请求设置的约束内),以适应数据包的大小。
  • Response:代理发送的这个消息用于将任何请求的信息发送回管理器。它既作为请求的数据的传输,也作为对请求接收的确认。如果无法返回请求的数据,响应将包含可以设置进一步信息的错误字段。对于上述任何请求以及 Inform 消息,都必须返回一个响应消息。
  • Trap:Trap 消息通常由代理发送给管理器。Trap 是异步通知,即接收到它们的管理器是未经请求的。它们主要用于代理通知管理器其受管设备上正在发生的事件。
  • Inform:为了确认接收到一个 Trap,管理器向代理发送 Inform 消息。如果代理没有收到此消息,它可能会继续重新发送 Trap 消息。

有了这七种数据单元类型,SNMP 能够查询并发送关于您网络设备的信息。

协议版本

自首次引入以来,SNMP 协议经历了许多变化。最初的规范是在 1988 年的 RFC 1065、1066 和 1067 中制定的。由于它已经存在了很长时间,因此仍然得到广泛支持。然而,该版本存在许多安全问题,包括以明文进行身份验证,因此在未受保护的网络上使用时,其使用是极不鼓励的。

协议的第二个版本工作始于 1993 年,并对早期标准进行了一些重大改进。这个版本包括一个新的“基于 party”的安全模型,旨在解决先前版本固有的安全问题。然而,这个新模型并不是很受欢迎,因为它难以理解和实现。

因此,版本 2 的一些“分支”被创建,每个分支保留了版本 2 的大部分改进,但替换了安全模型。在 SNMPv2c 中,重新引入了基于社区的认证,这是 v1 中使用的相同模型。这是 v2 协议中最受欢迎的版本。另一个实现称为 SNMPv2u,使用基于用户的安全性,尽管这从未很受欢迎。这允许针对每个用户进行身份验证设置。

1998 年,SNMP 协议的第三个(也是当前的)版本作为规范提案进入。从用户的角度来看,最相关的变化是采用了基于用户的安全系统。它允许您将用户的身份验证要求设置为以下模型之一:

  • NoAuthNoPriv:使用此级别连接的用户没有进行身份验证,也没有消息的隐私。
  • AuthNoPriv:使用此模型的连接必须进行身份验证,但消息是未加密的。
  • AuthPriv:需要身份验证并且消息是加密的。

除了身份验证外,还实施了访问控制机制,以提供对用户可以访问哪些分支的细粒度控制。版本 3 还具有利用传输协议(如 SSH 或 TLS)提供的安全性的能力。

结论

现在您对协议的运作方式有了很好的了解,您已经具备了在自己的基础设施中实施 SNMP 所需的基础。

在下一个指南中,我们将讨论如何安装和配置必要的组件,以利用系统上的 SNMP。

相关文章:

SNMP(简单网络管理协议)介绍

简介 作为系统管理员的重要工作之一是收集关于服务器和基础设施的准确信息。有许多工具和选项可用于收集和处理这种类型的信息。其中许多工具都是建立在一种称为SNMP的技术之上。 SNMP代表简单网络管理协议。这是服务器可以共享有关其当前状态的信息的一种方式,也…...

Spring中常见的设计模式

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性、更具有灵活、优雅,而Spring中共有九种常见的设计模式 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于…...

【MySQL】——数值函数的学习

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-Z1fAnfrxGD7I5gqp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...

LLMs模型选择,LLMs复读机问题,LLMs长文本处理方案

为什么会出现 LLMs 复读机问题? LLMs 复读机问题(LLMs Parroting Problem)是指大型语言模型(LLMs)在生成文本时可能出现的重复或重复先前输入内容的现象。出现LLMs复读机问题可能有以下几个原因: 数据偏差…...

LeetCode.144. 二叉树的前序遍历

题目 144. 二叉树的前序遍历 分析 这道题目是比较基础的题目,我们首先要知道二叉树的前序遍历是什么? 就是【根 左 右】 的顺序,然后利用递归的思想,就可以得到这道题的答案,任何的递归都可以采用 栈 的结构来实现…...

Redis复制

文章目录 1.Redis复制是什么2.Redis能干嘛3.权限细节4.基本操作命令5.常用三招5.1 一主二仆5.2 薪火相传5.3 反客为主 6.复制原理和工作流程7.复制的缺点 1.Redis复制是什么 就是主从复制,master以写为主,Slave以读为主。当master数据变化的时候&#x…...

C++入门学习(二十七)跳转语句—break语句

1、与switch语句联合使用 C入门学习&#xff08;二十三&#xff09;选择结构-switch语句-CSDN博客 #include <iostream> #include <string> using namespace std;int main() { int number;cout<<"请为《斗萝大路》打星(1~5※)&#xff1a;" &…...

Spark安装(Yarn模式)

一、解压 链接&#xff1a;https://pan.baidu.com/s/1O8u1SEuLOQv2Yietea_Uxg 提取码&#xff1a;mb4h tar -zxvf /opt/software/spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/spark-yarn mv spark-3.0.3-bin-hadoop3.2/ spark-yarn 二、配置环境变量 vim /etc/profile…...

1.4 Binance_interface API U本位合约行情

Binance_interface API U本位合约行情 Github地址PyTed量化交易研究院 1. API U本位合约行情接口总览 方法解释Pathget_ping测试服务器连通性 PING/fapi/v1/pingget_time获取服务器时间/fapi/v1/timeget_exchangeInfo获取交易规则和交易对/fapi/v1/exchangeInfoget_depth深度…...

单片机学习笔记---AT24C02(I2C总线)

目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…...

c++恶魔轮盘制造第1期输赢

小常识&#xff0c;恶魔叫DEALER。 赢了很简单 void sheng() { cout<<"你获胜了&#xff01;";MessageBox(NULL,TEXT("你的钱~~~~~~给你"),TEXT("DEALER"),MB_OK);system("pause");system("cls"); } 输了我用了个选…...

60-JS-Ajax

ajax取数据的一种手段,局部刷新,例如弹幕 1.ajax的使用,创建ajax对象,发起对服务器请求 2.核心对象XMLHttpRequest对象(简称XHR) CSS:Cascading Style Sheets(层叠样式表) HTML:Hypertext Markup Language(超文本标记语言) 3.发起对服务器的请求 浏览器方式请求:打…...

C# Avalonia 折线图

线图开发在C# Avalonia框架中可以通过多种方式实现。由于Avalonia旨在成为跨平台的UI框架&#xff0c;您可以利用多种库和方法来绘制折线图。以下是一个简单的例子&#xff0c;展示了如何在Avalonia应用程序中创建一个基本的折线图。 首先&#xff0c;您需要在Avalonia项目中包…...

Vue3中Setup概述和使用(三)

一、引入Setup 1、Person.Vue 与Vue3编写简单的App组件(二) 中的区别是&#xff1a;取消data、methods等方法,而是将数据和方法定义全部放进setup中。 <template><div class"person"><h1>姓名:{{name}}</h1><h1>年龄:{{age}}</h…...

hexo 博客搭建以及踩雷总结

搭建时的坑 文章置顶 安装一下这个依赖 npm install hexo-generator-topindex --save然后再文章的上面设置 top: number&#xff0c;数字越大&#xff0c;权重越大&#xff0c;也就是越靠顶部 hexo 每次推送 nginx 都访问不到 宝塔自带的 nginx 的 config 里默认的角色是 …...

WordPress后台编辑个人资料页面直接修改用户名插件Change Username

前面跟大家介绍了『如何修改WordPress后台管理员用户名&#xff1f;推荐2种简单方法』一文&#xff0c;但是对于新站长或者有很多用户的站长来说&#xff0c;操作有点复杂&#xff0c;所以今天向大家推荐一款可以直接在WordPress后台编辑个人&#xff08;用户&#xff09;资料页…...

ssm+vue的医药垃圾分类管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的医药垃圾分类管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…...

LLM大模型基本概念,及其相关问题汇总(1)

什么是涌现&#xff1f;为什么会出现涌现&#xff1f; "大模型的涌现能力"这个概念可能是指大型神经网络模型在某些任务上表现出的出乎意料的能力&#xff0c;超出了人们的预期。出现的原因从结论上来看&#xff0c;是模型不够好&#xff0c;导致的原因主要是&#…...

【已解决】pt文件转onnx后再转rknn时得到推理图片出现大量锚框变花屏

前言 环境介绍&#xff1a; 1.编译环境 Ubuntu 18.04.5 LTS 2.RKNN版本 py3.8-rknn2-1.4.0 3.单板 迅为itop-3568开发板 一、现象 采用yolov5训练并将pt转换为onnx&#xff0c;再将onnx采用py3.8-rknn2-1.4.0推理转换为rknn&#xff0c;rknn模型能正常转换&#xff0c;…...

DevOps文章之 操作手册用户使用说明书

前言 最近主导了几个项目操作手册的编写。有新开发的项目&#xff0c;要重新编写操作手册&#xff1b;有中途接手别的项目&#xff0c;后来功能迭代&#xff0c;需要更新原操作手册&#xff1b;有客户对操作手册有意见&#xff0c;需要调整&#xff1b;零零散散写了数万字的手…...

【RT-DETR进阶实战】利用RT-DETR进行视频划定区域目标统计计数

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 Hello,各位读者,最近会给大家发一些进阶实战的讲解,如何利用RT-DETR现有的一些功能进行一些实战, 让我们不仅会改进RT-DETR,也能够利用RT-DETR去做一些简单的小工作,后面我也会将这些功能利用PyQt或者是…...

2.11学习总结

有效点对https://www.acwing.com/problem/content/description/5472/ 给定一个 n&#xfffd; 个节点的无向树&#xff0c;节点编号 1∼n1∼&#xfffd;。 树上有两个不同的特殊点 x,y&#xfffd;,&#xfffd;&#xff0c;对于树中的每一个点对 (u,v)(u≠v)(&#xfffd;,…...

以谷歌浏览器为例 讲述 JavaScript 断点调试操作用法

今天来说个比较实用的东西 用浏览器开发者工具 对 javaScript代码进行调试 我们先创建一个index.html 编写代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…...

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}

Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令&#xff0c;也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…...

Unity2D 学习笔记 0.Unity需要记住的常用知识

Unity2D 学习笔记 0.Unity需要记住的常用知识 前言调整Project SettingTilemap相关&#xff08;创建地图块&#xff09;C#脚本相关程序运行函数private void Awake()void Start()void Update() Collider2D碰撞检测private void OnTriggerStay2D(Collider2D player)private void…...

vue3-应用规模化-单文件组件

单文件组件概念 Vue 的单文件组件 (即 *.vue 文件&#xff0c;英文 Single-File Component&#xff0c;简称 SFC) 是一种特殊的文件格式&#xff0c;使我们能够将一个 Vue 组件的模板、逻辑与样式封装在单个文件中。下面是一个单文件组件的示例&#xff1a; <script setup…...

Redis -- 渐进式遍历

家&#xff0c;是心的方向。不论走多远&#xff0c;总有一盏灯为你留着。桌上的碗筷多了几双&#xff0c;笑声也多了几分温暖。家人团聚&#xff0c;是最美的风景线。时间&#xff1a;2024年 2月 8日 12:51:20 目录 前言 语法 示例 前言 试想一个场景,那就是在key非常多的…...

使用 C++23 从零实现 RISC-V 模拟器(3):指令解析

指令解析 这章内容进一解析更多的指令&#xff0c;此外将解析指令的过程拆分为一个单独的类&#xff0c;采用表格驱动的方式&#xff0c;将数据和逻辑分离&#xff0c;降低了 if else 嵌套层数过多。 这部分依旧改动不多&#xff0c;只增加了七个指令。此外代码中细碎的变动没…...

CSS Selector—选择方法,和html自动——异步社区的爬取(动态网页)——爬虫(get和post的区别)

这里先说一下GET请求和POST请求&#xff1a; post我们平时是要加data的也就是信息&#xff0c;你会发现我们平时百度之类的 搜索都是post请求 get我们带的是params&#xff0c;是发送我们指定的内容。 要注意是get和post请求&#xff01;&#xff01;&#xff01; 先说一下异…...

C语言 服务器编程-日志系统

日志系统的实现 引言最简单的日志类 demo按天日志分类和超行日志分类日志信息分级同步和异步两种写入方式 引言 日志系统是通过文件来记录项目的 调试信息&#xff0c;运行状态&#xff0c;访问记录&#xff0c;产生的警告和错误的一个系统&#xff0c;是项目中非常重要的一部…...

HarmonyOS 状态管理装饰器 Observed与ObjectLink 处理嵌套对象/对象数组 结构双向绑定

本文 我们还是来说 两个 harmonyos 状态管理的装饰器 Observed与ObjectLink 他们是用于 嵌套对象 或者 以对象类型为数组元素 的数据结构 做双向同步的 之前 我们说过的 state和link 都无法捕捉到 这两种数据内部结构的变化 这里 我们模拟一个类数据结构 class Person{name:…...

windows中的apache改成手动启动的操作步骤

使用cmd解决安装之后开机自启的问题 services.msc 0. 这个命令是打开本地服务找到apache的服务名称 2 .通过服务名称去查看服务的状态 sc query apacheapache3.附加上关掉和启动的命令&#xff08;换成是你的服务名称&#xff09; 关掉命令 sc stop apacheapache启动命令 …...

Intellij Idea的数据库工具 DataGrip

DataGrip DataGrip&#xff1a; IDEA自带&#xff0c;非常好用。智能提示很强大&#xff0c;快捷键跟IDEA自身一致。 如果下载不了 DataGrip&#xff0c;也可以直接用 IDEA 自带的。 常用的快捷键 alt8&#xff1a; 打开数据库Service ctrlshiftF10&#xff1a;打开常用的数…...

精品springboot疫苗发布和接种预约系统

《[含文档PPT源码等]精品基于springboot疫苗发布和接种预约系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&#xff1a;…...

Linux快速入门

一. Linux的结构目录 1.1 Linux的目录结构 Linux为免费开源的系统&#xff0c;拥有众多发行版&#xff0c;为规范诸多的使用者对Linux系统目录的使用&#xff0c;Linux基金会发布了FHS标准&#xff08;文件系统层次化标准&#xff09;。多数的Linux发行版都遵循这一规范。 注&…...

【图形图像的C++ 实现 01/20】 2D 和 3D 贝塞尔曲线

目录 一、说明二、贝塞尔曲线特征三、模拟四、全部代码如下​五、资源和下载 一、说明 以下文章介绍了用 C 计算和绘制的贝塞尔曲线&#xff08;2D 和 3D&#xff09;。    贝塞尔曲线具有出色的数学能力来计算路径&#xff08;从起点到目的地点的曲线&#xff09;。曲线的形…...

python+flask+django医院预约挂号病历分时段管理系统snsj0

技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django/flask Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5.7 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm . 第一&#xff0c;研究分析python技术&#xff0c…...

《CSS 简易速速上手小册》第9章:CSS 最佳实践(2024 最新版)

文章目录 9.1 维护大型项目的 CSS9.1.1 基础知识9.1.2 重点案例&#xff1a;构建一个可复用的 UI 组件库9.1.3 拓展案例 1&#xff1a;优化现有项目的 CSS 结构9.1.4 拓展案例 2&#xff1a;实现主题切换功能 9.2 BEM、OOCSS 和 SMACSS 方法论9.2.1 基础知识9.2.2 重点案例&…...

Qt QVariant类应用

QVariant类 QVariant类本质为C联合(Union)数据类型&#xff0c;它可以保存很多Qt类型的值&#xff0c;包括 QBrush&#xff0c;QColor&#xff0c;QString等等&#xff0c;也能存放Qt的容器类型的值。 QVariant::StringList 是 Qt 定义的一个 QVariant::type 枚举类型的变量&…...

不到1s生成mesh! 高效文生3D框架AToM

论文题目&#xff1a; AToM: Amortized Text-to-Mesh using 2D Diffusion 论文链接&#xff1a; https://arxiv.org/abs/2402.00867 项目主页&#xff1a; AToM: Amortized Text-to-Mesh using 2D Diffusion 随着AIGC的爆火&#xff0c;生成式人工智能在3D领域也实现了非常显著…...

Mac中管理多版本Jdk

1. 首先下载JDK&#xff0c;以jdk8和17为例 2. 打开.zprofile中添加如下内容 #java config export JAVA_8_HOME/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home export JAVA_17_HOME/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home#default java …...

用C语言列出Linux或Unix上的网络适配器

上代码&#xff1a; 1. #include <sys/socket.h> 2. #include <stdio.h> 3. 4. #include <netdb.h> 5. #include <ifaddrs.h> 6. 7. int main() { 8. struct ifaddrs *addresses; 9. if(getifaddrs(&addresses) -1) { 10. printf("…...

单片机学习笔记---LED点阵屏显示图形动画

目录 LED点阵屏显示图形 LED点阵屏显示动画 最后补充 上一节我们讲了点阵屏的工作原理&#xff0c;这节开始代码演示&#xff01; 前面我们已经说了74HC595模块也提供了8个LED&#xff0c;当我们不使用点阵屏的时候也可以单独使用74HC595&#xff0c;这8个LED可以用来测试7…...

Git分支常用指令

目录 1 git branch 2 git branch xx 3 git checkout xx 4 git checkout -b xx 5 git branch -d xx 6 git branch -D xx 7 git merge xx(含快进模式和冲突解决的讲解) 注意git-log: 1 git branch 作用&#xff1a;查看分支 示例&#xff1a; 2 git branch xx 作用&a…...

3.3 Binance_interface APP U本位合约行情-实时行情

Binance_interface APP U本位合约行情-实时行情 Github地址PyTed量化交易研究院 量化交易研究群(VX) py_ted目录 Binance_interface APP U本位合约行情-实时行情1. APP U本位合约行情-实时行情函数总览2. 模型实例化3. 获取一个产品的最优挂单 get_bookTicker4. 获取全部产品…...

机器学习——流形学习

流形学习是一种在机器学习领域中用于理解和分析数据的技术。它的核心思想是&#xff0c;尽管我们通常将数据表示为高维空间中的向量&#xff0c;但实际上数据可能具有较低维度的内在结构&#xff0c;这种结构被称为流形。流形学习的目标是发现并利用数据的这种潜在结构&#xf…...

离线数仓(一)【数仓概念、需求架构】

前言 今天开始学习数仓的内容&#xff0c;之前花费一年半的时间已经学完了 Hadoop、Hive、Zookeeper、Spark、HBase、Flume、Sqoop、Kafka、Flink 等基础组件。把学过的内容用到实践这是最重要的&#xff0c;相信会有很大的收获。 1、数据仓库概念 1.1、概念 数据仓库&#x…...

物联网测试:2024 年的最佳实践和挑战

据 Transforma Insights 称&#xff0c;到 2030 年&#xff0c;全球广泛使用的物联网 (IoT) 设备预计将增加近一倍&#xff0c;从 151 亿台增至 290 亿台。这些设备以及智能汽车、智能手机等广泛应用于各种官僚机构。 健康视频监视器、闹钟以及咖啡机和冰箱等最受欢迎的家用电器…...

蓝桥杯Web应用开发-CSS3 新特性

CSS3 新特性 专栏持续更新中 在前面我们已经学习了元素选择器、id 选择器和类选择器&#xff0c;我们可以通过标签名、id 名、类名给指定元素设置样式。 现在我们继续选择器之旅&#xff0c;学习 CSS3 中新增的三类选择器&#xff0c;分别是&#xff1a; • 属性选择器 • 子…...

MongoDB聚合:$unionWith

$unionWith聚合阶段执行两个集合的合并&#xff0c;将两个集合的管道结果合并到一个结果集传送到下一个阶段。合并后的结果文档的顺序是不确定的。 语法 { $unionWith: { coll: "<collection>", pipeline: [ <stage1>, ... ] } }要包含集合的所有文档不…...