人工智能视角下的安全:可视化如何塑造恶意软件检测

摘要

恶意软件是一种持续存在的网络安全威胁,它越来越多地通过复杂的攻击向量,瞄准互连的数字系统,如桌面、移动和物联网平台。通过利用这些漏洞,攻击者会损害现代数字生态系统的完整性和弹性。为了应对这一风险,安全专家积极采用基于机器学习或深度学习的策略,整合静态、动态或混合方法来对恶意软件实例进行分类。尽管这些方法具有优势,但它们也存在固有的缺点,并且恶意软件变种不断演变,复杂性日益增加,因此需要改进检测策略。基于可视化的技术正在成为可扩展且可解释的解决方案,用于检测和理解跨各种平台(包括桌面、移动、物联网和分布式系统)的恶意行为,以及通过分析网络数据包捕获文件。在这项对100多篇高质量研究文章的全面调查中,我们评估了应用于恶意软件检测和分类的现有基于可视化的方法。作为首要贡献,我们提出了一个新的全方位框架,以研究基于可视化的恶意软件检测技术的概貌。在这个框架内,我们系统地分析了恶意软件检测流水线关键阶段的最新方法。通过不仅分析单一技术,还分析它们如何组合以产生最终解决方案,我们阐明了基于可视化的方法中的主要挑战,并提供了对这一关键领域的发展和潜在未来方向的见解。

基于可视化的恶意软件检测、神经网络、对抗性攻击、概念漂移、基于可视化的恶意软件检测综述

1 引言

恶意软件样本正变得日益复杂,经常采用混淆和多态技术来逃避传统的基于签名和基于行为的检测。此外,由于对技术和连接性的依赖日益增加,恶意软件分析师注意到针对各种类型基础设施的攻击范围和强度都有所扩大。特别是Windows恶意软件,由于其普遍存在以及可能造成的重大经济损失,以及其对主权国家安全构成的威胁,已成为一个关键的关注领域。Windows仍然是恶意软件攻击最多的操作系统,2024年勒索软件攻击增加了2.75倍,其中92%的攻击影响了Windows设备[99]。此外,2025年的威胁行为者越来越多地通过人工智能驱动的恶意软件来利用Windows漏洞[110]。Windows系统在个人、企业和政府环境中的广泛使用,使其成为攻击者寻求利用操作系统和相关软件漏洞的主要目标[41]。

其他平台,如安卓,也不安全,并且近年来在手机广泛普及后,安卓恶意软件的增加也已被观察到[25]。针对安卓设备的威胁在某些方面与针对Windows设备的威胁有所不同。首先,安卓移动设备的普及和广泛应用使其成为网络犯罪分子的一个有吸引力的目标,而Windows恶意软件历来针对的是台式电脑。此外,安卓平台的开放性使得恶意应用程序更容易传播。再者,安卓恶意软件通常使用特定于移动环境的不同技术和漏洞。恶意软件通过各种手段在桌面和移动平台上传播。在桌面上,它可以通过恶意的电子邮件附件、被入侵的网站或受污染的软件下载来渗透系统。一旦存在,恶意软件会利用漏洞、自我复制,并将其影响范围扩展到连接的设备和网络[8]。在移动平台上,恶意软件通常伪装成合法的应用程序或利用第三方应用商店。用户在不知情的情况下安装这些有害的应用程序,从而授予对敏感数据或设备控制的访问权限。其他的传播途径包括短信、网络钓鱼链接和被入侵的Wi-Fi网络,这突显了PC和移动平台用户面临的巨大风险[70]。

恶意软件的另一个滋生地是物联网领域。恶意软件通过利用互联系统中的漏洞在物联网设备中传播,使其能够迅速渗透并破坏大量智能设备。物联网生态系统的互联互通特性为恶意软件的迅速传播提供了沃土,因此需要采取强有力的安全措施来降低这些风险[141]。

