ntp设置
NTP(Network Time Protocol)简介
ntp授时定义
- NTP是一种用于在计算机网络中同步时间的协议。它确保网络中的各个设备(如服务器、客户端计算机、网络设备等)的时钟保持准确一致。
- 其工作原理是通过分层的时钟源体系,设备可以与更准确的时间服务器(称为NTP服务器)进行通信,获取准确的时间信息并调整自身的时钟。这些NTP服务器本身也可以从更高级别的时间源(如原子钟)获取时间校准。
NTP的重要性
- **系统集成和一致性**:* 在大型企业网络或数据中心环境中,有许多服务器和设备协同工作。例如,在分布式数据库系统中,准确的时间同步对于数据的一致性和事务的正确处理至关重要。不同服务器上的日志记录也需要准确的时间戳,以便在故障排查或安全审计时能够正确地追踪事件顺序。
- **网络安全和认证**:* 许多安全机制,如数字证书、Kerberos认证等,依赖于准确的时间。如果时间不同步,可能会导致认证失败或者安全漏洞。例如,证书的有效期是基于时间来判断的,如果设备时间不准确,可能会错误地认为证书已经过期或者尚未生效。
**二、**Chrony和ntp服务器对比
时间同步精度和收敛速度方面
- **Chrony优势**:Chrony具有更快的收敛速度。在系统启动或网络恢复后,它能够快速地使本地时间与时间服务器同步。
- **NTP情况**:NTP虽然也能提供较为准确的时间同步,但收敛速度相对较慢。它的同步过程较为保守,尤其是在初始同步或者网络环境变化后,需要逐步调整时间,花费的时间可能会比较长才能达到高精度的同步状态。
对网络环境的适应性方面
- **Chrony优势**:Chrony能够更好地适应复杂多变的网络环境。它可以在网络延迟波动、丢包等情况发生时,利用之前收集的时间数据和本地时钟的特性来灵活调整同步策略。例如,当网络出现短暂拥塞导致丢包时,Chrony可以根据之前同步过程中获取的时钟偏差估计值和网络延迟的统计信息,继续对本地时间进行合理的调整,以保持时间同步的准确性。
- **NTP情况**:NTP在面对网络环境变化时的适应能力相对较弱。当网络状况不佳,如频繁丢包或者网络延迟突然增大时,NTP的时间同步效果可能会受到较大影响,出现时间偏差增大甚至同步失败的情况。
系统资源占用方面
- **Chrony优势**:Chrony是轻量级软件,对系统资源的占用较少。这使得它非常适合在资源受限的系统(如嵌入式设备)上运行。它可以在不影响系统整体性能的前提下,高效地完成时间同步任务。
- **NTP情况**:NTP在一些资源有限的系统中可能会对系统性能产生一定的影响,特别是在处理复杂的时间同步计算和网络通信时,可能会占用较多的CPU时间和内存资源。
配置的灵活性方面
- **Chrony优势**:Chrony的配置相对简单且灵活。它的配置文件(如在Linux系统中的`/etc/chrony.conf`)易于理解和修改。可以方便地指定多个时间服务器,并且支持多种同步选项,如设置不同的时间源优先级等。
- **NTP情况**:NTP的配置相对复杂一些,尤其是在设置高级功能(如复杂的访问控制和多服务器同步策略)时,需要对NTP的配置语法和选项有更深入的了解。
三、Chrony安装和配置(以Linux为例)
安装
- 在基于Debian或Ubuntu的系统中,可以使用以下命令安装:`sudo apt - get install chrony`。
- 对于基于Red Hat或CentOS的系统,命令为:`sudo yum install chrony`。
配置文件
- 主要配置文件通常是`/etc/chrony.conf`。在这个文件中,可以指定时间服务器(NTP服务器)的地址。例如,可以添加以下行来指定公共的NTP服务器:
- 以下是对这个 `chrony` 配置文件内容的详细解释:
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.# This will use (up to):
# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
# sources will be used.
# At the same time it retains some protection against one of the entries being
# down (compare to just using one of the lines). See (LP: #1754358) for the
# discussion.
#
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
#server ntp.aliyun.com iburst
server 192.168.200.16 iburst
allow 192.168.200.0/24
local stratum 10
# This directive specify the location of the file containing ID/key pairs for
# NTP authentication.
#keyfile /etc/chrony/chrony.keys# This directive specify the file into which chronyd will store the rate
# information.
driftfile /var/lib/chrony/chrony.drift# Uncomment the following line to turn logging on.
#log tracking measurements statistics# Log files location.
logdir /var/log/chrony# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
rtcsync# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
配置文件说明部分
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.
这是配置文件开头的注释说明,告知用户这是 chrony
的配置文件,若想了解更多可用指令的详细信息,可以查看 chrony.conf(5)
手册页(在类 Unix 系统中,这种形式的手册页通常用于查看相关配置文件指令等的详细文档)。
时间服务器(NTP 服务器)相关配置
# This will use (up to):
# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
# sources will be used.
# At the same time it retains some protection against one of the entries being
# down (compare to just using one of the lines). See (LP: #1754358) for the
# discussion.
#
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
#server ntp.aliyun.com iburst
server 192.168.200.16 iburst
- 开头注释详细解释了原本可以配置使用来自不同域名的多个 NTP 服务器作为时间源,以及各自可使用的最大服务器数量等情况。例如,从
ntp.ubuntu.com
最多使用 4 个源(其中部分支持 IPv6),从2.ubuntu.pool.ntp.org
最多使用 2 个源(同样支持 IPv6)等。不过这里前面几个以pool
开头配置 NTP 服务器池的行被注释掉了(#
表示注释),意味着当前没有启用这些服务器池的配置。 server ntp.aliyun.com iburst
这一行也是被注释掉的,它原本的作用是指定ntp.aliyun.com
作为时间服务器,并使用iburst
选项。iburst
选项会让chrony
在初始同步时发送一系列紧密间隔的请求,以便更快地获取准确时间。server 192.168.200.16 iburst
这一行则启用了指定 IP 地址为192.168.200.16
的服务器作为时间服务器,同样配合iburst
选项来加速初始时间同步。
访问控制配置
allow 192.168.200.0/24
allow
指令用于设置允许访问 chrony
服务的网络范围,这里表示允许来自 192.168.200.0/24
这个网段内的设备访问 chrony
服务,通常用于限制哪些主机可以与本地运行的 chrony
进行交互(比如获取时间信息等)。
本地时钟层级与特性相关配置
local stratum 10
local
指令结合 stratum
参数用于定义本地时钟在 NTP 层级体系中的层级为 10。stratum
表示时钟的准确程度和在整个 NTP 网络中的层次关系,数字越大通常意味着准确性相对越低,这里将本地时钟设置为层级 10,可能是在特定网络环境下对本地时钟相对位置的一种定义(比如在无法连接到外部可靠时间源等情况下的一种兜底设定)。
认证相关(但当前未启用)
# This directive specify the location of the file containing ID/key pairs for
# NTP authentication.
#keyfile /etc/chrony/chrony.keys
这部分被注释掉了,原本 keyfile
指令是用于指定包含 NTP 认证所需的 ID 和密钥对的文件位置(在这里文件路径为 /etc/chrony/chrony.keys
),若要启用 NTP 认证功能,就需要取消这行的注释,并正确配置对应的认证文件内容,但当前配置中并未启用该功能。
漂移文件配置
driftfile /var/lib/chrony/chrony.drift
driftfile
指令指定了 chrony
将用来存储时钟速率信息的文件路径。chrony
会根据系统时钟与时间源的对比等情况,把时钟漂移相关的数据记录到这个文件中,后续利用这些信息来更精准地进行时间同步调整等操作。
日志相关配置
# Uncomment the following line to turn logging on.
#log tracking measurements statistics# Log files location.
logdir /var/log/chrony
- 第一部分中
log tracking measurements statistics
这行被注释掉了,若取消注释,则会开启相应的日志记录功能,记录诸如跟踪、测量、统计等与时间同步相关的详细信息。 logdir
指令明确了日志文件存放的目录为/var/log/chrony
,如果开启了日志记录,相应的日志文件就会存放在这个指定的目录下。
最大更新偏差配置
maxupdateskew 100.0
maxupdateskew
指令用于设置允许的最大更新偏差值,单位是秒。在这里设置为 100.0
,意味着如果 chrony
检测到时钟调整的偏差大于 100 秒,就会采取相应的措施(比如根据其他配置决定是否进行调整等),该指令主要是防止因过大的时间偏差更新对系统时钟造成不合理的影响。
内核同步及时钟调整相关配置
# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
rtcsync# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
rtcsync
指令启用了内核实时时钟的同步功能,每隔 11 分钟,chrony
会将系统时钟与硬件实时时钟进行同步(需要注意的是它不能和rtcfile
指令同时使用)。makestep
指令规定了如果时间调整幅度大于 1 秒,那么在前三次时钟更新时,chrony
会直接“跳步”(step)来调整系统时钟,使其快速跟上正确时间,而不是缓慢地调整(即“slewing”,缓慢调整时钟速率来使时间慢慢对齐)。超过三次之后,即使时间偏差大于 1 秒,可能就会采用其他相对缓和的方式来处理时间偏差了。
启动和服务管理
- 安装完成后,可以使用以下命令启动Chrony服务:`sudo service chrony start`(在基于Systemd的系统中,命令为`sudo systemctl start chrony`)。
- 可以将其设置为开机自启,在Systemd系统中使用命令`sudo systemctl enable chrony`。
四 NTPserver安装和配置(以centos为例)
安装
既可做服务端也可做客户端
sudo yum install -y ntp
只同步
sudo yum install -y ntpdate
开启服务,让其他客户端与本机同步,注意防火墙状态
systemctl start ntpd
开机自启
systemctl enable ntpd
修改配置文件
# 记录和上级时间服务器的时间差异
driftfile /var/lib/ntp/drift# ntp 日志
logfile /var/log/ntp.log
# 日志级别 all event info
logconfig all# 设置默认策略,允许同步时间,不允许修改
restrict default nomodify notrap nopeer noquery# 允许本机地址的一切操作,-6 为 IPV6
restrict 127.0.0.1
restrict -6 ::1# 允许网段内客户端连接此服务器同步时间,但是拒绝让他们修改服务器上的时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap# https://www.ntppool.org/zone/cn
# 利用 server 设定上层 NTP 服务器,可设置多个。prefer 表示优先
server s1b.time.edu.cn prefer# 在 /ntp.conf 中定义的 server 都不可用时,将使用 local 时间作为 ntp 服务提供给 ntp 客户端。建议配置,否则 ntp 服务器无法与公网 ntp 服务器同步时,其客户端也会无法同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10
以下是对这段NTP配置文件内容的详细解释:
漂移文件配置
# 记录和上级时间服务器的时间差异
driftfile /var/lib/ntp/drift
driftfile
指令用于指定一个文件(这里是/var/lib/ntp/drift
),NTP服务会将系统时钟相对于参考时间源(上级时间服务器)的时钟漂移信息记录到该文件中。通过长期监测和记录这些漂移数据,NTP软件能够更精准地对系统时钟进行调整,以补偿时钟频率的微小变化,从而更好地保持时间同步的准确性。
日志相关配置
# ntp 日志
logfile /var/log/ntp.log
# 日志级别 all event info
logconfig all
logfile
指令明确了NTP服务日志文件的存放位置,即/var/log/ntp.log
,所有与NTP运行相关的日志信息都会记录到这个文件中,方便后续查看和分析NTP服务的运行状态、时间同步情况以及可能出现的问题等。logconfig
指令设置了日志记录的级别为all
,意味着会记录所有类型的日志信息,包括各种事件(event
)以及详细的信息(info
)等。这样的配置可以提供非常全面的日志内容,但也可能导致日志文件增长较快,需要根据实际需求和磁盘空间等情况合理考虑是否调整日志级别。
访问限制(restrict
)相关配置
# 设置默认策略,允许同步时间,不允许修改
restrict default nomodify notrap nopeer noquery# 允许本机地址的一切操作,-6 为 IPV6
restrict 127.0.0.1
restrict -6 ::1# 允许网段内客户端连接此服务器同步时间,但是拒绝让他们修改服务器上的时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict
指令用于控制对NTP服务的访问权限。restrict default nomodify notrap nopeer noquery
这一行是设置了全局默认的访问限制策略,具体含义如下:nomodify
:禁止客户端修改NTP服务器的配置以及时间设置,确保服务器时间的权威性和稳定性,只允许客户端从服务器获取时间进行同步。notrap
:不处理控制消息陷阱(trap),通常用于避免一些特殊的控制消息交互,简化服务运行逻辑。nopeer
:拒绝让其他设备与本NTP服务器建立对等(peer)关系,也就是不允许其他设备把本服务器当作同等地位的时间同步伙伴,明确了服务器与客户端的层级关系。noquery
:禁止外部设备对本服务器进行查询操作(除了同步时间相关的必要交互),进一步保障服务器的安全性和稳定性。
restrict 127.0.0.1
和restrict -6 ::1
这两行分别针对本地回环地址(IPv4的127.0.0.1
和IPv6的::1
)放开了所有限制,允许本地进程无限制地访问NTP服务,这是很常见的配置,因为本地的一些系统服务或应用可能需要不受限制地与本地运行的NTP服务交互来获取准确时间。restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
则是针对192.168.1.0/24
这个网段内的客户端进行访问限制设置,允许它们连接到本NTP服务器进行时间同步(因为没有设置noquery
),但同样不允许它们修改服务器上的时间(通过nomodify
选项实现),确保了服务器时间不会被该网段内的客户端意外更改。
时间服务器(server
)相关配置
# https://www.ntppool.org/zone/cn
# 利用 server 设定上层 NTP 服务器,可设置多个。prefer 表示优先
server s1b.time.edu.cn prefer# 在 /ntp.conf 中定义的 server 都不可用时,将使用 local 时间作为 ntp 服务提供给 ntp 客户端。建议配置,否则 ntp 服务器无法与公网 ntp 服务器同步时,其客户端也会无法同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server s1b.time.edu.cn prefer
这一行指定了s1b.time.edu.cn
作为上层的NTP时间服务器,并且通过prefer
关键字表明在有多个可用时间服务器时,优先使用该服务器进行时间同步。这样可以确保在有多个时间源选择的情况下,优先与更可靠或者更精准的时间服务器对接。server 127.127.1.0
和fudge 127.127.1.0 stratum 10
这两行是一种备用时间源的配置。当配置文件中前面定义的所有外部(公网)NTP服务器(如s1b.time.edu.cn
等)都不可用,无法进行时间同步时,NTP服务会将本地的127.127.1.0
这个虚拟的本地时钟当作时间源来为NTP客户端提供时间服务。通过fudge
指令设置其stratum
(层级)为10
,表示它在整个NTP时间层级体系中的相对准确性级别,数字越大通常意味着相对准确性越低,但在外部时间源失效的情况下,它可以作为一种兜底的时间提供方式,保证客户端依然能够获取到一个相对稳定的时间基准,避免客户端完全无法同步时间的情况出现。
相关文章:
ntp设置
NTP(Network Time Protocol)简介 ntp授时定义 - NTP是一种用于在计算机网络中同步时间的协议。它确保网络中的各个设备(如服务器、客户端计算机、网络设备等)的时钟保持准确一致。 - 其工作原理是通过分层的时钟源体系ÿ…...
如何在Java中使用封装好的API接口?
1.选择合适的 HTTP 库 在 Java 中,可以使用多种库来进行 HTTP 请求。java.net.HttpURLConnection是 Java 标准库中的类,能够满足基本的 HTTP 请求需求,但使用起来相对复杂。另外,还有一些第三方库,如OkHttp和Apache H…...
AWS EKS 相关错误修复 - remote error: tls: internal error - CSR pending
现象 升级aws eks的kubernetes版本后执行kubectl logs 或者kubectl exec相关命令会出现报错 remote error: tls: internal error 执行kubectl get csr -A查看csr出现一直pending的状态,并且出现问题的pod都在新创建出来的eks node节点上 kubectl get csr -A NAME AGE …...
浏览器事件循环机制
JavaScript 是单线程运行的语言,同一时间只能执行一个任务。单线程意味着: 如果某个任务执行时间过长,后续任务会被阻塞。 同步任务和异步任务的调度需要一种机制来管理。 为了解决这个问题,事件循环应运而生,它可以…...

