探索在生成扩散模型中基于RAG增强生成的实现与未来
概述
像 Stable Diffusion、Flux 这样的生成扩散模型,以及 Hunyuan 等视频模型,都依赖于在单一、资源密集型的训练过程中通过固定数据集获取的知识。任何在训练之后引入的概念——被称为 知识截止——除非通过 微调 或外部适应技术(如 低秩适应,LoRA)进行补充,否则不会出现在模型中。
因此,如果一个生成系统能够输出图像或视频,并且能够根据需要从在线资源中获取信息并将其纳入生成过程,那就再好不过了。例如,一个对最新苹果或特斯拉产品一无所知的扩散模型,仍然可以生成包含这些新产品的图像。
在语言模型方面,我们大多数人都熟悉像 Perplexity、Notebook LM 和 ChatGPT-4o 这样的系统,它们可以在 检索增强生成(RAG)模型中纳入新的外部信息。
然而,在生成图像方面,这种功能并不常见,ChatGPT 也会承认自己在这方面的局限性:
ChatGPT 4o 根据一般线条和它所解释的描述,对一款全新手表的外观做出了合理猜测;但它无法“吸收”并将新图像整合到基于 DALL-E 的生成中。
将检索到的外部数据纳入生成图像是具有挑战性的,因为传入的图像必须首先被分解为标记和嵌入,然后映射到模型对主题的最近训练知识领域。
尽管这一过程对于像 ControlNet 这样的后训练工具来说效果良好,但此类操作大多停留在表面,本质上是将检索到的图像通过渲染管道传递,而没有将其深度整合到模型的内部表示中。
因此,模型缺乏像 NeRF 这样的神经渲染系统的能力,后者能够以真正的空间和结构理解构建场景。
一、 成熟的逻辑
类似的限制也适用于大型语言模型(LLMs)中的 RAG 基查询,例如 Perplexity。当这种类型的模型处理检索到的外部数据时,其功能类似于一个成年人凭借一生的知识来推断某个主题的概率。
然而,就像一个人无法将新信息追溯性地整合到塑造其基本世界观的认知框架中——当他们的偏见和先入为主的观念仍在形成时——LLM 也无法将其新知识无缝地整合到其预训练结构中。
相反,它只能“影响”或并置新数据与其现有的内化知识,使用已学到的原则进行分析和推测,而不是在基础层面上进行综合。
在“并置”和“内化”生成之间的等效性不足,可能会在生成的图像中比基于语言的生成中更为明显:各种研究表明,“原生”(而非基于 RAG)生成的更深层次网络连接和更高的创造力已被 建立。
二、RAG 能力图像生成的隐藏风险
即使在技术上可行地将检索到的互联网图像无缝整合到新合成的图像中,以 RAG 风格进行整合,安全相关的限制也会带来额外的挑战。
许多用于训练生成模型的数据集已经被策划,以尽量减少明确、种族主义或暴力内容等敏感类别的存在。然而,这一过程并不完美,残留的关联可能仍然存在。为了缓解这种情况,像 DALL·E 和 Adobe Firefly 这样的系统依赖于二级过滤机制,对输入提示和生成的输出进行筛查,以禁止相关内容。
因此,一个简单的 NSFW 过滤器——主要阻断明显露骨的内容——将不足以评估检索到的基于 RAG 的数据的可接受性。此类内容仍可能以超出模型预定义的审核参数范围的方式具有冒犯性或有害性,可能会引入 AI 缺乏适当评估情境意识的材料。
最近发现的 CCP 旗下的 DeepSeek 的一个漏洞,旨在压制对禁止政治内容的讨论,突显了如何利用替代输入路径绕过模型的伦理保障;可以说,这也适用于从互联网检索到的任意新数据,当它被纳入新的图像生成时。
三、 RAG 用于图像生成
尽管存在这些挑战和棘手的政治方面的问题,但仍有一些项目试图使用基于 RAG 的方法将新数据纳入视觉生成中。
3.1 ReDi
2023 年的 检索式扩散(ReDi)项目是一个无学习框架,通过从预计算的知识库中检索类似的 轨迹 来加速扩散模型推理。
数据集中的值可以在 ReDi 中“借用”用于新的生成
在扩散模型的背景下,轨迹是模型从 纯噪声 生成图像的逐步路径。通常,这个过程会逐渐发生,每一步都会稍微完善图像。
ReDi 通过跳过其中许多步骤来加速这一过程。它不是计算每一个步骤,而是从数据库中检索一个类似的过去轨迹,并跳到过程中的一个更晚的点。这减少了所需的计算量,使基于扩散的图像生成速度更快,同时仍然保持高质量。
ReDi 并不修改扩散模型的 权重,而是使用知识库跳过中间步骤,从而减少采样所需的函数估计数量。
当然,这并不等同于随意将特定图像纳入生成请求中;但它确实与类似类型的生成有关。
ReDi 于 2022 年发布,那一年潜扩散模型 吸引了 公众的想象力,ReDi 似乎是最早采用基于 RAG 方法的扩散基础方法之一。
尽管应该提到的是,2021 年 Facebook Research 发布了 实例条件 GAN,它试图将 GAN 图像条件化为新的图像输入,这种将图像投影到潜在空间的做法在文献中非常常见,无论是对于 GAN 还是扩散模型;挑战在于使这样一个过程成为训练自由的,并在实时中发挥作用,就像专注于 LLM 的 RAG 方法一样。
3.2 RDM
另一个早期尝试 RAG 增强图像生成的是 检索增强扩散模型(RDM),它引入了一种半 参数化 的生成图像合成方法。与传统扩散模型将所有学习到的视觉知识存储在其神经网络参数中不同,RDM 依赖于一个外部图像数据库:
RDM* 中说明性伪查询检索到的最近邻。
在训练过程中,模型从外部数据库中检索 __[最近邻](https://www.un在训练过程中,模型从外部数据库中检索 最近邻(视觉上或语义上相似的图像),以指导生成过程。这使得模型能够根据真实世界的视觉实例来调整其输出。
检索过程由 CLIP 提供支持,旨在确保检索到的图像与查询内容具有有意义的相似性,并提供新信息以改善生成效果。这种方法减少了对参数的依赖,使得模型能够在不需要庞大训练数据集的情况下实现具有竞争力的结果。
RDM 方法支持 事后修改:研究人员可以在推理时更换数据库,从而实现对新风格、领域甚至完全不同任务(如风格化或类别条件合成)的零样本适应。
RDM 的一个关键优势在于,它能够在不重新训练模型的情况下提升图像生成效果。通过简单地更改检索数据库,模型可以泛化到从未明确训练过的新概念。这对于存在 领域偏移 的应用场景特别有用,例如基于不断演变的数据集生成医学影像,或者将文本到图像模型适应于创意应用。
然而,这种基于检索的方法依赖于外部数据库的质量和相关性,这使得数据策划成为实现高质量生成的重要因素。此外,这种方法距离实现商业语言模型中典型的基于 RAG 的交互式图像合成仍有较大差距。
3.3 ReMoDiffuse
ReMoDiffuse 是一种用于 3D 人体运动生成的检索增强运动扩散模型。与依赖纯学习表示的传统运动生成模型不同,ReMoDiffuse 从大规模运动数据集中检索相关的运动样本,并将其整合到去噪过程中,其架构类似于 RDM(见上文)。
右侧为 RAG 增强的 ReMoDiffuse 与先前方法的对比
这使得模型能够生成更自然、更多样化且在语义上忠实于用户文本提示的运动序列。
ReMoDiffuse 采用了一种创新的 混合检索机制,基于语义和运动学相似性选择运动序列,以确保检索到的运动不仅在主题上相关,而且在物理上合理地整合到新生成中。
然后,模型使用 语义调制的 Transformer 对检索到的样本进行细化,有选择地整合检索到的运动知识,同时保持生成序列的特征品质。
ReMoDiffuse 的流程架构
该模型的 条件混合 技术增强了模型在不同提示和检索条件下的泛化能力,通过在生成过程中平衡检索到的运动样本与文本提示的权重,解决了扩散模型中常见的 分类器自由引导 技术的 尺度敏感性问题。
这有助于防止不真实或重复的输出,即使对于罕见的提示也是如此。它还解决了扩散模型中常见的尺度敏感性问题,这种问题通常出现在分类器自由引导技术中。
3.4 RA-CM3
斯坦福大学 2023 年的论文 Retrieval-Augmented Multimodal Language Modeling(RA-CM3)允许系统在推理时访问现实世界的信息。
斯坦福大学的检索增强多模态语言模型(RA-CM3)使用从互联网检索到的图像增强生成过程,但目前仍处于原型阶段,尚未公开发布
RA-CM3 将检索到的文本和图像整合到生成流程中,增强文本到图像和图像到文本的合成效果。该模型使用 CLIP 进行检索,并以 Transformer 作为生成器,在生成输出之前引用相关的多模态文档。
在 MS-COCO 上的基准测试显示,与 DALL-E 和类似系统相比,RA-CM3 实现了 12 点的 Fréchet Inception Distance(FID)降低,且计算成本更低。
然而,与其他基于检索增强的方法一样,RA-CM3 并没有无缝内化其检索到的知识。相反,它将新数据叠加在其预训练的网络上,类似于 LLM 通过搜索结果增强回答。虽然这种方法可以提高事实准确性,但它并不能替代在需要深度合成的领域中更新训练的需求。
此外,目前尚未发布该系统的实际实现版本,甚至没有通过 API 平台提供。
3.5 RealRAG
来自中国的最新发布 Retrieval-Augmented Realistic Image Generation(RealRAG)引发了我们对 RAG 增强生成图像系统的关注。
RealRAG 中引入的外部图像(位于下方中间)
RealRAG 从公开可用的数据集(如 ImageNet、Stanford Cars、Stanford Dogs 和 Oxford Flowers)中检索相关对象的实际图像,并将其整合到生成过程中,以填补模型的知识空白。
RealRAG 的一个关键组件是 自反式对比学习,它训练检索模型找到信息丰富的参考图像,而不仅仅是选择 视觉上相似 的图像。
作者指出:
“我们的关键见解是训练一个检索器,使其检索到的图像远离生成器的生成空间,但接近文本提示的表示。”
“为此,我们首先根据给定的文本提示生成图像,然后利用这些生成的图像作为查询,从基于真实对象的数据库中检索最相关的图像。这些最相关的图像被用作反思性负样本。”
这种方法确保检索到的图像为生成过程贡献了 缺失的知识,而不是强化模型中已有的偏见。
从左到右:检索到的参考图像;没有使用 RAG 的结果;使用检索图像的结果
然而,对检索质量和数据库覆盖范围的依赖意味着其有效性可能会因高质量参考图像的可用性而有所不同。如果相关图像不存在于数据集中,模型可能仍然难以处理不熟悉的概念。
RealRAG 采用了一种非常模块化的架构,兼容多种其他生成架构,包括基于 U-Net、DiT 和自回归的模型。
总体而言,检索和处理外部图像会增加计算开销,系统的性能取决于检索机制在不同任务和数据集上的泛化能力。
四、总结
这是一篇关于图像检索多模态生成系统的代表性而非穷尽性概述。一些此类系统仅使用检索来改善视觉理解或数据集策划,而不是寻求生成图像,例如 Internet Explorer。
文献中还有许多其他基于 RAG 的项目尚未发布。只有发表研究论文的原型,例如 Re-Imagen,尽管它来自谷歌,但只能访问本地自定义数据库中的图像。
此外,2024 年 11 月,百度 宣布 了 基于图像检索的增强生成(iRAG),这是一个使用“数据库”检索图像的新平台。尽管据报道 iRAG 可在 Ernie 平台上使用,但关于检索过程的细节似乎很少,它似乎依赖于一个 本地数据库(即服务本地的,用户无法直接访问)。
此外,2024 年的论文 Unified Text-to-Image Generation and Retrieval 提供了另一种基于 RAG 的方法,使用外部图像在生成时增强结果——同样,这些图像来自 本地数据库,而不是来自 即时互联网来源。
围绕 RAG 增强图像生成的兴奋可能会集中在能够直接将互联网来源或用户上传的图像整合到生成过程中的系统上,并允许用户参与图像的选择或来源。
然而,这是一个重大挑战,原因至少有两个:首先,此类系统的有效性通常取决于在资源密集型训练过程中形成的深度整合关系;其次,如前所述的安全性、合法性以及版权限制等问题,使得这一功能不太可能成为 API 驱动的网络服务的特性,也不太可能在商业部署中实现。
原文地址:https://www.unite.ai/the-future-of-rag-augmented-image-generation/
相关文章:
探索在生成扩散模型中基于RAG增强生成的实现与未来
概述 像 Stable Diffusion、Flux 这样的生成扩散模型,以及 Hunyuan 等视频模型,都依赖于在单一、资源密集型的训练过程中通过固定数据集获取的知识。任何在训练之后引入的概念——被称为 知识截止——除非通过 微调 或外部适应技术(如 低秩适…...
【Linux】37.网络版本计算器
文章目录 1. Log.hpp-日志记录器2. Daemon.hpp-守护进程工具3. Protocol.hpp-通信协议解析器4. ServerCal.hpp-计算器服务处理器5. Socket.hpp-Socket通信封装类6. TcpServer.hpp-TCP服务器框架7. ClientCal.cc-计算器客户端8. ServerCal.cc-计算器服务器9. 代码时序1. 服务器启…...
3.6c语言
#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <stdio.h> int main() {int sum 0,i,j;for (j 1; j < 1000; j){sum 0;for (i 1; i < j; i){if (j % i 0){sum i;} }if (sum j){printf("%d是完数\n", j);}}return 0; }#de…...
【 IEEE出版 | 快速稳定EI检索 | 往届已EI检索】2025年储能及能源转换国际学术会议(ESEC 2025)
重要信息 主会官网:www.net-lc.net 【论文【】投稿】 会议时间:2025年5月9-11日 会议地点:中国-杭州 截稿时间:见官网 提交检索:IEEE Xplore, EI Compendex, Scopus 主会NET-LC 2025已进入IEEE 会议官方列表!&am…...
JVM常用概念之本地内存跟踪
问题 Java应用启动或者运行过程中报“内存不足!”,我们该怎么办? 基础知识 对于一个在本地机器运行的JVM应用而言,需要足够的内存来存储机器代码、堆元数据、类元数据、内存分析等数据结构,来保证JVM应用的成功启动以及未来平…...
JVM 的主要组成部分及其作用?
创作内容丰富的干货文章很费心力,感谢点过此文章的读者,点一个关注鼓励一下作者,激励他分享更多的精彩好文,谢谢大家! JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(执…...
从能耗监测到碳资产管理:智慧校园能源管理平台的迭代升级与实践启示
一、核心价值提炼 随着我国能源结构转型的持续优化和“双碳”目标的明确,构建现代化能源体系已成为国家发展的重要战略。在这一背景下,校园作为能源消耗的重要领域,其能源管理的智能化、绿色化转型显得尤为重要。本文将深入探讨校园智慧能源…...
数据库核心-redo、undo
一、redo日志 InnoDB操作以页为单位操作数据。并且首先操作内存中缓冲池的数据,然后刷新到disk中,但如果事务提交后宕机、未能刷新到disk中,就会造成不一致情况。 重做日志: 系统重启时按照修改步骤重新更新数据页 redo日志占用…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_core_module
定义在 src\core\nginx.c ngx_module_t ngx_core_module {NGX_MODULE_V1,&ngx_core_module_ctx, /* module context */ngx_core_commands, /* module directives */NGX_CORE_MODULE, /* module type */NULL…...
SQLAlchemy系列教程:如何执行原生SQL
Python中的数据库交互提供了高级API。但是,有时您可能需要执行原始SQL以提高效率或利用数据库特定的特性。本指南介绍在SQLAlchemy框架内执行原始SQL。 在SQLAlchemy中执行原生SQL SQLAlchemy虽然以其对象-关系映射(ORM)功能而闻名ÿ…...
怎么实现: 大语言模型微调案例
怎么实现: 大语言模型微调案例 目录 怎么实现: 大语言模型微调案例输入一个反常识的问题:首都在北京天安门之后对输出模型进行测试:首都在北京天安门微调代码:测试微调模型代码:微调输出模型结构输出模型参数大小对比Qwen 2.5_0.5:53MB输出模型:951MB 是一样的,没有进行…...
【Linux内核系列】:深入理解缓冲区
🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz ★★★ 本文前置知识: 文件系统以及相关系统调用接口 输入以及输出重定向 那么在此前的学习中,我们了解了文件的概念以及相关的系统调用接口,并…...
【Qt】成员函数指针
一、成员函数指针的本质 与普通函数指针的区别: // 普通函数指针 void (*funcPtr)() &普通函数;// 成员函数指针 void (MyClass::*memberFuncPtr)() &MyClass::成员函数;• 绑定对象:成员函数指针必须与类的实例对象结合使用 • 隐含 this 指…...
关于 Can Utils 的详细介绍、使用方法及配置指南
Can Utils:开源CAN总线工具集合 一、Can Utils简介 Can Utils 是一组开源的CAN总线工具链,专为嵌入式开发者和网络诊断工程师设计,支持Linux、Windows和macOS系统。它包含一系列轻量级命令行工具(如 cantoolz、candump、canbus …...
【Academy】OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities
OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities 1. 什么是 OAuth?2. OAuth 2.0 是如何工作的?3. OAuth 授权类型3.1 OAuth 范围3.2 授权代码授权类型3.3 隐式授权类型 4. OAuth 身份验证4.1 识别 OAuth 身份验证4.2 侦察OAuth…...
dify中使用NL2SQL
在 Dify 工作流中融入 NL2SQL(自然语言转 SQL)之能力,可依循如下步骤达成,借由 Dify 的模块化设计以及模型编排之功能,优化数据库查询之智能化交互: 一、环境准备与 Dify 部署 安装 Docker 与 Dify 务须确…...
android viewmodel如何使用
嗯,我现在要学习如何在Android中使用ViewModel。我之前听说过ViewModel是用来管理UI相关数据的,这样在配置变化比如屏幕旋转时数据不会丢失。但具体怎么用呢?我需要先回忆一下相关的知识。 首先,ViewModel应该是Android Architec…...
蓝桥杯备赛-基础训练(四)字符串 day17
好久不见,今天开始继续更新,或许拿不了奖,但是希望记录自己学习的过程,如果感觉有收获的同学在下面多多评论说说我代码的缺陷,感谢大家! 1、反转字符串 编写一个函数,其作用是将输入的字符串反…...
AI Agent开发框架分析:前端视角
1. Mastra (https://mastra.ai/docs) 优点: 提供直观的界面构建器,适合无代码/低代码开发支持JavaScript/TypeScript,可直接集成到前端项目可视化工作流设计,降低入门门槛内置多种UI组件,加速前端开发 缺点…...
第3节:IP地址分类与子网划分实战指南
IP地址分类与子网划分实战指南:从小白到入门 在网络通信中,IP地址是设备之间相互识别和通信的基础。无论是家庭网络还是企业网络,IP地址的分配和管理都是网络运维的核心任务之一。然而,对于初学者来说,IP地址的分类、子网掩码、CIDR(无类别域间路由)和VLSM(可变长子网…...
贪心算法三
> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么是贪心算法,并且掌握贪心算法。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! >…...
pytest基础知识
pytest知识了解 pytest的基础知识了解:Python测试框架之pytest详解_lovedingd的博客-CSDN博客_pytest框架 (包含设置断点,pdb,获取最慢的10个用例的执行耗时) pytest-pytest.main()运行测试用例,pytest参数: pytest-…...
JavaWeb后端基础(7)AOP
AOP是Spring框架的核心之一,那什么是AOP?AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。AOP是一种思想,而在Spring框…...
[AI]从零开始的ComflyUI安装教程
一、前言 AI画图如今已经进化到了让人难以想象的地步。早在2022年各大视频网站上就出现了许多真人使用AI绘制二次元形象的视频。在那个时期,也有人凭借AI画图狠狠的吃到了一波AI红利。在现在,对于普通人来说,AI画图仍然是非常值得探索的。不管…...
文本对抗样本系列的论文阅读笔记(整理合订)
文本对抗样本系列的论文阅读笔记 以前调研文本对抗样本时的论文笔记梳理,论文都很经典,有现成的框架(TextAttack)可以直接用,论文中部分内容直接是截取自论文,所以存在中英混合笔记的情况。 BERT-Attack …...
鸿基智启:东土科技为具身智能时代构建确定性底座
人类文明的每一次跨越都伴随着工具的革新。从蒸汽机的齿轮到计算机的代码,生产力的进化始终与技术的“具身化”紧密相连。当大语言模型掀起认知革命,具身智能正以“物理实体自主决策”的双重属性重新定义工业、医疗、服务等领域的运行逻辑。在这场革命中…...
javascript-es6 (六)
编程思想 面向过程 面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次 调用就可以了 就是按照我们分析好了的步骤,按照步骤解决问题 面向对象 面向对象 是把事务分解成为一个个对象&am…...
【leetcode hot 100 19】删除链表的第N个节点
解法一:将ListNode放入ArrayList中,要删除的元素为num list.size()-n。如果num 0则将头节点删除;否则利用num-1个元素的next删除第num个元素。 /*** Definition for singly-linked list.* public class ListNode {* int val;* Lis…...
微信小程序将markdown内容转为pdf并下载
要在微信小程序中将Markdown内容转换为PDF并下载,您可以使用以下方法: 方法一:使用第三方API服务 选择第三方API服务: 可以选择像 Pandoc、Markdown-PDF 或 PDFShift 这样的服务,将Markdown转换为PDF。例如,PDFShift 提供了一个API接口,可以将Markdown内容转换为PDF格式…...
【贪心算法】将数组和减半的最小操作数
1.题目解析 2208. 将数组和减半的最少操作次数 - 力扣(LeetCode) 2.讲解算法原理 使用当前数组中最大的数将它减半,,直到数组和减小到一半为止,从而快速达到目的 重点是找到最大数,可以采用大根堆快速达到…...
【面试】Kafka
Kafka 1、为什么要使用 kafka2、Kafka 的架构是怎么样的3、什么是 Kafka 的重平衡机制4、Kafka 几种选举过程5、Kafka 高水位了解过吗6、Kafka 如何保证消息不丢失7、Kafka 如何保证消息不重复消费8、Kafka 为什么这么快 1、为什么要使用 kafka 1. 解耦:在一个复杂…...
PHP MySQL 创建数据库
PHP MySQL 创建数据库 引言 在网站开发中,数据库是存储和管理数据的核心部分。PHP 和 MySQL 是最常用的网页开发语言和数据库管理系统之一。本文将详细介绍如何在 PHP 中使用 MySQL 创建数据库,并对其操作进行详细讲解。 前提条件 在开始创建数据库之…...
通义万相 2.1 × 蓝耘智算:AIGC 界的「黄金搭档」如何重塑创作未来?
我的个人主页 我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤ 引言 在当今数字化浪潮席卷的时代,AIGC(生成式人工智能)领域正…...
【面试题系列】:使用消息队列怎么防止消息重复?从原理到实战……
一、消息队列的核心价值与挑战 消息队列(MQ)作为现代分布式系统的基础设施,其核心价值在于解耦、削峰填谷和异步通信。但在追求高可靠性的过程中,消息重复成为必须攻克的技术难题。根据调研数据,在生产环境中消息重复…...
Damage与Injury
### “Damage”和“Injury”的区别 “Damage”和“Injury”都有“损害”或“伤害”的意思,但它们的用法、语境和侧重点有所不同。以下是从词性、适用对象、语义侧重和具体场景四个方面详细对比两者的区别: --- #### 1. **词性** - **Damage**…...
18 HarmonyOS NEXT UVList组件开发指南(五)
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 第五篇:UVList组件最佳实践与实际应用案例 文章目录 第五篇:UVList组件最佳实践与实际应用案例1. 最佳实践总结1.1 组件设计…...
vue3组合式API怎么获取全局变量globalProperties
设置全局变量 main.ts app.config.globalProperties.$category { index: 0 } 获取全局变量 const { appContext } getCurrentInstance() as ComponentInternalInstance console.log(appContext.config.globalProperties.$category) 或是 const { proxy } getCurrentInstance…...
华为机试牛客刷题之HJ14 字符串排序
HJ14 字符串排序 描述 对于给定的由大小写字母混合构成的 n 个单词,输出按字典序从小到大排序后的结果。 从字符串的第一个字符开始逐个比较,直到找到第一个不同的位置,通过比较这个位置字符对应的(A<⋯<Z<a<⋯<…...
CPU 负载 和 CPU利用率 的区别
简单记录下 top 命令中,CPU利用率核CPU负载的概念, (1)CPU利用率:指在一段时间内 表示 CPU 实际工作时间占总时间的百分比。表示正在执行进程的时间比例,包括用户空间和内核空间程序的执行时间。通常包含以…...
SSM框架
SSM 框架是 Java Web 开发中广泛使用的经典组合,由 Spring、Spring MVC 和 MyBatis 三个开源框架整合而成,适用于构建中大型企业级应用。 1. SSM框架组成 框架作用核心特性Spring管理业务层(Service)和持久层(DAO&am…...
maven无法解析插件 org.apache.maven.plugins:maven-jar-plugin:3.4.1
解决流程 1.修改maven仓库库地址 2.删除本地的maven仓库 maven插件一直加载有问题: 无法解析插件 org.apache.maven.plugins:maven-jar-plugin:3.4.1 开始以为maven版本有问题,重装了maven,重装了idea工具。结果问题还是没解决。研究之后发现…...
如何修复“RPC 服务器不可用”错误
远程过程调用(Remote Procedure Call, RPC)是允许客户端在不同计算机上执行进程的众多可用网络进程之一。本文将深入探讨RPC如何在不同的软件系统之间实现无缝消息交换,同时重点介绍与RPC相关的常见错误的一些原因。 什么是远程过…...
晋升系列4:学习方法
每一个成功的人,都是从底层开始打怪,不断的总结经验,一步一步打上来的。在这个过程中需要坚持、总结方法论。 对一件事情长久坚持的人其实比较少,在坚持的人中,不断的总结优化的更少,所以最终达到高级别的…...
单链表-代码精简版
单链表核心知识详解 单链表是一种动态存储的线性数据结构,其特点是逻辑上连续,物理上非连续,每个节点包含数据域和指向下一个节点的指针域。以下是核心知识点与完整实现代码: 一、单链表的结构定义 单链表节点通过结构体自引用…...
关于前后端整合和打包成exe文件的个人的总结和思考
前言 感觉有很多东西,不知道写什么,随便写点吧。 正文 前后端合并 就不说怎么开发的,就说点个人感觉重要的东西。 前端用ReactViteaxios随便写一个demo,用于CRUD。 后端用Django REST Framework。 设置前端打包 import { …...
基于muduo+mysql+jsoncpp的简易HTTPWebServer
一、项目介绍 本项目基于C语言、陈硕老师的muduo网络库、mysql数据库以及jsoncpp,服务器监听两个端口,一个端口用于处理http请求,另一个端口用于处理发送来的json数据。 此项目在实现时,识别出车牌后打包为json数据发送给后端服务…...
Java/Kotlin逆向基础与Smali语法精解
1. 法律警示与道德边界 1.1 司法判例深度剖析 案例一:2021年某游戏外挂团伙刑事案 犯罪手法:逆向《王者荣耀》通信协议,修改战斗数据包 技术细节:Hook libil2cpp.so的SendPacket函数 量刑依据:非法经营罪ÿ…...
C++:入门详解(关于C与C++基本差别)
目录 一.C的第一个程序 二.命名空间(namespace) 1.命名空间的定义与使用: (1)命名空间里可以定义变量,函数,结构体等多种类型 (2)命名空间调用(…...
CI/CD—GitLab钩子触发Jenkins自动构建项目
GitLab钩子简介: 项目钩子 项目钩子是针对单个项目的钩子,会在项目级别的特定事件发生时触发。这些事件包括代码推送、合并请求创建、问题创建等。项目钩子由项目管理员或具有相应权限的用户进行配置,仅对特定项目生效。 使用场景:…...
RPA 职业前景:个人职场发展的 “新机遇”
1. RPA职业定义与范畴 1.1 RPA核心概念 机器人流程自动化(RPA)是一种通过软件机器人模拟人类操作,自动执行重复性、规则性任务的技术。RPA的核心在于其能够高效、准确地处理大量数据和流程,减少人工干预,从而提高工作…...