【2024最新精简版】网络_Linux操作系统面试篇

news2024/11/24 19:45:12

在这里插入图片描述

文章目录

    • 简述 tcp 和 udp的区别?
    • get 和 post 请求有哪些区别?
    • 常用HTTP请求方式有哪些 ?
    • 进程跟线程的区别?
    • 僵尸进程?
    • IO的多路复用?
    • 虚拟内存
    • 什么是OSI模型
    • 说一说HTTP协议
    • 说一说HTTPS协议
    • HTTPS协议和HTTP协议有什么区别 ? 👍
    • 常用HTTP状态码有哪些 ? 代表什么意思 👍👍👍
    • 常用HTTP请求方式有哪些 ? 👍👍👍
    • 说一说一个请求的完整过程 👍👍
    • 什么是TCP的三次握手👍👍👍
    • 什么是TCP的四次挥手👍👍👍
    • 有没有了解过XSS攻击 , 如何预防
    • 有没有了解过CSRF攻击, 如何预防
    • 有没有了解过SQL注入攻击, 如何预防👍
    • 简单介绍一下Java的IO流
    • 什么是AIO、BIO和NIO
    • 什么是网站跨域, 如何解决跨域 👍

更多相关内容可查看

简述 tcp 和 udp的区别?

  1. 连接性:TCP是面向连接的协议,通信双方在数据传输前要先建立连接,然后再传输数据,确保数据的可靠性和顺序性。而UDP是无连接的协议,通信双方直接发送数据包,不需要建立连接,因此传输速度更快,但不保证数据的可靠性和顺序性。
  2. 可靠性:TCP保证数据的可靠传输,会通过序列号、确认应答、重传等机制来确保数据不丢失、不重复、按顺序到达。UDP不保证数据的可靠传输,数据包可能会丢失或者乱序。
  3. 传输方式:TCP是面向字节流的传输方式,数据在传输时会被拆分成以字节为单位的数据包进行传输,保证数据的完整性。UDP是面向数据包的传输方式,每个数据包都是独立的,没有顺序要求。
  4. 适用场景:TCP适用于对数据完整性要求较高的场景,如文件传输、网页浏览等。UDP适用于对实时性要求较高、可以容忍少量数据丢失的场景,如音视频传输、在线游戏等

get 和 post 请求有哪些区别?

• GET请求只能进⾏url编码,⽽POST⽀持多种编码⽅式。
• 对参数的数据类型,GET只接受ASCII字符,⽽POST没有限制。

  1. 数据传输方式:
    • GET:通过URL的查询字符串传输数据,数据会附加在URL的末尾,以键值对的形式出现,例如http://example.com/page?name=value。
    • POST:通过请求体传输数据,数据不会显示在URL中,而是作为请求的一部分发送给服务器。
  2. 安全性:
    • GET:数据以明文形式出现在URL中,因此不适合传输敏感信息,如密码等。
    • POST:数据被包含在请求体中,不会显示在URL中,相对于GET更安全,适合传输敏感信息。
  3. 数据长度限制:
    • GET:由于数据是附加在URL中的,URL的长度有限制,因此GET请求传输的数据量较小,一般限制在几千个字符以内。
    • POST:由于数据是作为请求体发送的,因此POST请求传输的数据量较大,一般没有特定的限制。
  4. 缓存机制:
    • GET:可以被浏览器缓存cache,
    • POST:通常不会被浏览器缓存
  5. 幂等性:
    • GET:幂等,多次请求相同的URL会得到相同的结果,不会产生副作用。
    • POST:不幂等,多次请求相同的URL可能会产生不同的结果,会产生副作用,比如向数据库中添加数据。

常用HTTP请求方式有哪些 ?

HTTP/1.1协议中共定义了八种请求方式来以不同方式操作指定的资源分别是
GET,POST,PUT,DELETE,TRACE,OPTIONS,HEAD,CONNECT
其中前四种会用的比较多一些 , 在RestFull风格中一般

  • GET用于查询请求
  • POST用于新增请求
  • PUT用于修改请求
  • DELETE用于删除请求