在此背景下,安全研究人员面临着打击广泛恶意软件活动以及防范新型和已知恶意软件的挑战。然而,面对不断演变的威胁,依赖于签名的传统方法已显得不足。攻击者采用复杂的方法,例如多态和变形恶意软件,通过改变其代码来避免被检测。因此,对诸如行为分析、机器学习和动态分析等创新技术的需求日益增长。这些方法提供了对恶意软件行为的更深入见解,使分析人员能够更好地检测和响应威胁。

在本文中,我们专注于一个特定的方面,即使用恶意软件可视化进行恶意软件分类,这是一种新颖且先进的恶意软件分析方法。随着深度学习和基于图像的分析的结合,近年来,可视化方法在为各种机器学习任务(包括恶意软件分类[144])创建可解释的结果方面显示出巨大的前景。特别是,卷积神经网络(CNN)在恶意软件分类中非常有效,因为它们能够从样本的二进制表示中提取特征,而无需领域专家的帮助。

我们综述了基于机器学习的恶意软件分类在各个平台上的最新技术,重点关注过去七年(2018年至2025年)发表的高质量作品。我们根据基于可视化的恶意软件分类的基本步骤对研究文献进行分类,这些步骤包括:数据集收集、图像生成、特征提取、分类、评估、模型鲁棒性和适应性。此外,我们探讨了与此方法相关的挑战,包括对大型多样化数据集的需求以及对抗性攻击的可能性,以及可解释性最重要的技术。尽管人们越来越感兴趣,但基于可视化的恶意软件检测仍然是一个相对年轻的领域。因此,通过更深入地了解基于机器学习的恶意软件分类方法的优势和局限性,我们可以更好地评估它们在提高恶意软件分析的准确性和效率方面的潜力。通过我们对文献的调查,我们全面概述了该领域当前的最新技术,提出了最佳实践,并帮助统一未来的研究,从而确定了未来发展的领域。总而言之,本次调查的主要贡献如下。

1. 据我们所知,我们是第一个对现有研究进行全面且方法严谨的调查,这些研究采用基于可视化的技术进行恶意软件检测,并围绕以下方面进行组织:

基于可视化的恶意软件检测调查提出了一个统一的框架,该框架捕捉了现有方法的主要特征,并能够进行系统的比较、趋势分析和识别研究差距。

2. 我们从众多基于图像的具体方法中提炼出基于可视化的恶意软件检测的整个流程。这为读者提供了一个概述,有助于理解基于可视化的方法的一般过程。该概述涵盖了所使用的数据集、图像表示、特征处理技术、模型生成、性能评估以及关于鲁棒性和模型适应性的考虑。

3. 我们探讨了应用于恶意软件检测的各种可视化技术在可解释性方面的各个方面,提供了宝贵的见解。

4. 为了更深入地理解基于可视化恶意软件检测中的对抗性攻击以及现有的防御措施,我们系统地调研了各种最先进的方法。这包括探索基于机器学习的恶意软件分类器、深度学习分类器上的对抗性攻击方法,以及增强基于可视化恶意软件分类器对抗鲁棒性的防御策略。

5. 我们将深入探讨当前研究中存在的差距,并全面探索基于可视化的恶意软件分析和检测领域未来研究的挑战和方向。此讨论为读者提供了开发创新解决方案的潜在途径。

本调查的组织结构如下。第2节介绍相关调查,第3节概述为进行本次调查而采取的方法。在第4节中,我们概述了关于恶意软件检测和分类技术的主要背景概念。第5节根据基于可视化的恶意软件分类的步骤,即数据集收集、图像生成、特征提取、分类和评估,描述了当前的文献分类。特别是在第5.1节中,我们研究了最常用的关于恶意软件的数据集。第5.2节讨论了利用通过静态和动态分析方法获得的不同文件扩展名,将恶意软件文件转换为图像的技术。在第5.3节中,我们探讨了研究人员如何处理特征,然后将其用作分类器的输入。第5.4节专门描述了用于通过提取的特征对图像进行分类的各种机器学习方法。第5.5节讨论了作者如何决定评估他们的分类器,将其结果与其他研究人员的结果进行比较,考虑相关参数,并评估所做的选择是否公平。第5.6节描述了模型的鲁棒性和适应性,特别是针对针对基于可视化的恶意软件检测器的对抗性攻击。在第6节中,我们探讨了恶意软件分类背景下的可解释性问题,研究了作者如何解决这个问题,并为这种情况提出了潜在的改进方案。第8节列出了我们调查中获得的经验教训。第9节考察了几个开放的挑战,并为未来研究的可能方向提供了视角。最后,第10节对基于图像的恶意软件分类领域的研究现状进行了一些总体考虑,并试图为 आगे 移动提供建议。

