软件设计师-软考知识复习(2)
PERT图详解
PERT(Program Evaluation and Review Technique,计划评审技术)是一种用于项目管理的图形化工具,主要用于分析任务的时间安排、识别关键路径和优化资源分配。它特别适用于复杂项目,其中任务之间存在依赖关系,且时间估算具有一定的不确定性。
1. PERT图的核心概念
(1) 基本组成
- 活动(Activity):项目中需要完成的具体任务,用**箭头(→)**表示,并标注持续时间。
- 事件(Event):活动的开始或结束点,用**节点(○)**表示,通常编号(如1, 2, 3…)。
- 路径(Path):从开始到结束的一系列连续活动。
- 关键路径(Critical Path):所有路径中耗时最长的路径,决定了项目的最短完成时间。
(2) 时间参数
参数 | 含义 | 计算公式 |
---|---|---|
ES(Earliest Start) | 活动可以开始的最早时间 | 前置活动的最大EF |
EF(Earliest Finish) | 活动可以完成的最早时间 | ES + 活动持续时间 |
LS(Latest Start) | 活动必须开始的最晚时间 | LF - 活动持续时间 |
LF(Latest Finish) | 活动必须完成的最晚时间 | 后续活动的最小LS |
Slack(松弛时间) | 活动可延迟的时间 | LS - ES 或 LF - EF |
2. PERT图的绘制步骤
步骤1:列出所有活动及依赖关系
例如:
活动 | 前置活动 | 持续时间(天) |
---|---|---|
A | - | 3 |
B | A | 2 |
C | A | 5 |
D | B, C | 4 |
步骤2:绘制PERT图
A(3)/ \B(2) C(5)\ /D(4)
步骤3:计算时间参数(正向计算ES/EF)
- 规则:
- 起始活动的 ES = 0。
- 后续活动的 ES = 所有前置活动的 EF 的最大值。
- EF = ES + 持续时间。
示例计算:
活动 | ES | EF |
---|---|---|
A | 0 | 3 |
B | 3 | 5 |
C | 3 | 8 |
D | max(5,8)=8 | 12 |
步骤4:反向计算(LS/LF)
- 规则:
- 最后一个活动的 LF = EF(项目总工期)。
- 前置活动的 LF = 后续活动 LS 的最小值。
- LS = LF - 持续时间。
示例计算:
活动 | LF | LS |
---|---|---|
D | 12 | 8 |
B | 8 | 6 |
C | 8 | 3 |
A | min(6,3)=3 | 0 |
步骤5:计算松弛时间
[
\text{Slack} = LS - ES \quad \text{或} \quad LF - EF
]
示例计算:
活动 | Slack | 关键路径? |
---|---|---|
A | 0 | 是 |
B | 3 | 否 |
C | 0 | 是 |
D | 0 | 是 |
关键路径:A → C → D(总工期12天)。
3. PERT图的应用
(1) 关键路径分析
- 关键路径上的活动不能延迟,否则整个项目延期。
- 非关键路径活动(如B)可以延迟不超过Slack时间。
(2) 时间优化
- 缩短关键路径:通过并行任务、增加资源或优化方法。
- 资源平衡:将资源从非关键活动调整到关键活动。
(3) 风险管理
- 对关键路径上的任务重点监控,避免延误。
4. PERT vs. 甘特图
特性 | PERT图 | 甘特图 |
---|---|---|
用途 | 分析任务依赖关系和关键路径 | 可视化任务时间安排 |
优点 | 适合复杂项目,优化时间 | 直观显示任务进度 |
缺点 | 绘制复杂 | 难以显示任务依赖关系 |
5. 示例完整分析
项目:软件开发
活动 | 描述 | 前置活动 | 时间(天) |
---|---|---|---|
A | 需求分析 | - | 5 |
B | 设计 | A | 7 |
C | 前端开发 | B | 10 |
D | 后端开发 | B | 12 |
E | 测试 | C, D | 5 |
PERT图:
A(5)|B(7)/ \C(10) D(12)\ /E(5)
时间计算:
活动 | ES | EF | LS | LF | Slack | 关键路径? |
---|---|---|---|---|---|---|
A | 0 | 5 | 0 | 5 | 0 | 是 |
B | 5 | 12 | 5 | 12 | 0 | 是 |
C | 12 | 22 | 14 | 24 | 2 | 否 |
D | 12 | 24 | 12 | 24 | 0 | 是 |
E | 24 | 29 | 24 | 29 | 0 | 是 |
关键路径:A → B → D → E(总工期29天)。
磁盘调度:最短移臂优先算法(SSTF)详解
问题描述
假设磁盘磁头初始位置在 50,给定一组磁道请求序列:
[55, 58, 39, 18, 90, 160, 150, 38, 184]
使用 最短寻道时间优先(SSTF)算法,计算磁头移动顺序和总移动距离(时间)。
1. SSTF算法原理
- 核心思想:优先服务离当前磁头位置最近的磁道请求,减少寻道时间。
- 特点:
- 比先来先服务(FCFS)更高效,但可能导致饥饿(某些请求长期得不到服务)。
- 时间复杂度:每次选择最近请求需遍历所有未处理请求,平均为 (O(n^2))。
2. 计算步骤
(1) 初始化
- 当前磁头位置:50
- 剩余请求序列:
[55, 58, 39, 18, 90, 160, 150, 38, 184]
- 移动顺序:
[50]
(初始位置) - 总移动距离:0
(2) 逐步选择最近的磁道
当前磁头位置 | 剩余请求 | 最近磁道 | 移动距离 | 移动顺序更新 | 总移动距离 |
---|---|---|---|---|---|
50 | 55,58,39,18,90,160,150,38,184 | 38 | |50-38|=12 | [50, 38] | 12 |
38 | 55,58,39,18,90,160,150,184 | 39 | |38-39|=1 | [50, 38, 39] | 13 |
39 | 55,58,18,90,160,150,184 | 18 | |39-18|=21 | [50, 38, 39, 18] | 34 |
18 | 55,58,90,160,150,184 | 55 | |18-55|=37 | [50, 38, 39, 18, 55] | 71 |
55 | 58,90,160,150,184 | 58 | |55-58|=3 | [50, 38, 39, 18, 55, 58] | 74 |
58 | 90,160,150,184 | 90 | |58-90|=32 | [50, 38, 39, 18, 55, 58, 90] | 106 |
90 | 160,150,184 | 150 | |90-150|=60 | [50, 38, 39, 18, 55, 58, 90, 150] | 166 |
150 | 160,184 | 160 | |150-160|=10 | [50, 38, 39, 18, 55, 58, 90, 150, 160] | 176 |
160 | 184 | 184 | |160-184|=24 | [50, 38, 39, 18, 55, 58, 90, 150, 160, 184] | 200 |
(3) 最终结果
- 移动顺序:
[50, 38, 39, 18, 55, 58, 90, 150, 160, 184]
- 总移动距离:200(单位:磁道数,通常与时间成正比)
3. 对比其他算法(简要)
算法 | 总移动距离 | 特点 |
---|---|---|
FCFS | 498 | 按请求顺序服务,简单但效率低。 |
SSTF | 200 | 高效,但可能饥饿。 |
SCAN | 230 | 磁头往复移动,公平但平均响应时间较长。 |
C-SCAN | 322 | 单向移动(如电梯),避免饥饿,适合高负载系统。 |
4. 关键结论
- SSTF的优化效果:本例中,SSTF(200)比FCFS(498)减少 59.8% 的磁头移动。
- 适用场景:适合I/O负载不高的系统,但对实时性要求高的任务需谨慎(可能饥饿)。
通过SSTF算法,可以显著降低磁盘寻道时间,提升系统性能!
原码、反码、补码、移码详解及运算
1. 基本概念
在计算机中,数值的存储和运算通常使用 补码,但理解原码、反码和移码是基础。以下以 8位二进制 为例说明。
2. 原码(Sign-Magnitude)
- 定义:最高位表示符号(
0
为正,1
为负),其余位表示数值绝对值。 - 范围:
- 正数:
00000000
(+0)到01111111
(+127) - 负数:
10000000
(-0)到11111111
(-127)
- 正数:
- 问题:存在 +0 和 -0,且加减运算复杂。
示例:
+5
:00000101
-5
:10000101
3. 反码(Ones’ Complement)
- 定义:
- 正数:与原码相同。
- 负数:符号位不变,数值位按位取反。
- 范围:
- 正数:
00000000
(+0)到01111111
(+127) - 负数:
11111111
(-0)到10000000
(-127)
- 正数:
- 问题:仍存在 ±0,但加减运算稍简化。
示例:
+5
:00000101
-5
:11111010
4. 补码(Two’s Complement)
- 定义:
- 正数:与原码相同。
- 负数:反码 + 1(符号位不变)。
- 范围:
10000000
(-128)到01111111
(+127) - 优点:
- 唯一表示 0(
00000000
)。 - 加减运算可直接用硬件实现,无需处理符号位。
- 唯一表示 0(
示例:
+5
:00000101
-5
:- 原码:
10000101
- 反码:
11111010
- 补码:
11111011
(反码 + 1)
- 原码:
补码运算(加法):
5 + (-3)
:5
:00000101
-3
:11111101
(补码)- 相加:
00000101 + 11111101 = 00000010
(结果为2
,正确)
5. 移码(Excess-N)
- 定义:用于浮点数的阶码,补码符号位取反(即补码 + 128)。
- 范围:
00000000
(-128)到11111111
(+127) - 作用:方便浮点数比较大小。
示例:
+5
的补码:00000101
→ 移码:10000101
(补码 +10000000
)-5
的补码:11111011
→ 移码:01111011
6. 四种编码对比
十进制 | 原码 | 反码 | 补码 | 移码 |
---|---|---|---|---|
+5 | 00000101 | 00000101 | 00000101 | 10000101 |
-5 | 10000101 | 11111010 | 11111011 | 01111011 |
+0 | 00000000 | 00000000 | 00000000 | 10000000 |
-0 | 10000000 | 11111111 | 00000000 | 10000000 |
-128 | 无法表示 | 无法表示 | 10000000 | 00000000 |
7. 关键总结
- 原码:直观但运算复杂,存在 ±0。
- 反码:改进原码的运算,但仍存在 ±0。
- 补码:统一 ±0,直接支持加减运算,是计算机存储整数的标准方式。
- 移码:用于浮点数阶码,便于比较大小。
补码的重要性:
- 计算机中所有整数运算均基于补码。
- 溢出处理:结果超出范围时,高位丢弃(如 8 位补码中
127 + 1 = -128
)。
通过理解这些编码,可以深入掌握计算机如何存储和运算数值!
数据传输方式详解:程序查询、中断与DMA
在计算机系统中,CPU与外部设备(如磁盘、键盘、网络等)之间的数据传输是核心功能之一。根据效率、复杂度和硬件成本的不同,主要采用三种方式:程序查询方式、中断方式和DMA方式。下面详细分析它们的特点、优缺点及适用场景。
1. 程序查询方式(Polling)
(1) 基本概念
CPU 主动轮询(Poll)I/O设备的状态寄存器,检查设备是否准备好传输数据。
分为两种子模式:
- 无条件传送:假设设备始终就绪,直接读写(如LED控制)。
- 程序查询:CPU循环检查设备状态,直到就绪才传输。
(2) 工作流程
- CPU读取设备状态寄存器。
- 若设备未就绪(Busy),返回步骤1。
- 若设备就绪(Ready),传输数据。
(3) 优缺点
优点 | 缺点 |
---|---|
硬件简单,成本低 | CPU利用率极低(忙于轮询,无法执行其他任务) |
适合低速设备(如键盘、传感器) | 实时性差,响应延迟高 |
(4) 适用场景
- 简单嵌入式系统。
- 对实时性要求不高的设备(如温度传感器)。
2. 中断方式(Interrupt-Driven I/O)
(1) 基本概念
设备通过中断信号主动通知CPU数据已就绪,CPU暂停当前任务,转去处理I/O请求,完成后恢复原任务。
(2) 工作流程
- CPU启动I/O设备,继续执行其他任务。
- 设备就绪后,向CPU发送中断请求(IRQ)。
- CPU保存当前上下文(寄存器状态),执行**中断服务程序(ISR)**完成数据传输。
- 恢复原任务继续执行。
(3) 优缺点
优点 | 缺点 |
---|---|
CPU无需轮询,利用率高 | 每次中断需保存/恢复上下文,开销较大 |
实时性好,响应速度快 | 高频中断可能导致CPU过载(如高速网卡) |
(4) 适用场景
- 中低速设备(鼠标、打印机)。
- 需要快速响应的场景(如键盘输入)。
3. DMA方式(Direct Memory Access)
(1) 基本概念
DMA控制器(DMAC)直接在设备和内存之间传输数据,无需CPU参与。CPU仅需初始化传输参数(如内存地址、数据量),完成后通过中断通知CPU。
(2) 工作流程
- CPU配置DMA控制器(源地址、目标地址、数据长度)。
- DMA控制器接管总线,直接与设备交互,完成批量数据传输。
- 传输结束后,DMA向CPU发送中断通知。
(3) 优缺点
优点 | 缺点 |
---|---|
彻底解放CPU,效率最高 | 硬件复杂,成本高(需独立DMA控制器) |
适合高速大批量数据传输(如磁盘、视频采集) | 可能引发总线竞争(需总线仲裁机制) |
(4) 适用场景
- 高速设备(SSD、显卡、网络接口卡)。
- 需要高吞吐量的场景(如视频流处理)。
4. 三种方式对比
特性 | 程序查询 | 中断方式 | DMA方式 |
---|---|---|---|
CPU参与度 | 全程参与(轮询) | 中断处理阶段参与 | 仅初始化和结束参与 |
硬件复杂度 | 最低 | 中等 | 最高(需DMA控制器) |
效率 | 最低 | 中等 | 最高 |
实时性 | 差 | 好 | 极好 |
适用设备 | 低速设备(传感器) | 中速设备(打印机) | 高速设备(磁盘、网卡) |
5. 关键结论
- 程序查询:简单但低效,适合低成本嵌入式系统。
- 中断方式:平衡效率与实时性,适合大多数通用设备。
- DMA:高性能场景的终极方案,但需硬件支持。
现代计算机的典型架构:
- 低速设备(如键盘)→ 中断驱动
- 高速设备(如NVMe SSD)→ DMA + 中断通知
- 超低功耗场景(如传感器)→ 程序查询
可靠性(Reliability)、可用性(Availability)、可维护性(Maintainability)详解
在计算机系统、网络工程和硬件设计中,可靠性(R)、可用性(A)、可维护性(M) 是衡量系统稳定性和服务质量的核心指标。它们通常基于以下关键时间参数计算:
- MTTF(Mean Time To Failure):平均无故障时间(系统正常运行的平均时间)。
- MTBF(Mean Time Between Failures):平均故障间隔时间(包含修复时间)。
- MTTR(Mean Time To Repair):平均修复时间(系统从故障到恢复的时间)。
1. 可靠性(Reliability)
定义
系统在规定时间内无故障运行的概率,反映系统的持久性。
公式
{可靠性} = MTTF / (1 + MTTF)
- MTTF 越大,可靠性越高(趋近于1)。
- 若 MTTF → ∞,可靠性 → 1(永不故障)。
示例
-
某服务器 MTTF = 1000 小时:
{可靠性} = 1000 / (1 + 1000) => (99.9%)
2. 可用性(Availability)
定义
系统在任意时刻可用的概率,综合考虑了故障和修复时间。
公式
{可用性} = MTBF / (MTBF + MTTR)
- MTBF = MTTF + MTTR(即两次故障之间的总时间)。
- 提高可用性的方法:
- 增加 MTTF(更可靠的硬件)。
- 减少 MTTR(快速修复或冗余设计)。
示例
-
某云服务 MTTF = 720 小时,MTTR = 1 小时:
{可用性} = \frac{720}{720 + 1} \approx 0.9986 \quad (99.86%)
-
“5个9” 高可用性(99.999%)要求:
MTTR <= MTTF / 99999 (如 MTTF=10^5小时,则 MTTR <= 1小时)
]
3. 可维护性(Maintainability)
定义
系统故障后快速恢复的能力,反映维修效率。
公式
{可维护性} = 1 / (1 + MTTR)
- MTTR 越小,可维护性越高(趋近于1)。
- 若 MTTR → 0,可维护性 → 1(瞬间修复)。
示例
-
某设备 MTTR = 2 小时:
{可维护性} = 1 / (1 + 2) => (33.3%)
-
通过自动化运维将 MTTR 降至 0.1 小时:
{可维护性} = 1 / (1 + 0.1) => (90.9%)
4. 三者的关系
指标 | 依赖参数 | 优化方向 | 典型应用场景 |
---|---|---|---|
可靠性 ® | MTTF | 使用高可靠性硬件、容错设计 | 航天系统、金融交易系统 |
可用性 (A) | MTTF + MTTR | 冗余架构、快速故障转移 | 云计算平台、在线服务 |
可维护性 (M) | MTTR | 自动化监控、模块化设计 | 工业设备、数据中心 |
协同优化
- 高可用性 需要同时提升 可靠性(减少故障)和 可维护性(快速修复)。
- 冗余设计(如RAID、集群)可提高 MTTF 并降低 MTTR。
5. 关键结论
- 可靠性 关注“少出故障”,可用性 关注“随时能用”,可维护性 关注“快速修复”。
- MTTF 和 MTTR 是核心参数:
- 增加 MTTF → 提升可靠性和可用性。
- 减少 MTTR → 提升可用性和可维护性。
- “5个9”高可用性(99.999%) 要求年均故障时间 ≤ 5.26 分钟,需结合冗余和自动化运维实现。
相关文章:
软件设计师-软考知识复习(2)
PERT图详解 PERT(Program Evaluation and Review Technique,计划评审技术)是一种用于项目管理的图形化工具,主要用于分析任务的时间安排、识别关键路径和优化资源分配。它特别适用于复杂项目,其中任务之间存在依赖关系…...
Qwen3快速部署 Qwen3-0.6B、Qwen3-8B、Qwen3-14B,Think Deeper
文章目录 0 Qwen31 平台与环境安装1 模型下载2 模型测试 0 Qwen3 今天,通义千问Qwen团队正式开源推出 Qwen3,这是 Qwen 系列大型语言模型的最新成员。最新的Qwen3系列模型具备双模推理能力(深入思考/快速响应)、支持119种语言及方…...
【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十七章 IO流:超越FILE*的维度战争
一、从C文件操作到Java流的进化 1.1 C文件操作的原始挑战 C语言通过FILE*和低级文件描述符进行I/O操作,存在诸多限制: 典型文件复制代码: #include <stdio.h> int copy_file(const char* src, const char* dst) { FILE* in fope…...
Leetcode刷题记录22——滑动窗口最大值
题源:https://leetcode.cn/problems/sliding-window-maximum/description/?envTypestudy-plan-v2&envIdtop-100-liked 题目描述: 思路一: 暴力遍历法,通过一个长度为k的滑动窗口遍历nums,将其中最大的数依次记…...
React 第三十四节 Router 开发中 useLocation Hook 的用法以及案例详解
一、useLocation基础用法 作用:获取当前路由的 location 对象 返回对象结构: {pathname: "/about", // 当前路径search: "?namejohn", // 查询参数(URL参数)hash: "#contact", …...
BT134-ASEMI机器人功率器件专用BT134
编辑:LL BT134-ASEMI机器人功率器件专用BT134 型号:BT134 品牌:ASEMI 封装:TO-126 批号:最新 引脚数量:3 封装尺寸:如图 特性:双向可控硅 工作结温:-40℃~150℃…...
十五种光电器件综合对比——《器件手册--光电器件》
十五、光电器件 名称 原理 特点 应用 发光二极管(LED) 基于半导体材料的电致发光效应,当电流通过时,电子与空穴复合,释放出光子。 高效、节能、寿命长、响应速度快、体积小。 广泛用于指示灯、照明、显示&#…...
网络安全攻防演练实训室建设方案
一、引言 在数字化浪潮席卷全球的当下,网络已深度融入社会的各个层面,成为推动经济发展、社会进步和科技创新的关键力量。从日常生活中的移动支付、社交互动,到企业运营中的数据管理、业务拓展,再到国家关键基础设施的运行&#…...
极客天成受邀参加2050大会,共赴人工智能科技盛宴
2025年4月25日,备受瞩目的2050大会在杭州云栖小镇盛大开幕。作为科技领域的佼佼者,北京极客天成科技有限公司受邀参加了此次盛会,与全球科技爱好者共同探索科技的未来。 大会盛况空前,科技盛宴开启 2050大会是由杭州市云栖科技创…...
GUI_DrawPixel 函数详解
GUI_DrawPixel 是嵌入式GUI库中的基础像素绘制函数,用于在指定坐标绘制单个像素点。下面我将详细介绍这个函数的功能、实现和使用方法。 1. 函数功能 在显示屏的指定位置(x,y)绘制一个像素点 使用当前设定的颜色进行绘制 是构建所有高级图形(线、圆、…...
AWS MSK 集群升级前配置检查:保障升级平稳进行的关键步骤
在 AWS Managed Streaming for Apache Kafka (MSK) 集群升级之前,进行全面的配置检查至关重要。本文将介绍一个用于 MSK 升级前配置检查的 Bash 脚本,帮助您识别潜在的风险点,确保升级过程的顺利进行。 为什么需要升级前检查? AWS MSK 提供了自动升级功能,但在升级过程中,不…...
leetcode 2516. 每种字符至少取 K 个
题目描述 滑动窗口问题 可以转化为求按照题目要求从两端取走字符后,中间部分的最大长度。中间部分就是一个滑动窗口。 class Solution { public:int takeCharacters(string s, int k) {vector<int> count(3,0);int n s.size();for(int i 0;i <n;i){cou…...
通信原理第七版与第六版区别附pdf
介绍 我用夸克网盘分享了「通信原理 第7版》樊昌信」,链接:https://pan.quark.cn/s/be7c5af4cdce 《通信原理(第7版)》是在第6版的基础上,为了适应当前通信技术发展和教学需求,并吸取了数十所院校教师的反…...
CPU 空转解析
在编程中,“避免 CPU 空转” 指的是防止程序在等待某个条件满足时,无意义地消耗 CPU 资源。以下是对这一问题的详细解释: 1. 什么是 CPU 空转? 当代码中出现类似以下逻辑时: while not condition_met: # 循环检查条…...
云蝠智能大模型智能呼叫:赋能零售行业服务,助力客户增长
在数字化浪潮席卷全球的今天,零售行业正面临前所未有的变革压力。消费者需求日益个性化、市场竞争愈发激烈,传统的人工客服模式已难以满足企业对高效触达、精准营销和极致体验的需求。而云蝠智能大模型智能呼叫系统,凭借其突破性的AI技术和深…...
Consul安装部署(Windows环境)
部署资料链接:https://download.csdn.net/download/ly1h1/90722829 1.下载 Consul 1.访问 Consul 官方下载页面:Install | Consul | HashiCorp Developer 2.选择适合 Windows 的版本(如 consul_1.16.1_windows_amd64.zipÿ…...
Sql刷题日志(day7)
面试: 1、怎么样的数据挖取能真正对业务起到指导作用? 明确的业务目标:开始之前明确你想通过数据挖掘解决的业务问题。这些问题应具体、可量化,并与业务战略紧密相关。正确的数据集:确保使用的数据与你的业务问题相关…...
【MuJoCo仿真】开源SO100机械臂导入到仿真环境
主要参考:https://github.com/jpata/gym-so100/tree/integration/gym_so100/assets/trs_so_arm100 参考:(八)lerobot开源项目扩展so100的仿真操控(操作记录)_so100机械臂 仿真-CSDN博客 下载:…...
redis 有序集合zrange和zrangebyscore的区别
起因是查询数据,用了zrangebyscore 但是一直显示没数据 具体命令zrangebyscore key 0 -1 withscores, 原有印象中一直是这么用的,但是突然查不出来了, 于是搜了下问题所在。 通过分数查看 不能用0和-1表示最小和最大,只能用分数来…...
基于C#窗体+GDI+绘图实现分形树
实验:分形树 一. 引言 实验目的:继续学习C#窗体应用程序的图形化界面设计以及GDI绘图的一些基本指示,通过制作各种类型的分形树增强对于递归的理解,在创造分形图形的过程中感受编程的快乐 Tutorial任务 1.制作不同类型的分形图形(本次演示的是两种不同类型的分…...
使用Langchain+DeepSeep进行测试相关工作
1.使用BaseChatModel实现自定义DeepSeekLLM import json import typing from typing import Optional, Any, List, Dict, Union, Sequence, Callable, Literalimport requests from langchain_core.callbacks import CallbackManagerForLLMRun from langchain_core.language_m…...
Java练习6
一.题目 数字加密与解密 需求: 某系统的数字密码(大于 0),比如 1983,采用加密方式进行传输。 规则如下: 先得到每位数,然后每位数都加上 5,再对 10 求余,最后将所有数字反转,得到一…...
二叉树知识点
1、树形结构 1.1概念 二叉树属于树形结构,所以先了解树形结构之后,再学习二叉树。 树形结构是一种非线性的数据结,是由n个有限节点组成的一个具有层次关系的集合,其形状就像一棵到这的树,跟朝上,叶子朝下…...
neo4j暴露公网ip接口——给大模型联通知识图谱
特别鸣谢 我的领导,我的脑子,我的学习能力,感动了 1. 搭建知识图谱数据库(见上一章博客) 这里不加赘述了,请参考上一篇博客搭建 2. FastApi包装接口 这里注意:NEO4J_URI不得写http:,只能写…...
在阿里云实例上部署通义千问QwQ-32B推理模型
通义千问QwQ-32B是阿里云开源的320亿参数推理模型,通过大规模强化学习在数学推理、编程及通用任务中实现性能突破,支持消费级显卡本地部署,兼顾高效推理与低资源消耗。 本文将介绍如何利用vLLM作为通义千问QwQ-32B模型的推理框架,在一台阿里云GPU实例上构建通义千问QwQ-32…...
GEE进行Theil-Sen Median斜率估计和Mann-Kendall检验
介绍一下Theil-Sen Median斜率估计和Mann-Kendall趋势分析,这两种方法经常结合使用,前者用于估计趋势的斜率,后者用于检验趋势的显著性。如多年NPP或者NDVI的趋势分析。 主要介绍使用GEE实现这一内容的代码方法,若使用python&…...
WSL2下Docker desktop的Cadvisor容器监控
由于WSL2的Docker存放是在Linux的docker-desktop目录下,需要从这里面挂载到WSL2里的/var/lib/docker,并且正确挂载启动,才能使 Cadvisor 识别到docker容器并且监控资源。 首先需要在WSL2终端进行挂载操作: sudo mount -t drvfs \…...
深度学习---pytorch搭建深度学习模型(附带图片五分类实例)
一、PyTorch搭建深度学习模型流程 1. 环境准备 安装PyTorch及相关库: pip install torch torchvision numpy matplotlib2. 数据准备 数据集加载:使用内置数据集(如CIFAR-10)或自定义数据集。数据预处理:包括归一化…...
基于 STM32 的智慧图书馆智能控制系统设计与实现
一、系统架构概述 智慧图书馆智能控制系统集成环境调控、安全监控、借阅管理与信息推送功能,通过 STM32 主控芯片联动传感器、执行器及云平台,实现图书馆智能化管理。系统架构分为感知层(传感器)、控制层(STM32 主控)、执行层(继电器 / 显示屏)及云端层(数据交互),…...
4. python3基本数据类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Pyt…...
什么是缓冲区溢出?NGINX是如何防止缓冲区溢出攻击的?
大家好,我是锋哥。今天分享关于【什么是缓冲区溢出?NGINX是如何防止缓冲区溢出攻击的?】面试题。希望对大家有帮助; 什么是缓冲区溢出?NGINX是如何防止缓冲区溢出攻击的? 缓冲区溢出是指程序试图向一个固定…...
4.27搭建用户界面
更新 router下面的index.js添加新的children 先区分一下views文件夹下的不同vue文件: Home.vue是绘制home页面的所有的表格。 Main.vue是架构头部和左侧目录的框架的。 研究一下这个routes对象,就可以发现重定向redirect的奥妙所在,我们先把…...
常用回环检测算法对比(SLAM)
回环检测本质上是一种数据相似性检测算法,原理是通过识别机器人是否回到历史位置,建立位姿约束以优化全局地图,纠正长期的里程计漂移实现全局地图的一致性,简单讲就是识别场景中的重复特征以修正累积误差。 1. 概述 算法类别原理特点优势劣势词袋模型特征聚类为单词,TF-I…...
《从线性到二维:CSS Grid与Flex的布局范式革命与差异解析》
在前端开发的广袤宇宙中,CSS布局技术宛如闪耀的星辰,不断革新与演进,为构建绚丽多彩的网页世界提供了坚实的支撑。其中,CSS Grid布局与Flex布局作为两颗璀璨的明星,以其独特的魅力和强大的功能,深受开发者们…...
理解 EKS CloudWatch Pod CPU Utilization 指标:与 `kubectl top` 及节点 CPU 的关系
在使用 AWS EKS 时,CloudWatch Container Insights 提供了丰富的容器级别监控指标,帮助我们深入了解应用的运行状态。如下截图中的 ContainerInsights pod_cpu_utilization 指标就是一个非常重要的维度。本文将详细解释这个指标的含义,并将其…...
解读JetBrains ToolBox以及Windows环境AppData的那点事
AppData 顾名思义应用程序数据,指的就是程序运行实例数据。用于存储应用程序的自定义设置和缓存数据。这些数据不仅包括程序个性化的配置,还涵盖了在应用程序运行过程中产生的临时文件和日志信息。 本身它是一个隐藏文件夹,位于每个用户的个人…...
Elasticsearch:ES|QL lookup JOIN 介绍 - 8.18/9.0
警告:此功能在 8.18/9.0 中刚推出。此功能处于技术预览阶段,未来版本可能会更改或删除。Elastic 会努力修复任何问题,但技术预览中的功能不受正式 正式发布功能支持 SLA 的约束。 ES|QL LOOKUP JOIN 处理命令将你的 ES|QL 查询结果表中的数据…...
基于开闭原则优化数据库查询语句拼接方法
背景 在开发实践中,曾有同事在实现新功能时,因直接修改一段数据库查询条件拼接方法的代码逻辑,导致生产环境出现故障。 具体来看,该方法通过在函数内部直接编写条件判断语句实现查询拼接,尽管从面向对象设计的开闭原…...
无人机航拍牛只检测数据集VOC+YOLO格式906张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):906 标注数量(xml文件个数):906 标注数量(txt文件个数):906 标注…...
【LeetCode 560】和为K的子数组(前缀和+哈希)
题面: 思路: 看到连续非空序列之和,容易想到前缀和计算差分, n u m s nums nums 区间 [ j , i ] [j,i] [j,i] 的和即为: s u m ( i , j ) p r e [ i ] − p r e [ j − 1 ] sum(i, j) pre[i] - pre[j-1] sum(i,j)…...
手术中评估帕金森患者手部运动的无接触式系统
南开大学韩建达教授研究团队提出一种针对帕金森病手术治疗的评估系统,可在手术中对患者手部运动进行实时监测,实现无接触式运动特征提取,并结合可视化数据分析辅助临床决策。相关研究论文“A non-contact system for intraoperative quantita…...
服务器主动发送响应?聊天模块如何实现?
一、背景知识 当我们在某聊天界面中发送一个消息时,如A给B发送了一个消息,而B马上就收到,仔细思考会发现以下问题 : 1. A给服务器发送请求,但服务器却给B发送了响应 2.B没有向服务器发送请求,却收到了…...
服务器远程超出最大连接数的解决方案是什么?
以下是为您撰写的关于服务器远程连接超限问题的解决方案论文,包含技术原理分析、解决策略和实际应用案例: 服务器远程连接超限问题分析与多维解决方案研究 摘要 随着数字化转型进程加速,服务器远程连接过载问题已成为企业IT运维领域的重大挑…...
【资料分享】全志T536(异构多核ARMCortex-A55+玄铁E907 RISC-V)工业核心板硬件说明书
前 言 本文为创龙科技SOM-TLT536工业核心板硬件说明书,主要提供SOM-TLT536工业核心板的产品功能特点、技术参数、引脚定义等内容,以及为用户提供相关电路设计指导。 为便于阅读,下表对文档出现的部分术语进行解释;对于广泛认同释义的术语,在此不做注释。...
Missashe考研日记-day30
Missashe考研日记-day30 0 写在前面 日记也是写到第30篇了哈哈,满月了,虽然过了不止30天中间有断更,但还是表扬一下自己坚持下来了。:) 1 专业课408 学习时间:2h30min学习内容: 今天有其他事…...
工程管理部绩效考核关键指标与项目评估
工程管理部的关键绩效考核指标(KPI)设计旨在全面评估部门在设施设备管理、特种设备保养、维修质量以及业主满意度等方面的工作表现。每个指标都与部门的日常运营紧密相关,直接影响到设施的维护质量和业主的满意度。 本文将深入探讨工程管理部的主要绩效考核指标&am…...
【沉浸式求职学习day29】【信科知识面试题第一部分】【新的模块,值得收藏】
快五一辣,大家什么安排呀哈哈哈~可能五一期间我就不更新啦,时间比较碎片化,要陪重要的人 沉浸式求职学习 理论攻坚-计算机基础知识1.诞生2.发展3.特点4.分类巨型 5.应用计算机辅助: 6.计算机的性能指标7.信息的存储单位 理论攻坚…...
Cliosoft安装
创建安装目录、解压 [rootedatest opt]# mkdir Cliosoft [rootedatest opt]# mv sos_7.05.p9/ Cliosoft/ [rootedatest opt]# cd Cliosoft/ [rootedatest Cliosoft]# cd sos_7.05.p9/ [rootedatest sos_7.05.p9]# tar -xf sos_7.05.p9_linux64.tar 用普通用户eda安装 [rooteda…...
MES管理系统:重构生产任务管理的数智化引擎
在制造业的数字化浪潮中,生产任务管理正从传统的经验驱动转向数据驱动的精细化模式。作为连接计划层与执行层的核心枢纽,MES管理系统通过智能化、动态化的管理手段,将生产任务的接收、分配、执行与优化融入全流程闭环,为企业打造透…...
推荐系统在线离线打分不一致:核心原因与全链路解决方案
目录 一、特征维度:数据处理的「隐形杀手」1.1 特征穿越:训练数据的「上帝视角」1.2 线上线下特征不一致的四大陷阱(1)上线前一致性校验缺失(2)线上特征监控体系缺位(3)特征更新延迟…...