进程跟线程的区别?

  1. 定义:
    • 进程:进程是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位。每个进程都有独立的内存空间
    • 线程:线程是进程中的一个执行单元,一个进程可以包含多个线程,线程共享进程的资源,如内存空间
  2. 资源占用:
    • 进程:每个进程都有独立的内存空间和系统资源,因此进程之间的切换开销较大。
    • 线程:线程共享进程的内存空间和资源,线程之间的切换开销相对较小。
  3. 创建和销毁:
    • 进程:创建和销毁进程的开销较大,需要分配和释放独立的内存空间和系统资源。
    • 线程:创建和销毁线程的开销相对较小,因为线程共享进程的资源,只需分配和释放少量的线程相关资源。
  4. 并发性:
    • 进程:进程之间相互独立,通信需要通过进程间通信(IPC)机制来实现。
    • 线程:线程之间可以共享同一进程的资源,可以直接访问进程的全局变量等共享数据,通信更加方便。
  5. 执行性质:
    • 进程:进程可以看作是程序的一次执行,拥有独立的执行序列。
    • 线程:线程是进程的执行单元,多个线程可以同时执行不同的任务,提高了程序的并发性和响应速度。

僵尸进程?

僵尸进程(Zombie Process)是指一个已经完成执行任务但其父进程尚未调用wait()或waitpid()函数来获取其状态信息的子进程。在这种情况下,子进程虽然已经终止,但是其在系统进程表中的表项依然存在,称为僵尸进程。
当一个进程结束时,操作系统会向其父进程发送一个 SIGCHLD 信号,通知父进程子进程已经终止。父进程可以通过调用wait()或waitpid()等系统调用来获取子进程的状态信息,并释放其在进程表中的资源。如果父进程没有及时处理这个信号,或者忽略了这个信号,子进程就会成为僵尸进程。
僵尸进程占用系统资源,尤其是进程表中的条目,如果系统中有大量的僵尸进程,就会影响系统的性能和稳定性。因此,及时处理僵尸进程是很重要的。
通常,父进程可以通过以下方式处理僵尸进程:

  1. 使用wait()或waitpid()函数等待子进程结束,并获取其状态信息,然后释放资源。
  2. 使用信号处理程序捕获 SIGCHLD 信号,并在信号处理程序中处理僵尸进程。
  3. 父进程退出时,操作系统会自动将其子进程的所有资源释放,包括僵尸进程。

IO的多路复用?

IO的多路复用(IO Multiplexing)是一种IO模型,通过在一个线程内同时监听多个IO事件,实现对多个IO操作的管理和调度,从而提高系统的IO效率。
在传统的阻塞IO模型中,每个IO操作都需要一个线程来处理,如果有大量的IO操作,就需要大量的线程,这样会导致系统资源的浪费和线程管理的复杂性。而多路复用IO模型通过一个线程同时监听多个IO事件,只有当有IO事件就绪时才会被唤醒,从而减少了线程的数量,提高了系统的性能和效率。
在Unix/Linux系统中,常用的多路复用IO函数包括select、poll和epoll。这些函数允许程序同时监视多个文件描述符(socket、文件等),并在其中任何一个文件描述符就绪时通知程序,从而实现了IO的多路复用。

虚拟内存

根据内存跟磁盘,给应用程序提供一个看似连续比实际可用物理内存大的空间

  1. 分页机制(Paging):
    • 将物理内存和硬盘空间划分成固定大小的页面(Page)或帧(Frame),通常大小为4KB或更大。
    • 操作系统将进程的地址空间划分为相同大小的页面,使得每个进程都可以看到一个连续的地址空间,称为虚拟地址空间。
  2. 页表(Page Table):
    • 为了跟踪虚拟内存中的页面到物理内存中的位置的映射关系,操作系统维护了一个页表。
    • 页表记录了每个虚拟页面对应的物理页面的位置信息,以及页面的状态(如是否在内存中)等信息。
  3. 页面置换算法(Page Replacement Algorithm):
    • 当物理内存不足以容纳所有进程所需的页面时,操作系统需要选择哪些页面从内存中换出到硬盘上,以便为新的页面腾出空间。
    • 常见的页面置换算法包括最近最少使用(LRU)、先进先出(FIFO)、最不常用(LFU)等。
  4. 页面访问机制:
    • 当应用程序访问虚拟内存中的某个页面时,操作系统会根据页表将虚拟地址转换为物理地址。
    • 如果所需的页面当前不在物理内存中,操作系统将触发页面调度(Page Fault),将页面从硬盘加载到内存中,并更新页表。
  5. 写回与写通过(Write-back vs Write-through):
    • 虚拟内存系统通常采用写回(Write-back)策略,即当数据被修改时,首先修改的是缓存中的数据,而不是直接写入主存。
    • 这样可以减少对主存的写操作,提高性能,但需要定期将被修改的页面写回到硬盘中,以保持一致性。