2 相关工作

本节概述了探索视觉恶意软件分类的综述。对于每项综述,我们都对其优缺点进行了描述。值得注意的是,大多数综述都涉及恶意软件检测中的通用技术,只有少数综述涉及视觉恶意软件图像的可视化,尽管范围更广的综述中简要提到了这一概念。表 1 总结了所回顾的综述,其中我们考虑了发表年份、分析的论文数量以及工作的主要范围(即图像生成技术分析、特征提取器分析、分类器分析、可解释性分析、可持续性分析、不同训练方法分析、数据集覆盖率、对抗性攻击分析、少样本分析、指标分析)。

2.1 机器学习与恶意软件检测综述

在[77]中,作者对应用于恶意软件分类和检测的机器学习模型进行了广泛的考察。该综述的主要重点并非专门针对可视化方法。新兴和流行的挑战,如可解释性和可持续性,被简要提及。尽管存在这些局限性,该综述仍然是一个有价值的起点,提供了恶意软件分类和检测中使用的传统机器学习和深度学习工作流程的概述。Ucci等人在[207]中对机器学习技术进行了透彻的分析。他们提供了一个经过深思熟虑的分类法来对不同的机器学习方法进行分类。关于特征提取技术的部分对该主题进行了深入的探讨。该综述在广泛分析机器学习技术方面表现出色,但在充分关注最新进展(如深度学习,特别是卷积神经网络的使用)方面有所不足。此外,该综述缺乏对当今研究人员面临的当代挑战的足够重视。Naik等人在[155]中提供了基于图像的恶意软件分析的总体概述。作者讨论了关于基于可视化恶意软件检测的综述

表1:与现有综述论文的比较

从数据集到评估的工作流程的主要步骤。纳入的20篇分析论文也突显了该研究的重要性。然而,必须承认本研究的局限性,例如缺乏对数据集和特征提取的深入分析。此外,值得注意的是,没有讨论诸如可解释性和可持续性等当前问题。Gopinath等人[139]提出了一项全面的调查,涵盖了广泛的使用机器学习和深度学习技术的论文。该调查主要考察开发分类器的各种方法,而不是侧重于基于图像的可视化方法。作者详细地解释了每篇论文,很好地描述了每个模型的特征。该调查根据用于分类器的方法对出版物进行划分,因此每篇论文只被命名和解释一次。因此,很难提取所接收的信息并对特征提取和图像生成的不同方法进行分类。此外,除了简短的切题讨论之外,作者没有广泛地深入研究该领域遇到的当代挑战。

2.2 基于可视化的恶意软件检测综述

Ahmad等人[138]综述了基于可视化的恶意软件检测与分类。作者详细回顾了现有的恶意软件检测方法,利用了机器学习和深度学习技术,并概述了十一种不同模型的实现。该综述有效地识别了每个模型的关键组成部分,并采用简洁的列表方法,便于它们之间的比较。然而,值得一提的是,我们对可视化方法的整个流程进行了彻底的分析。Shah等人在[186]中分析了基于可视化的恶意软件分类模型。我们特别关注模型的计算性能。然而,至关重要的是要强调,本综述中考虑的模型数量有限。因此,作者无法对基于可视化的恶意软件分析的更广泛领域提供深入的见解。Deldar等人[60]专门对零日恶意软件的检测进行了综述。所采用的分类法巧妙地划分了模型,使读者能够识别分类流程中每个步骤的可能选择。然而,该综述并未深入探讨不同的可能性;相反,它只是呈现或简要讨论了它们。值得注意的是,它探讨了零日分类中最受关注的主题,即对抗性攻击和小样本学习。作者没有直接处理机器学习恶意软件视觉分类中的现代问题,如可持续性和可解释性。[249]中的研究人员将计算机视觉应用于网络安全,广泛涵盖了网络钓鱼检测、恶意软件检测和流量异常检测。他们强调了其更广泛的网络安全意义,包括在物理安全和关键基础设施保护中的应用,并将计算机视觉、机器学习和网络安全联系起来。然而,他们的研究缺乏对基于可视化的恶意软件检测的深入关注。相比之下,我们的研究提供了对可视化技术的详细分析,从数据集收集、图像类型、特征提取、分类方法、可解释性、鲁棒性评估以及恶意软件检测中的适应性开始。