ubuntu22.04编译安装Opencv4.8.0+Opencv-contrib4.8.0教程
本章教程,主要记录在Ubuntu22.04版本系统上编译安装安装Opencv4.8.0+Opencv-contrib4.8.0的具体过程。 一、下载opencv和opencv-contrib包 wget https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip wget https://github.com/opencv/opencv_contrib/archive/refs/…...

概率论得学习和整理27:关于离散的数组 随机变量数组的均值,方差的求法3种公式,思考和细节。
目录 1 例子1:最典型的,最简单的数组的均值,方差的求法 2 例子1的问题:例子1只是1个特例,而不是普遍情况。 2.1 例子1各种默认假设,导致了求均值和方差的特殊性,特别简单。 2.2 我觉得 加权…...

【排序算法】——插入排序
目录 前言 简介 基本思想 1.直接插入排序 2.希尔排序 代码实现 1.直接插入排序 2.希尔排序 总结 1.时空复杂度 2.稳定性 尾声 前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列&…...

MySQL的并发控制与MVCC机制深度解析
目录 1. MySQL中的并发问题2. 数据库的隔离级别3. MVCC(多版本并发控制)机制3.1 MVCC的实现原理3.2 Read View详解3.3 当前读与快照读 4. MVCC在不同隔离级别下的工作方式5. MVCC解决幻读问题6. MVCC的优缺点优点:缺点: 7. MVCC在…...