什么是OSI模型

应⽤层:⽹络服务与最终⽤⼾的⼀个接⼝。包括电子邮件、网页浏览、文件传输
表⽰层:数据的格式转换、加密解密和压缩解压
会话层:建⽴、管理、终⽌会话。
传输层:定义传输数据的协议端⼝号,负责端到端的数据传输。
⽹络层:转发数据包
数据链路层:比特流组织成数据帧
物理层:传输原始比特流
image.png

其中HTTP协议HTTPS协议属于应用层 , TCP协议UDP协议属于传输层协议

说一说HTTP协议

HTTP协议又称为超文本传输协议 , 是一种用于分布式、协作式和超媒体信息系统的应用层协议。底层基于TCP协议实现 !
通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息
HTTP协议格式
HTTP协议分为请求和响应 , HTTP协议规定了在网络传输中的基本标和格式
请求(Request)格式
image.png
响应(Response)格式
image.png
简单总结一下 :

  • 请求 : 请求分请求行, 请求头 , 请求体
  • 响应 : 响应分响应行, 响应头 , 响应体

说一说HTTPS协议

HTTPS(超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性
HTTPS 默认使用 TCP 协议443端口,它的工作流程一般如以下方式:

  1. TCP 三次同步握手
  2. 客户端验证服务器数字证书
  3. 协商对称加密算法的密钥、hash 算法的密钥
  4. SSL 安全加密隧道协商完成
  5. 网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性
  6. 服务端用协商的hash算法进行解密 , 保证数据完整性,保证数据不被篡改

HTTPS协议和HTTP协议有什么区别 ? 👍

  1. HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好
  2. 使用 HTTPS 协议需要到 CA(数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等
  3. HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包
  4. http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443
  5. HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源

总结一下 : HTTPS协议比HTTP协议更加安全 , 但是传输效率和通信效率更低, 消耗服务器资源更多

常用HTTP状态码有哪些 ? 代表什么意思 👍👍👍

HTTP协议响应状态代码的第一个数字代表当前响应的类型 , 一共3位数字组成的状态代码 , 例如:

  • 1xx : 消息——请求已被服务器接收,继续处理
  • 2xx : 成功——请求已成功被服务器接收、理解、并接受

200 (OK): 请求处理成功
201 (Created) : 请求已被接受, 并处理成功
202 (Accepted) : 服务器已接受请求,但尚未处理

  • 3xx : 重定向——需要后续操作才能完成这一请求

302 (Move Temporarily) : 重定向
304 (Not Modified) : 资源未改变 , 浏览器会从缓存获取
305 (Use Proxy) : 需要使用代理

  • 4xx : 请求错误——请求含有词法错误或者无法被执行

400 (Bad Request) : 一般是请求参数错误
401 (Unauthorized) : 请求未认证
403 (Forbidden) : 请求已经被接受但是决绝执行, 一般是权限不足
404 (Not Found) : 请求资源不存在, 一般是请求路径错误
405 (Method Not Allowed) : 请求方式不被允许 , 请求方式错误

  • 5xx : 服务器错误——服务器在处理某个正确请求时发生错误

500 (Internal Server Error) : 服务器内部错误, 一般是后端程序出现异常
503 (Service Unavailable) : 服务不可用, 一般出现在微服务项目, 服务调用过程中
504 (Gateway Timeout) : 网关操作, 一般网关出现问题

常用HTTP请求方式有哪些 ? 👍👍👍

HTTP/1.1协议中共定义了八种请求方式来以不同方式操作指定的资源分别是
GET,POST,PUT,DELETE,TRACE,OPTIONS,HEAD,CONNECT
其中前四种会用的比较多一些 , 在RestFull风格中一般

  • GET用于查询请求
  • POST用于新增请求
  • PUT用于修改请求
  • DELETE用于删除请求

说一说一个请求的完整过程 👍👍

http://www.baidu.com

  1. 浏览器查询 DNS,获取域名对应的IP地址

查询搜索浏览器自身的DNS缓存
查询搜索操作系统的DNS缓存
读取本地的Host文件
向本地DNS服务器进行查询

  1. 浏览器获得域名对应的IP地址以后,浏览器向服务器请求建立链接,发起三次握手;
  2. TCP/IP链接建立起来后,浏览器向服务器发送HTTP请求
  3. 服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器(SpringMVC执行流程)
  4. 浏览器解析并渲染视图,若遇到对js文件、css文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源
  5. 浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面

什么是TCP的三次握手👍👍👍

TCP协议位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采用三次握手策略
image.png

第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端
第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了(服务器端是OK的)
第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束(客户端是OK的)

什么是TCP的四次挥手👍👍👍

TCP协议在断开连接的时候, 客户端和服务端都必需单独进行关闭
当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接
收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据
首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭
image.png

有没有了解过XSS攻击 , 如何预防

XSS全称Cross-Site Scripting(跨站脚本攻击) ,是一种代码注入攻击。
攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全
XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行
预防手段 :

  1. 利用模板引擎 开启模板引擎自带的 HTML 转义功能
  2. 避免内联事件 尽量不要使用 onLoad=“onload(‘{{data}}’)”、onClick=“go(‘{{action}}’)” 这种拼接内联事件的写法。
  3. 在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。
  4. 避免拼接 HTML 前端采用拼接 HTML 的方法比较危险,采用比较成熟的渲染框架,如 Vue/React 等
  5. 时刻保持警惕 在插入位置为 DOM 属性、链接等位置时,要打起精神,严加防范
  6. 增加攻击难度,降低攻击后果 通过输入长度配置、接口安全措施等方法,增加攻击的难度,降低攻击的后果
  7. 主动检测和发现 可使用 XSS 攻击字符串和自动扫描工具寻找潜在的 XSS 漏洞

有没有了解过CSRF攻击, 如何预防

CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性
你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作 , 如下所示 :
image.png

  1. 用户已经登录了站点 A,并在本地记录了 cookie
  2. 在用户没有登出站点 A 的情况下(也就是 cookie 生效的情况下),访问了恶意攻击者提供的引诱危险站点 B
  3. 网站B接收到用户请求后,返回一些攻击性代码 , 并发出一个请求要求访问第三方站点A
  4. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行

CSRF的防御方法

  1. CSRF漏洞检测 , 使用一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等
  2. 验证 HTTP Referer(请求来源) 字段
  3. 增加 token并验证 ,服务器为用户的浏览器提供唯一的,随机生成的令牌,并在执行请求之前检查每个请求以查看浏览器是否将其发回

有没有了解过SQL注入攻击, 如何预防👍

SQL注入攻击是指攻击者通过构造恶意的SQL语句,利用应用程序的SQL查询功能,在数据库中执行恶意操作的一种攻击方式
例如 :
我们知道,SQL 语句可以查询、插入、更新和删除数据,且使用分号来分隔不同的命令。例如:
SELECT * FROM users WHERE user_id = ${user_id}
其中,user_id 是传入的参数,如果传入的参数值为“1234; DELETE FROM users”,那么最终的查询语句会变为:
SELECT * FROM users WHERE user_id = 1234; DELETE FROM users
如果以上语句执行,则会删除 users 表中的所有数据
避免SQL注入:

  1. 过滤输入内容,校验字符串

过滤输入内容就是在数据提交到数据库之前,就把用户输入中的不合法字符剔除掉。可以使用编程语言提供的处理函数或自己的处理函数来进行过滤,还可以使用正则表达式匹配安全的字符串。

  1. 使用预编译 , 使用jdbc中的PreparedStatement对SQL语句进行预编译, 参数使用?替代 , 之后设置参数执行

在预编译的情况下,数据库服务器不会将参数的内容视为 SQL 语句的一部分来进行处理,而是在数据库完成 SQL 语句的编译之后,才套用参数运行。因此就算参数中含有破坏性的指令,也不会被数据库所运行

  1. 安全测试、安全审计

在开发过程中应对代码进行审查,在测试环节使用工具进行扫描,上线后定期扫描安全漏洞 , 例如 :Havij,Domain SQL Injector等工具

简单介绍一下Java的IO流

IO流从流向上看,分为输入流和输出流;从操作的数据单元来看,分为字节流和字符流
**字节流的组成如下所示 : **

字符流的组成如下所示 :

思考 : 字节流如何转字符流 ? InputStreamReader OutputStreamWriter

什么是AIO、BIO和NIO

  1. BIO(Blocking I/O):
    • BIO 是最传统的 I/O 模型,在执行 I/O 操作时会阻塞当前线程,直到操作完成或者超时。这意味着当一个线程执行 I/O 操作时,其他线程无法使用 CPU。
    • 在 BIO 中,通常是通过 InputStream 和 OutputStream 来进行数据的读取和写入。
  2. NIO(Non-blocking I/O):
    • NIO 是 Java 1.4 引入的一种更为灵活和高效的 I/O 模型。它提供了 Channel 和 Buffer 的概念,使得可以使用单个线程处理多个连接,提高了系统的并发性能。
    • NIO 中引入了 Selector(选择器)的概念,通过它可以实现单线程监听多个 Channel 上的事件,从而实现非阻塞的 I/O 操作。
    • NIO 主要由 java.nio 包中的类和接口实现,如 ByteBuffer、Channel、Selector 等。
  3. AIO(Asynchronous I/O):
    • AIO 是 Java 1.7 引入的一种异步非阻塞的 I/O 模型,也称为 NIO.2。它相比于 NIO 提供了更为简洁的异步操作方式,使得可以在 I/O 操作完成后通过回调函数获取结果,而不需要手动检查状态或者轮询。
    • AIO 中主要使用了 java.nio.channels.AsynchronousChannel 和 java.nio.channels.CompletionHandler 等类和接口。

什么是网站跨域, 如何解决跨域 👍

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、IP任意一个不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。
同源策略:是指协议,IP/域名,端口都要相同,其中有一个不同都会产生跨域;

如何解决跨域问题?

  1. 使用nginx作为代理服务器 , 对客户端请求进行统一处理, 转发到服务器

  1. 使用跨域资源共享CORS方案

它的总体思路是:如果浏览器要跨域访问服务器的资源,需要获得服务器的允许

  1. 使用@CrossOrigin注解配置
@RestController
@CrossOrigin
public class TestController {

    @GetMapping("test")
    public String test() {
        return "success";
    }
}
  1. 在配置类中配置CORS跨域
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
	
	@Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedHeaders("*")
                .allowedMethods("*")
                .allowCredentials(true);
    }
}

  1. 在Gateway网关中配置CORS跨域