3 方法论

在本研究中,我们设计了一种结构化的搜索策略,以根据我们综述文章的目标收集有关基于可视化的恶意软件检测的相关研究。最初,我们探索了诸如 Google Scholar 和 Web of Science 等学术数据库,并审查了诸如 SpringerLink、IEEE Xplore、ScienceDirect 和 ACM Digital Library 等信誉良好的存储库。搜索重点关注 2018 年至 2025 年的出版物,以确保对近期进展进行全面考察。初步的全局扫描显示,在 2018 年之前,关于可视化驱动的恶意软件检测的研究仍然有限,只有少数值得注意的出版物。因此,我们选择了一个为期七年的时间范围进行分析,以捕捉最相关和最新的作品。最近,基于可视化的恶意软件检测研究迅速扩展,推动了该领域的重大创新。

我们通过使用特定关键词制定搜索查询来确保全面的覆盖范围。主要搜索词包括“恶意软件可视化”和“基于图像的恶意软件检测”。为了优化我们的搜索,我们加入了额外的术语,例如“深度学习”、“从恶意软件图像中提取特征”、“机器学习”、“视觉Transformer”、“恶意软件图像中的对抗鲁棒性”、“混淆”、“可解释性”和“可持续性”。这种方法涵盖了与恶意软件可视化和分类相关的广泛研究。图 1 以PRISMA流程图的形式直观地展示了我们的研究选择过程,详细说明了我们在最终综述中识别、筛选、排除和纳入的研究数量。

图1:PRISMA流程图

3.1 选择和过滤标准

本节阐述了我们评估基于可视化恶意软件检测的综述中所考虑的学术论文的质量和相关性的方法。当文章满足至少一个纳入标准且未被任何排除标准取消资格时,将被选中。我们通过以下选择标准评估论文的适用性。

3.1.1 纳入指南

我们基于以下选择标准评估一篇论文是否适合纳入本综述文章:

• 根据Scimago和Core.edu排名,出版场所的重要性和可信度。

• 通过Google Scholar和Scopus上的排名来衡量引用影响力。

• 出版日期。 特别是,我们优先考虑近期的研究,特别是最近六年内发表的研究。

• 对恶意软件可视化贡献的意义。

3.1.2 排除准则

我们同时排除符合以下任何条件的研究。

表2:本文中使用的首字母缩略词列表

4 背景

网络安全中的一项重要任务是对恶意软件进行家族分类。这项任务对于根据恶意软件的特征和行为对其进行分类至关重要,使研究人员能够了解其功能并制定有效的对策。它还可以揭示攻击者技术的趋势,从而指导主动预防策略。恶意软件分类不同于恶意软件检测,后者识别系统中是否存在恶意软件。恶意软件分类对各种类型的恶意软件进行分类和组织。相比之下,恶意软件检测直接识别特定的恶意软件实例,从而可以及时干预以防止或最大程度地减少其影响。在分析恶意软件时,研究人员可以使用不同的技术来帮助探索恶意代码的结构和行为。这些技术大致分为两大类:(i)动态分析和(ii)静态分析。安全研究人员必须应对广泛的恶意软件活动带来的挑战,并识别和防范新的和旧的恶意软件。然而,面对不断演变的恶意软件[13],传统的基于签名的恶意软件分析方法已不再足够。攻击者使用越来越复杂的规避检测技术,例如多态和变形恶意软件,它们可以改变其代码以避免签名检测。因此,越来越需要新的和先进的方法来分析恶意软件,包括行为分析,以及集成(i)机器学习和深度学习。这些技术可以更深入地了解恶意软件的行为及其对系统的影响,从而使分析人员能够更有效地识别和应对威胁。