Qt编译MySQL数据库驱动
目录 Qt编译MySQL数据库驱动 测试程序 Qt编译MySQL数据库驱动 (1)先找到MySQL安装路径以及Qt安装路径 C:\Program Files\MySQL\MySQL Server 8.0 D:\qt\5.12.12 (2)在D:\qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql下…...

uniapp地址类 方法
关于点击没反应 manifest.json 检查是否添加了对应的权限 /* 小程序特有相关 */"mp-weixin" : {"appid" : "wxc481f10754f1d9df","setting" : {"urlCheck" : false,"es6" : true,"postcss" : true,&qu…...

使用Idea自带的git功能进行分支合并
文章目录 1.背景描述2.分支切换3.分支合并的具体操作4.将在local环境下,从dev合并到qas分支上的代码,推送到远端 1.背景描述 目前在开发的当前项目有四个分支,master(主分支)、pre(预生产分支)、qas(测试分支)、dev(开发分支); …...

酷盾安全:Edge SCDN边缘安全内容分发网络
在当今数字化迅猛发展的时代,互联网内容分发的高效与安全成为了企业不可忽视的重要课题。为了满足这一需求,酷盾安全推出了创新的Edge Secure Content Delivery Network(Edge Scdn)解决方案,它不仅融合了分布式DDoS防护…...

H5 中 van-popup 的使用以及题目的切换
H5 中 van-popup 的使用以及题目的切换 在移动端开发中,弹窗组件是一个常见的需求。vant 是一个轻量、可靠的移动端 Vue 组件库,其中的 van-popup 组件可以方便地实现弹窗效果。本文将介绍如何使用 van-popup 实现题目详情的弹窗展示,并实现…...

Liinux下VMware Workstation Pro的安装,建议安装最新版本17.61
建议安装最新版本17.61,否则可能有兼容性问题 下载VMware Workstation安装软件 从官网网站下载 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro 选择所需版本 现在最新版本是17.61,否则可能有兼容性问题…...

WebRTC服务质量(05)- 重传机制(02) NACK判断丢包
WebRTC服务质量(01)- Qos概述 WebRTC服务质量(02)- RTP协议 WebRTC服务质量(03)- RTCP协议 WebRTC服务质量(04)- 重传机制(01) RTX NACK概述 WebRTC服务质量(…...
修改ubuntu apt 源及apt 使用
视频教程:修改ubuntu apt 源和apt 使用方法_哔哩哔哩_bilibili 1 修改apt源 1.1 获取阿里云ubuntu apt 源 https://developer.aliyun.com/mirror/ubuntu?spma2c6h.13651102.0.0.3e221b11mqqLBC 1.2 修改apt 源 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/ub…...
深入解析 `DataFrame.groupby` 和 `agg` 的用法及使用场景
深入解析 DataFrame.groupby 和 agg 的用法及使用场景 1. groupby 的基本用法语法:示例: 2. agg 的基本用法语法:示例: 3. first、sum、lambda 的用法3.1 first示例: 3.2 sum示例: 3.3 lambda示例ÿ…...
MySQL 的锁
MySQL有哪些锁?各种锁的作用与使用场景全局锁表级锁表锁元素锁意向锁AUTO-INC 锁 行级锁记录锁间隙锁临键锁 其他共享锁排他锁乐观锁悲观锁 MySQL有哪些锁? 全局锁表级锁 a. 表锁 b. 元素锁 c. 意向锁 d. AUTO-INC 锁行级锁 a. 记录锁 b. 间隙锁 c. 临键锁 各种锁的作用与使…...

二、使用langchain搭建RAG:金融问答机器人--数据清洗和切片
选择金融领域的专业文档作为源文件 这里选择 《博金大模型挑战赛-金融千问14b数据集》,这个数据集包含若干公司的年报,我们将利用这个年报搭建金融问答机器人。 具体下载地址 这里 git clone https://www.modelscope.cn/datasets/BJQW14B/bs_challenge_…...
【Linux】-- linux 配置用户免密登录本机
比如我们要配置用户 app_tom 免密登录本机(SSH 登录自己机器时无需输入密码),你可以按照以下步骤操作: 步骤 1:切换到 app_tom 用户 首先,确保你已经以 app_tom 用户登录,或者切换到该用户&…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...