spring:
  application:
    name: gateway  #服务名称
  cloud:
    gateway:
      globalcors:
        add-to-simple-url-handler-mapping: true
        cors-configurations:
          '[/**]':  #拦截的请求
            allowedOrigins: #允许跨域的请求
              - "http://localhost:8080"
            allowedMethods: #运行跨域的请求方式
              - "GET"
              - "POST"
              - "DELETE"
              - "PUT"
              - "OPTIONS"
            allowedHeaders: "*" #允许请求中携带的头信息
            allowedCredentials: true #是否允许携带cookie
            maxAge: 36000 #跨域检测的有效期,单位s

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用

背景 前段时间看到Spring推出了SpringAI,可以方便快速的接入ChatGPT等国外的大模型,现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI,Spring Cloud Alibaba AI 目前基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入。通义接入…

PHP发送HTML邮件的步骤?设置模板的技巧?

PHP发送HTML邮件怎么设置模板?如何用PHP群发邮件? PHP提供了强大的功能来发送HTML格式的电子邮件,这在需要发送格式化内容的邮件时特别有用。AokSend将详细介绍PHP发送HTML邮件的步骤,涵盖了必要的准备工作和实际操作过程。 PHP…

离线源码编译安装zabbix-agent

文章目录 1,先进zabbix官网下载zabbix的源码包2,把这个zabix源码包上传到需要安装的目标机器上去3,编译安装3.1 ,解压软件包得到一个zabbix-5.0.42的文件夹3.2,进入/vdb/zabbix-5.0.42文件夹,依次执行命令 …