4.1 静态分析

静态分析是恶意软件分析中使用的一种技术,它涉及检查恶意程序的二进制文件或代码,而不执行它。这种方法侧重于分析恶意软件样本的结构和内容方面,以识别潜在的恶意行为,并在不直接执行的情况下了解其操作机制。静态分析的常用工具包括反汇编器、反编译器和调试器,这些工具便于提取恶意软件用于执行恶意操作的指令,例如数据窃取、系统修改或传播。此外,静态分析能够识别入侵指标(IOC),例如文件名、网络流量模式、注册表项以及与恶意软件相关的其他属性。通过检查代码或二进制文件,研究人员可以提取签名或行为模式,以帮助检测系统上是否存在恶意软件[158]。基于可视化的恶意软件检测综述

签名可以通过识别匹配的模式来检测系统中的恶意软件[219]。本调查中探讨的一种便捷方法是通过图像可视化静态分析提取的信息,这主要是因为同一恶意软件的变体之间存在视觉相似性。使用图像有助于研究人员获得整个恶意软件的全局视图,而不会丢失局部细节。结合特征提取器和机器学习模型可以利用这一特性来实现准确的分类和检测结果。

4.2 动态分析

动态分析是一种通过在安全可控的环境(如沙盒或虚拟机)中执行恶意软件来检查其行为的技术。与静态分析(在不运行代码的情况下检查代码)不同,动态分析允许直接观察恶意软件与操作系统和网络资源的交互。在线沙盒平台,包括Any.Run [73]、VirusTotal [194]、Joe Sandbox [104]、Cuckoo Sandbox [51]和Hybrid Analysis [10],为恶意软件的安全执行和生成详细的行为报告提供了自动化环境。安全分析师使用监控工具,如系统监视器、网络分析器和调试器,来检测恶意活动,如文件创建、系统修改或与命令和控制(C2)服务器的通信。此外,动态分析揭示了规避技术,如反调试或反虚拟化策略[45],从而提高了对复杂恶意软件的理解。通过在隔离环境中分析恶意软件行为,分析师可以更准确地评估恶意代码的性质和潜在威胁。此外,可以通过可视化技术来增强动态分析,其中运行时行为数据被转换为基于图像的表示,从而有助于更清晰的解释和有效处理新兴的恶意软件变种。

4.3 机器学习

机器学习已成为恶意软件分析中的一种基本方法,能够根据恶意软件固有的特征和行为自动分类和检测恶意软件[207]。通过检查各种特征,包括文件属性(如大小和类型)、系统交互、网络活动和其他指标,机器学习算法可以有效地区分良性和恶意软件。ML模型在动态分析期间监视恶意软件的运行时行为,通过检查其与系统组件和网络通信的交互来检测恶意模式。在静态分析中,这些算法评估代码结构和二进制文件以检测恶意模式。深度学习,特别是深度神经网络 (DNN) 的采用,代表了该领域的一项重大进步。在过去的十年中,深度学习技术因其在包括图像识别和自然语言处理在内的各个领域的卓越性能而备受关注。卷积神经网络 (CNN) 通过在恶意软件可视化方面提供优于传统机器学习模型的性能,从而在恶意软件分析中表现出色。尽管 DNN 依赖于大量的计算资源和广泛的数据集,但它们在改进恶意软件检测和分类方面具有巨大的潜力。

4.4 恶意软件可视化

恶意软件可视化是一种分析技术,它将恶意软件的行为和特征转化为视觉表现形式,从而促进对其进行分析和分类。可视化提供了系统和网络活动的清晰视图,帮助分析人员识别模式、发现连接并检测可能的攻击路径。可视化技术生成不同恶意软件属性的图形表示,包括网络交互、文件操作和系统调用。通过检查这些视觉表示,分析人员可以深入了解恶意软件的运行技术,例如规避策略和利用的漏洞。除了帮助恶意软件检测和分析外,可视化还可以通过将恶意软件样本描绘为图像来增强分类任务,从而有助于区分各种毒株。此外,恶意软件可视化有助于识别相关恶意软件样本之间的细微差异。由于恶意软件作者经常生成具有轻微代码修改的新变种,因此可视化有效地捕获了这些差异,从而有助于检测相关毒株。通过利用恶意软件行为的视觉表示并结合机器学习技术,专家可以有效地识别恶意软件样本中相似和不同的模式,从而促进对新的或以前未知的威胁进行分类。

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

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

相关文章

游戏引擎学习第293天:移动Familiars

回顾并为今天的内容定下基调 我们正在做一款完整的游戏,今天的重点是“移动模式”的正式化处理。目前虽然移动机制大致能运作,但写法相对粗糙,不够严谨,我们希望将其清理得更规范,更可靠一点。 目前脑逻辑&#xff0…

golang -- 如何让main goroutine等一等

目录 引言一、sync.WaitGroup二、channel创建channle操作缓冲多返回值模式单向通道 引言 在不做修饰的程序中,代码是串行执行的 串行、并发与并行串行:事物按照一定的发展顺序并发:同一时间段执行多个任务(一边吃饭一边看电视&am…

第31讲 循环缓冲区与命令解析

串口在持续接收数据时容易发生数据黏包(先接收的数据尚未被处理,后面的数据已经将内存覆盖)的情况,循环缓冲区的本质就是将串口接受到的数据马上拷贝到另外一块内存之中。为了避免新来的数据覆盖掉尚未处理的数据,一方…

UE 材质基础 第一天

课程:虚幻引擎【UE5】材质宝典【初学者材质基础入门系列】-北冥没有鱼啊_-稍后再看-哔哩哔哩视频 随便记录一些 黑色是0到负无穷,白色是1到无穷 各向异性 有点类似于高光,可以配合切线来使用,R G B 相当于 X Y Z轴,切…

编译原理--期末复习

本文是我学习以下博主视频所作的笔记,写的不够清晰,建议大家直接去看这些博主的视频,他/她们讲得非常好: 基础知识概念: 1.【【编译原理】期末复习 零基础自学】,资料 2.【编译原理—混子速成期末保过】&…

【DeepSeek论文精读】11. 洞察 DeepSeek-V3:扩展挑战和对 AI 架构硬件的思考

欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html)原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】7. DeepSeek 的发展历程与关键技术 【DeepSeek论文精读】11. 洞察 DeepSeek-V3&#xff…

宝塔面板部署前后端项目SpringBoot+Vue2

这篇博客主要用来记录宝塔部署前端后端项目的过程。因为宝塔部署有点麻烦,至少在我看来挺麻烦的。我还是喜欢原始的ssh连接服务器进行操作。但是公司有项目用到了宝塔,没办法啊,只能摸索记录一下。 我们需要提前准备好后端项目的jar包和前端项…

电机试验平台:创新科技推动电动机研究发展

电机试验平台是电机制造和研发过程中不可或缺的重要设备,其功能涵盖了电机性能测试、电机寿命测试、电机质量评估等多个方面。随着科技的不断发展和电机应用领域的日益扩大,对电机试验平台的要求也越来越高。本文将从现代化电机试验平台的设计与应用两个…

LangGraph 7 - Platform - Agentic RAG、监督、SQL代理、追踪、私密对话、认证、RemoteGraph、LangSmith

文章目录 代理式检索增强生成(Agentic RAG)安装 1、预处理文档2、创建检索器工具3、生成查询4、文档分级5、问题重写6、生成答案7、构建流程图8、运行智能RAG代理 多智能体监督系统安装配置1、创建工作代理研究代理数学代理工具 2、使用 langgraph-super…

生命之树--树形dp

1.树形dp--在dfs遍历树的同时dp&#xff0c;从上到下递归&#xff0c;到叶子是边界条件 https://www.luogu.com.cn/problem/P8625 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int> pii; int n,c; ll …

10.8 LangChain三大模块深度实战:从模型交互到企业级Agent工具链全解析