STM32单片机USART串口收发数据包

文章目录 1. 串口通信 1.1 串口初始化 1.2 库函数 2. 串口收发HEX数据包 2.1 Serial.c 2.2 Serial.h 2.3 main.c 3. 串口收发文本数据包 3.1 Serial.c 3.2 Serial.h 3.3 main.c​​​​​​​ 1. 串口通信 对于串口通信的详细​​​​​​​解析可以看下面这篇文章…

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品 锂磷硫(LPS),为非晶态材料,是硫化物固态电解质代表性产品之一,具有热稳定性好、成本较低等优点,在固态电解质中离子电导率较…

C#实现边缘锐化(图像处理)

在 C# 中进行图像的边缘锐化,可以通过卷积滤波器实现。边缘锐化的基本思想是通过卷积核(也称为滤波器或掩模)来增强图像中的边缘。我们可以使用一个简单的锐化核,例如: [ 0, -1, 0][-1, 5, -1][ 0, -1, 0]这个卷积核…

【Deep Learning】Meta-Learning:训练训练神经网络的神经网络

元学习:训练训练神经网络的神经网络 本文基于清华大学《深度学习》第12节《Beyond Supervised Learning》的内容撰写,既是课堂笔记,亦是作者的一些理解。 1 Meta-Learning 在经典监督学习中,给定训练数据 { ( x i , y i ) } i \{…

javaSE字符串学习笔记

API和API帮助文档 API API(Application Programming Interface):应用程序编程接口简单理解:API酒啊别人已经写好的东西,我们不需要自己编写,直接使用即可。 API这个术语在编程圈中非常常见.我第一次接触API这个词语是在大一下。老…

【会议征稿,IEEE出版】第三届机器人、人工智能与智能控制国际会议(RAIIC 2024,7月5-7)

第三届机器人、人工智能与智能控制国际会议(RAIIC 2024)将于2024年7月5-7日中国绵阳举行。 RAIIC 2024是汇聚业界和学术界的顶级论坛,会议将邀请国内外著名专家就以传播机器人、人工智能与智能控制领域的技术进步、研究成果和应用做专题报告…

vs工程添加属性表

一、简介 1、 vs工程属性表以(.props)为后缀 2、 作用:当多个工程需要配置很多相同的属性配置时方便同步,比如多个工程需要链接相同的头文件,库文件,输出路径,中间目录等 3、本章内容测试环境&a…

Web渗透-SSRF服务端请求伪造

SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者利用漏洞服务器发送恶意请求的攻击方式。SSRF漏洞通常出现在服务器端的web应用中,应用允许用户提供的输入被服务器用来发起请求,而没有对输入进行充…

数据结构:为什么说链表是顺序表的升级版(c语言实现)

前言: 我们在之前的几篇文章中详细的讲解了顺序表的特点,增删改查操作和动态顺序表的优点,并使用顺序表的底层结构实现了通讯录项目,似乎顺序表是一个非常完美的数据结构,它可以实现按照需求实现增删查改,对…

换电脑后导入git本地仓库记录

导入本地仓库tig记录 换了新电脑,将旧电脑的数据盘查到新的笔记本之后发现,使用pycharm 读取不到本地的git提交记录了,我没有将本地git上传到远程仓库的习惯,这可抓马了,硬盘插回去的话也太麻烦了。试了 vscode 提示设…

冲击2024年CSDN博客之星TOP1:CSDN文章质量分查询在哪里?

文章目录 一,2023年博客之星规则1,不高的入围门槛2,[CSDN博文质量分测评地址](https://www.csdn.net/qc) 二,高分秘籍1,要有目录2,文章长度要足够,我的经验是汉字加代码至少1000字。3&#xff0…

币旺BitonAI系统助力智能化交易 引领加密资产交易行业革新

随着加密货币市场的蓬勃发展,交易者们面临着市场波动、信息过载和日益激烈的竞争等多重挑战。在这样的背景下,智能化交易系统应运而生。AI技术的引入无疑为加密货币交易市场带来了一场革命性的变革。通过深度学习和大数据分析,加密货币交易成…

手机怎么自动切换ip地址

在数字化时代,网络IP地址不仅是设备在网络世界的标识,也是确保用户网络安全和数据隐私的关键因素。对于手机用户来说,在某些情境下可能需要自动切换IP地址,本文将为您介绍手机怎么自动切换IP地址。 随着网络技术的发展&#xff0c…

Claude 3.5 强势出击:解析最新AI模型的突破与应用

近年来,人工智能领域的发展迅猛,各大科技公司纷纷推出了自家的高级语言模型。在这场技术竞赛中,Anthropic的Claude系列模型凭借其强大的性能和创新的功能脱颖而出。最近,Anthropic发布了Claude 3.5 Sonnet模型,引起了广…

Vue73-命名路由

一、路由的name属性 二、小结

【机器学习】正则卷积群理论及Python代码实现

1. 引言 1.1.卷积神经网络CNN 卷积神经网络(CNN)的数学模型是深度学习中用于处理图像和其他高维数据的关键组成部分。那么,CNN究竟是什么呢? 总结起来,CNN网络主要完成以下操作: 卷积操作(Co…

使用Naive UI的级联选择器 Cascader进行省市区选择

序言: 在进行PC版的功能开发时,进行客户管理时老板要让客户便捷的选择自己的省市区等信息,而不是让他们一个个去填写,这时就需要使用级联选择器来进行省市区的选择。 注:element ui/plus的级联选择器也是可以的。 步骤…