LangChain Community 项目:Model I/O, Retrieval, Agent Tooling 关键词:LangChain Model I/O, 检索增强生成, Agent 工具链, 多路召回策略, 工具调用协议 1. Model I/O 模块:大模型交互标准化接口 Model I/O 是 LangChain 生态中连接大模型的核心模块,定义了统一的输入输…

鸿蒙OSUniApp 实现图片上传与压缩功能#三方框架 #Uniapp

UniApp 实现图片上传与压缩功能 前言 在移动应用开发中&#xff0c;图片上传是一个非常常见的需求。无论是用户头像、朋友圈图片还是商品图片&#xff0c;都需要上传到服务器。但移动设备拍摄的图片往往尺寸较大&#xff0c;直接上传会导致流量消耗过大、上传时间过长&#x…

已经装了pygame但pycharm显示没有该模块/软件包无法加载出来下载pygame

首先&#xff0c;如果你已经通过pip install pygame或者其他什么命令下载好了pygame &#xff08;可以通过pip list查看&#xff0c;有pygame说明pygame已经成功安装在当前python环境中&#xff09;。然而&#xff0c;如果你在 PyCharm 中仍然看不到 pygame&#xff0c;可能是因…

第6章 实战案例:基于 STEVAL-IDB011V1 板级 CI/CD 全流程

在前五章中,我们完成了嵌入式 CI/CD 从环境搭建、编译自动化、测试自动化、发布分发到监控回归的全技术链条。本章将以 STEVAL-IDB011V1(搭载 BlueNRG-355)评估板为实战载体,手把手演示如何在 GitLab CI(或 Jenkins)上,构建一条从 Git Push → 编译 → 测试 → 刷写 → …

系统架构设计(十四):解释器风格

概念 解释器风格是一种将程序的每个语句逐条读取并解释执行的体系结构风格。程序在运行时不会先被编译为机器码&#xff0c;而是动态地由解释器分析并执行其语义。 典型应用&#xff1a;Python 解释器、JavaScript 引擎、Bash Shell、SQL 引擎。 组成结构 解释器风格系统的…

1-机器学习的基本概念

文章目录 一、机器学习的步骤Step1 - Function with unknownStep2 - Define Loss from Training DataStep3 - Optimization 二、机器学习的改进Q1 - 线性模型有一些缺点Q2 - 重新诠释机器学习的三步Q3 - 机器学习的扩展Q4 - 过拟合问题&#xff08;Overfitting&#xff09; 一、…

SQL里where条件的顺序影响索引使用吗?

大家好&#xff0c;我是锋哥。今天分享关于【SQL里where条件的顺序影响索引使用吗&#xff1f;】面试题。希望对大家有帮助&#xff1b; SQL里where条件的顺序影响索引使用吗&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 SQL 查询中&#xff0c;W…

计算机科技笔记: 容错计算机设计05 n模冗余系统 TMR 三模冗余系统

NMR&#xff08;N-Modular Redundancy&#xff0c;N 模冗余&#xff09;是一种通用的容错设计架构&#xff0c;通过引入 N 个冗余模块&#xff08;N ≥ 3 且为奇数&#xff09;&#xff0c;并采用多数投票机制&#xff0c;来提升系统的容错能力与可靠性。单个模块如果可靠性小于…

中级网络工程师知识点7

1.存储区城网络SAN可分为IP-SAN,FC-SAN两种&#xff0c;从部署成本和传输效率两个方面比较两种SAN&#xff0c;比较结果为FCSAN部署成本更高 2.RAID2.0技术的优势&#xff1a; &#xff08;1&#xff09;自动负载均衡&#xff0c;降低了存储系统故障率 &#xff08;2&#x…

在Ubuntu24.04中配置开源直线特征提取软件DeepLSD

在Ubuntu24.04中配置开源直线特征提取软件DeepLSD 本文提供在Ubuntu24.04中配置开源直线特征提取软件DeepLSD的基础环境配置、列出需要修改的文件内容&#xff0c;以及报错解决方案集锦。 基础的编译安装环境 python3.8.12CUDA12gcc/g 9.5&#xff08;系统自带的g-13版本太新…