人人都是音乐家?腾讯开源音乐生成大模型SongGeneration
目录
前言
一、SongGeneration 带来了什么?
1.1 文本控制与风格跟随:你的想法,AI 精准实现
1.2 多轨生成:从“成品”到“半成品”的巨大飞跃
1.3 开源:推倒“高墙”,共建生态
二、3B 参数如何媲美商业模型?
2.1 超级压缩机(低比特率音乐编解码器)
2.2 “混合优先”的并行预测
2.3 “品味对齐”训练”
三、评测数据说了什么?
四、AI 音乐将如何改变我们的世界?
结语
🎬 攻城狮7号:个人主页
🔥 个人专栏:《AI前沿技术要闻》
⛺️ 君子慎独!
🌈 大家好,欢迎来访我的博客!
⛳️ 此篇文章主要介绍 音乐生成大模型SongGeneration
📚 本期文章收录在《AI前沿技术要闻》,大家有兴趣可以自行查看!
⛺️ 欢迎各位 ✔️ 点赞 👍 收藏 ⭐留言 📝!
前言
2025年的夏天,AI 领域的热风终于猛烈地吹向了音乐产业。
以 Suno 为代表的 AI 音乐生成应用火爆出圈,用户只需输入一句简单的文本,就能在几十秒内生成一首“听起来还不错”的歌曲。这让无数普通人第一次体验到了“开口即歌”的创作快感。然而,在一片惊叹与尝鲜的热潮之下,冷静的观察者和专业的音乐人心中仍有疑虑:AI 生成的音乐,究竟是稍纵即逝的“高级玩具”,还是能够真正改变产业的“生产力工具”?
当前的 AI 音乐普遍面临着三大难题:音质听起来“有点糊”,像蒙了一层纱;音乐性上旋律走向平淡,缺乏惊喜,或者人声和伴奏貌美神离;生成速度和可控性难以兼得。更关键的是,Suno 这类商业模型技术细节不透明,像一个“黑箱”,让深度定制和二次开发成为奢望。
就在这个微妙的节点,6月16日腾讯 AI Lab 投下了一颗重磅炸弹——正式开源了其音乐生成大模型 SongGeneration。
它不仅仅是又一个“Suno”的追随者,更像是一个宣言。通过开源,腾讯似乎在说:AI 音乐的核心技术不应被锁在“黑箱”里,它应该成为一个开放、可演进的生态基础,让所有人都能参与构建,并最终成为创作者手中真正可信、可用的强大工具。
接下来我们来看看它究竟解决了哪些真问题,背后藏着怎样的“黑科技”,以及它的出现,对于内容创acts者、游戏开发者乃至我们每一个热爱音乐的人,到底意味着什么。
一、SongGeneration 带来了什么?
在功能层面,SongGeneration 没有追求华而不实的概念,而是精准地瞄准了当前 AI 音乐的核心痛点,提供了三大实用且强大的功能:
1.1 文本控制与风格跟随:你的想法,AI 精准实现
这是最基础也最神奇的功能。你只需用文字描述想要的音乐,比如“一首激烈的摇滚乐,关于夏日和自由”,或者“一段宁静的中国风纯音乐,适合冥想”,SongGeneration 就能生成一首高质量的完整作品。
但它更进一步,推出了“风格跟随”功能。想象一下,你听到一首特别喜欢的歌曲,惊叹于它的编曲和氛围。现在,你不再需要用贫乏的语言去向 AI 描述这种感觉,只需截取这首歌的 10 秒片段上传,SongGeneration 就能“心领神会”,自动生成一首在风格、节奏和整体感觉上都高度一致的全新乐曲。这极大降低了沟通成本,让 AI 的创作方向变得精准可控。
1.2 多轨生成:从“成品”到“半成品”的巨大飞跃
这是 SongGeneration 与许多闭源模型拉开差距的关键一步。传统的 AI 音乐生成后,你得到的是一个混合在一起的音频文件(如 MP3),就像一个烤好的蛋糕,无法再对里面的“面粉”和“奶油”进行修改。
而 SongGeneration 能够自动生成分离的人声(Vocal)和伴奏(Accompaniment)轨道。这意味着你得到的不再是固定的“成品”,而是一套可供二次创作的“工程文件”。你可以单独调整人声的音量,替换伴奏中的某个乐器,或者用自己的人声去演唱 AI 生成的伴奏。这种专业级的输出,让 AI 真正从“玩具”向“生产工具”迈进,为音乐人、混音师提供了极大的便利。
1.3 开源:推倒“高墙”,共建生态
如果说以上功能是能力的体现,那么开源则是格局的彰显。腾讯将 SongGeneration 的模型权重、训练代码和推理方案全部公开。这意味着:
(1)对于开发者:可以基于 SongGeneration 进行二次开发,针对特定场景(如游戏配乐、广告音乐)进行微调,创造出更具特色的专属模型。
(2)对于企业:可以将其私有化部署,不必担心数据隐私和高昂的 API 调用费用。
(3)对于社区:全球的智慧都可以涌入,共同改进这个模型,加速技术的迭代。
开源,让 SongGeneration 不再仅仅是腾讯的“作品”,而是一个开放的“平台”,有望像 Stable Diffusion 在 AI 绘画领域一样,催生出一个繁荣的 AI 音乐创作生态。
二、3B 参数如何媲美商业模型?
SongGeneration 的模型总参数量仅为 3B(30亿)左右,这在动辄千亿参数的大模型时代显得尤为“娇小”。但它却能在效果上媲美甚至超越一些商业闭源模型,这背后是一系列精妙的技术创新。我们可以用通俗的方式理解其核心思想:
SongGeneration 训练架构
2.1 超级压缩机(低比特率音乐编解码器)
要让 AI 理解并创作音乐,首先要把它能“听懂”的数字格式。一首 48kHz 双通道的高品质歌曲,数据量极其庞大。如果直接让 AI 去学习和预测如此冗长的序列,它很容易“记不住前面忘了后面”,导致结构混乱、细节丢失。
SongGeneration 的团队为此打造了一个业内领先的“超级压缩机”——Music Codec。它能以极低的码率(25Hz)将复杂的音乐压缩成非常精炼的离散“乐谱”(Token),同时在解压还原时又能保持极高的保真度。
这就像我们读书。比起阅读一本流水账式的万字长文,我们更愿意去看一篇逻辑清晰、提纲挈领的千字纲要。这个“超级压缩机”做的就是为 AI 准备“纲要”的工作,极大地降低了 AI 模型的学习负担,让它能更专注于旋律、结构等高层级的音乐性构建,这是生成高质量音乐的基石。
2.2 “混合优先”的并行预测
音乐中,人声和伴奏的关系密不可分,它们需要相互配合、彼此成就。以往的 AI 模型在处理时,往往采用“交错预测”的笨办法——先预测一小段人声,再预测一小段伴奏,像个新手一样手忙脚乱,结果常常是人声和伴奏听起来“各玩各的”,非常不和谐。
SongGeneration 首创了“混合优先,双轨其次”的并行预测策略。我们可以把它想象成一个高明的音乐制作人。
(1)第一步(混合优先):它首先会构思一个包含人声和伴奏的“混合DEMO”,在这个阶段,它主要思考的是整首歌的旋律走向、节奏节拍、情感基调,确保人声和乐器在“大方向”上是和谐统一的。
(2)第二步(双轨其次):在这个和谐的框架下,它再通过一个扩展的解码器,去并行地“精雕细琢”人声和伴奏各自的细节。
这种策略,既保证了整体的和谐性,又提升了轨道的独立质量,还避免了序列长度翻倍,一举多得。
2.3 “品味对齐”训练”
开源模型主观评测结果
仅仅让 AI 学会音乐的“语法”是不够的,还要教它懂得人类的“品味”。由于音乐版权的限制,高质量、标注清晰的训练数据非常稀缺,这是所有音乐大模型共同的难题。
SongGeneration 创新地采用了“多维度人类偏好对齐”的训练方法。简单来说,它构建了一个低成本的“品味数据库”。
(1)音乐性偏好:通过少量人工评分,训练一个“奖励模型”,让它学会分辨什么是更动听、更有趣的音乐。
(2)歌词对齐偏好:用现成的语音识别(ASR)模型去检查歌词和演唱的匹配度,歌词唱错了、唱漏了就“扣分”。
(3)提示一致性偏好:用模型去计算生成的音乐和用户输入的文本/参考音频的相似度,越相似则“加分”。
基于这些“好”与“坏”的偏好数据对,SongGeneration 使用直接偏好优化(DPO)算法进行微调,就像一位严格的音乐老师,不断纠正 AI 的“品味”,引导它朝着“人类觉得好听、唱得准、听指挥”的方向进化。
三、评测数据说了什么?
腾讯联合了中国传媒大学的专业团队,对 SongGeneration 和市面上主流的商业、开源模型进行了一场“蒙眼”大考。结果颇为亮眼:
(1)开源模型中,全面领先:无论是在客观的技术指标(如制作质量、内容欣赏度),还是在主观的人工评测(如旋律、伴奏、结构、音质)中,SongGeneration 都稳居第一。
开源模型主观评测结果
(2)挑战商业模型,不落下风:在最关键的“歌词准确度”上,它甚至超越了包括 Suno 在内的所有对手。在旋律、音质和整体表现上,也与 Suno 最新发布的 V4.5 版本达到了“难分高下”的水平。
商业模型主观评测结果
这组数据清晰地表明,SongGeneration 并非“PPT选手”,而是具备了与顶尖商业模型掰手腕实力的硬核玩家,尤其是在开源领域,它树立了一个新的标杆。
四、AI 音乐将如何改变我们的世界?
SongGeneration 的出现和开源,预示着 AI 音乐即将从“尝鲜”阶段迈向“普及”阶段。它将像一把钥匙,为不同领域的创作者打开新世界的大门。
(1)短视频与内容创作者:他们将彻底告别“配乐焦虑”。不再需要在有限的音乐库里苦苦寻觅,也无需担心版权风险。根据视频内容,一键生成专属、原创、风格匹配的 BGM 将成为标配,极大地提升内容创作的效率和独特性。
(2)游戏开发者:游戏中的音乐将变得“有生命”。想象一下,在开放世界游戏中,背景音乐可以根据一天的时间、天气变化、玩家所处的区域(森林、城市、战场)而实时、无缝地变化。战斗 BGM 甚至可以根据战况的激烈程度动态调整,为玩家提供前所未有的沉浸感。
(3)音乐人与爱好者:AI 不会取代音乐人,但会成为他们最强大的“灵感催化剂”和“创作副驾”。当灵感枯竭时,可以用 AI 生成一些动机和片段来打破僵局;可以快速将脑中的一段旋律扩展成完整的编曲;也可以让 AI 为自己的词作谱上不同风格的曲子。
(4)虚拟娱乐:虚拟偶像、虚拟主播将拥有“无限的曲库”。他们可以实时根据与粉丝的互动,生成并演唱全新的歌曲,实现真正意义上的“个性化”和“高频”的内容输出。
结语
SongGeneration 的发布,是 AI 音乐发展道路上的一个重要里程碑。它用强大的技术实力证明了,轻量化的开源模型同样可以实现顶级的生成效果;它用开放的姿态,打破了技术壁垒,邀请全球开发者共同塑造音乐的未来。
AI 音乐的浪潮,正以超乎想象的速度向我们涌来。它或许无法立刻创作出媲美巴赫、贝多芬的传世经典,但它正在将音乐创作的权柄,从少数专业人士手中,逐步交还给每一个心中有旋律的普通人。
一个新的“大航海时代”已经开启,而 SongGeneration,正是其中的一艘关键的“开源方舟”。
看到这里了还不给博主点一个:
⛳️ 点赞
☀️收藏
⭐️ 关注
!
💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
再次感谢大家的支持!
你们的点赞就是博主更新最大的动力!
相关文章:
人人都是音乐家?腾讯开源音乐生成大模型SongGeneration
目录 前言 一、SongGeneration 带来了什么? 1.1 文本控制与风格跟随:你的想法,AI 精准实现 1.2 多轨生成:从“成品”到“半成品”的巨大飞跃 1.3 开源:推倒“高墙”,共建生态 二、3B 参数如何媲美商业…...
一,python语法教程.内置API
一,字符串相关API string.strip([chars])方法:移除字符串开头和结尾的空白字符(如空格、制表符、换行符等),它不会修改原始字符串,而是返回一个新的处理后的字符串 chars(可选)&…...
python中学物理实验模拟:凸透镜成像和凹透镜成像
python中学物理实验模拟:凸透镜成像和凹透镜成像 凸透镜成像 凸透镜是指中间厚、边缘薄的透镜。它对光线有会聚作用,即光线通过凸透镜后会向主光轴方向偏折。 成像原理 基于光的折射,平行于主光轴的光线经凸透镜折射后会聚于焦点ÿ…...
【AGI】突破感知-决策边界:VLA-具身智能2.0
突破感知-决策边界:VLA-具身智能2.0 (一)技术架构核心(二)OpenVLA:开源先锋与性能标杆(三)应用场景:从实验室走向真实世界(四)挑战与未来方向&…...
2D曲线点云平滑去噪
2D曲线点云,含许多噪声,采用类似移动最小二乘的方法(MLS)分段拟合抛物线并投影至抛物线,进行点云平滑去噪。 更通俗的说法是让有一定宽度的曲线点云,变成一条细曲线上的点。 分两种情况进行讨论: 1&#…...
靶场(二十一)---小白心得靶场体会---DVR4
先看端口,看到了一个dvr的服务,老规矩只要有服务就先去看看 PORT STATE SERVICE VERSION 22/tcp open ssh Bitvise WinSSHD 8.48 (FlowSsh 8.48; protocol 2.0; non-commercial use) | ssh-hostkey: | 3072 21:25:f0:53:b4…...
Qt + C++ 入门2(界面的知识点)
补充前面没有说到的一点就是,qt的页面你可以用qt自带的也就是前面所说的自动生成.UI文件生成前端所谓的界面,然后往里面拖控件就可以了,这个UI界面非常的适合用于新手,以及某些软件少量的界面应用 。但是有一个难点就是后期这个UI…...
计算机网络第九章——数据链路层《流量控制和可靠传输》
一、回顾概念 前面上一章讲了数据链路层的《差错控制》,那么回顾一下差错控制和可靠传输的区别: 差错控制:发现一个帧里的【位错(比特错)】 检错(奇偶校验码、CRC循环冗余校验码):接…...
Zephyr 调试实用指南:日志系统、Shell CLI 与 GDB 全面解析
本文深入讲解 Zephyr 的调试利器,包括统一日志系统(logging subsystem)、内置命令行(Shell CLI)、与 GDB 调试集成方法,帮助开发者快速定位问题、分析运行时行为,实现高效开发与排障。 一、日志…...
【知识图谱提取】【阶段总结】【LLM4KGC】LLM4KGC项目提取知识图谱推理部分
文章目录 前言LLM4KGC的三个部分显卡使用效果前言 之前在学习基于大模型的知识图谱提取,就找到了LLM4KGC这个项目: 项目地址: https://github.com/ChristopheCruz/LLM4KGC/ 总体来说,这个项目没有什么比较高深的idea,年份也比较古老,但确实挺适合入手的。主要是绝对简…...
基于YOLO的智能车辆检测与记录系统
基于YOLO的智能车辆检测与记录系统 摘要 本报告总结了智能车辆检测系统的开发工作,主要包括车辆数据标注、YOLO模型训练及QT交互系统搭建三部分。通过使用专业标注工具完成车辆目标数据集的标注与预处理,基于YOLO模型构建车辆检测算法并优化训练流程&a…...
5.2 Qt Creator 使用FFmpeg库
一、目录结构 ├─3rdparty # 第三方依赖库 │ └─ffmpeg-4.4.3 # ffmpeg库 │ ├─mingw # 用MinGW64编译的库 │ │ ├─bin │ │ ├─include │ │ └─lib │ └─msvc # 用MSVC编译的库 │ ├─bin │ …...
C++基础练习 sort函数,用于排序函数
题目: https://acm.hdu.edu.cn/showproblem.php?pid2039 解答: #include <iostream> #include <cmath> #include <algorithm> using namespace std;double a[3]; int main(){int n;cin>>n;while(n--){cin>>a[0]>>…...
【Docker 08】Compose - 容器编排
🌈 一、Docker Compose 介绍 ⭐ 1. Docker Compose 是什么 Docker Compose 是由 Docker 官方提供的一个用于定义和运行多容器应用的工具,它让用户可以通过一个 YAML 文件(通常是 docker-compose.yml)来配置应用所需要的服务&…...
docker执行yum报错Could not resolve host: mirrorlist.centos.org
解决办法: -- 依次执行以下命令cd /etc/yum.repos.d/sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-*sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-*yum update -yecho "export LC_ALL…...
信贷域——信贷授信业务
摘要 本文详细介绍了信贷授信业务,包括其核心目标、典型流程、不同机构授信流程的对比、授信业务的其他类型以及授信模块的技术实现。信贷授信是金融机构在放贷前对客户信用额度的评估与审批流程,旨在控制风险、合理设定额度和期限、确保合规࿰…...
python的校园兼职系统
目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中…...
深度剖析 PACK_SESSIONID 实现原理与安全突破机制
🌐 深度剖析 PACK_SESSIONID 实现原理与安全突破机制 🖼️ 1. 完整数据处理流程 #mermaid-svg-TW7jVIcz81hCZVS9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TW7jVIcz81hCZVS9 .error-ico…...
从0开始学习计算机视觉--Day02--数据驱动
上次我们在课程里了解到,亚马逊网站在当时构建了一个在那时候最大的供AI训练的数据集,为了推广这个测试,他们举办了比赛邀请了许多的参赛者,识别图片的标准是输出的类别中只要在前面五个里包含了正确答案就算识别成功。在这个过程…...
【LeetCode#第198题】打家劫舍(一维dp)
198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入&#…...
stm32串口(uart)2转发到串口(uart)3实现
今天博主在用kelil5写stm32的程序时遇到了一个全局变量因为在中断和任务切换时没有加 volatile 修饰,导致任务检测不到标志位变化,无法实现效果的问题。 全部代码: /* USER CODE BEGIN Header */ /***************************************…...
数据结构——函数填空题
链队出队入队 入队:新指针p赋给队尾的下一个,再赋给队尾 出队:队首指针赋给p,后移 p的下一个赋给队首指向的下一个 若队尾p,则证明首尾相连为1个 字符串匹配算法 二叉树 统计二叉树度为1的节点 树T为空࿰…...
什么是跨域问题?后端如何解决跨域问题?
跨域问题是指浏览器为了安全,对不同域(包含不同协议、不同端口或不同主机名)的请求进行限制,从而导致请求无法正常访问后端接口。 跨域问题的产生源于浏览器的同源策略(Same-Origin Policy),这…...
使用ccs生成bin
CCS12.6 编译生成BIN文件正确方法_ccs生成bin文件-CSDN博客...
Python 邻接表详细实现指南
邻接表是图数据结构的一种高效表示方法,特别适合表示稀疏图。下面我将用 Python 详细讲解邻接表的多种实现方式、操作方法和实际应用。 一、邻接表基础概念 邻接表的核心思想是为图中的每个顶点维护一个列表,存储与该顶点直接相连的所有邻接顶点。 邻…...
FVISION 未来视界工作室:AI驱动的创新与智能外包平台
大家好,今天给大家介绍一个非常有意思的AI创新平台——FVISION 未来视界工作室。如果你正在寻找高效、智能、前沿的数字化工具和服务,这里一定有你想要的答案! 🌟 平台简介 FVISION 未来视界工作室专注于AI驱动的创新应用开发&am…...
领域驱动设计(DDD)【3】之事件风暴
文章目录 说明一 事件风暴理论知识1.1 事件风暴的核心目标1.2事件风暴的关键步骤1.2.1 准备工作1.2.2 核心流程1.2.3 事件风暴的输出 1.3 事件风暴的优势1.4 常见问题Q1:事件风暴适合所有项目吗?Q2:事件风暴后如何落地?Q3…...
3.10 坐标导航
1.编写代码 新建文件nav_clienr.cpp编写代码 #include<ros/ros.h> #include<move_base_msgs/MoveBaseAction.h> #include<actionlib/client/simple_action_client.h>typedef actionlib::SimpleActionClient<move_base_msgs::MoveBaseAction> MoveBas…...
TensorFlow 安装与 GPU 驱动兼容(h800)
环境说明TensorFlow 安装与 GPU 驱动兼容CUDA/H800 特殊注意事项PyCharm 和终端环境变量设置方法测试 GPU 是否可用的 Python 脚本 # 使用 TensorFlow 2.13 在 NVIDIA H800 上启用 GPU 加速完整指南在使用 TensorFlow 进行深度学习训练时,充分利用 GPU 能力至关重要…...
WPF调试三种工具介绍:Live Visual Tree、Live Property Explorer与Snoop
WPF调试工具详解:Live Visual Tree、Live Property Explorer与Snoop 1. Live Visual Tree (实时可视化树) 简介 Live Visual Tree是Visual Studio内置的WPF调试工具,允许开发者在应用程序运行时检查可视化树结构,查看控件的层次关系及其状态。…...
用OBS Studio录制WAV音频,玩转语音克隆和文本转语音!
言简意赅的讲解OBS Studio解决的痛点 随着AI技术的快速发展,语音克隆与文本生成语音技术越来越受欢迎。无论你想要制作个人虚拟主播,还是给自媒体视频配音,拥有高质量的原始音频都是关键。本文详细教你使用免费且功能强大的软件——OBS Stud…...
5.3 VSCode使用FFmpeg库
一、VSCMake 1.1 使用ffmpeg动态库 项目目录结构: ./ ├── 3rdparty # 第三方依赖库 │ └── ffmpeg_4.4.1 │ ├── include # 头文件 │ ├── lib # 静态库库 │ └── share ├── build # 编译目…...
【Datawhale组队学习202506】零基础学爬虫 02 数据解析与提取
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言2.1 概述2.2 re 解析2.3 bs4 解析2.4 xpath 解析总结 前言 Datawhale是一个专注于…...
[muduo] ThreadPool | TcpClient | 异步任务 | 通信测试
第九章:线程池(ThreadPool) 在第八章《TcpServer》中,我们了解到muduo::net::TcpServer通过EventLoop线程池处理入站连接。 这些EventLoop线程主要负责网络I/O:套接字读写和定时器处理,由Poller和Channel…...
探索 Vue 替代方案
Vue vs React vs Angular 在快速迭代的前端世界,Vue、React和Angular三大框架的竞争从未停止。2025年的今天,它们各自进化出了怎样的面貌?让我们深入剖析它们的核心差异,助你做出明智的技术选型。 Vue.js 完整的基于组件的UI框…...
大模型的开发应用(十二):RAG 与 LlamaIndex基础
这里写目录标题 1 LlamaIndex 简要介绍1.1 核心价值1.2 核心组件1.3 核心流程1.4 为什么要用 LlamaIndex?1.5 典型应用场景1.6 与类似工具对比1.7 安装1.8 学习资源 2 文档解析与 Document 对象2.1 示例文件与代码2.2 Document 对象的核心特性2.3 在 RAG 工作流程中…...
Java面试题025:一文深入了解数据库Redis(1)
欢迎大家关注我的JAVA面试题专栏,该专栏会持续更新,从原理角度覆盖Java知识体系的方方面面。 一文吃透JAVA知识体系(面试题)https://blog.csdn.net/wuxinyan123/category_7521898.html?fromshareblogcolumn&sharetypeblogco…...
Web攻防-XSS跨站Cookie盗取数据包提交网络钓鱼BEEF项目XSS平台危害利用
知识点: 1、Web攻防-XSS跨站-手工代码&框架工具&在线平台 2、Web攻防-XSS跨站-Cookie盗取&数据提交&网络钓鱼 演示案例-WEB攻防-XSS跨站-Cookie盗取&数据提交&网络钓鱼&Beef工具 1、XSS跨站-攻击利用-凭据盗取 条件:无防…...
(LeetCode 面试经典 150 题) 169. 多数元素(哈希表 || 二分查找)
题目:169. 多数元素 方法一:二分法,最坏的时间复杂度0(nlogn),但平均0(n)即可。空间复杂度为0(1)。 C版本: int nnums.size();int l0,rn-1;while(l<r){int mid(lr)/2;int ans0;for(auto x:nums){if(xnums[mid]) a…...
71、单元测试-Junit5简介
71、单元测试-Junit5简介 # JUnit 5 简介 JUnit 5 是 Java 平台上最流行的单元测试框架之一,是 JUnit 的重大升级版本,引入了许多新特性和改进,旨在提供更现代化、灵活和强大的测试体验。 ## 主要组成部分 JUnit 5 由三个模块组成:…...
IEC61850 一致性测试中的 UCA 测试
一、IEC61850 与 UCA 的关系背景 标准演进:IEC61850 是电力系统自动化领域的国际通信标准,其发展与美国 UCA(User Communications Architecture)标准密切相关。2001 年,UCA 国际用户组织与 IEC 合作,将 UC…...
ProtoBuf:proto3 语法详解
🌈 个人主页:Zfox_ 🔥 系列专栏:ProtoBuf 在语法详解部分,依旧使⽤项⽬推进的⽅式完成讲解。这个部分会对通讯录进⾏多次升级,使⽤2.x表⽰升级的版本,最终将会升级如下内容: 不再打…...
博图SCL语言GOTO语句深度解析:精准跳转
在SCL编程中,**GOTO语句**是控制流程的底层工具,它允许程序无条件跳转到指定的**标签位置**。虽然现代编程中较少使用,但在特定工业场景下仍能发挥独特价值。 GOTO语句核心机制 基本语法结构 // 定义标签 <标签名>: // 跳转指令 GOTO…...
面试题-在ts中有两个类型,一个是a,一个是b,这两个联合起来就是c,如何实现联合
在 TypeScript 中,若要将两个类型 a 和 b 联合成一个新类型 c,可以使用 联合类型(Union Type) 或 交叉类型(Intersection Type),具体取决于你的需求: 一、联合类型(Unio…...
Mac电脑-触摸板增强工具-BetterTouchTool
BetterTouchTool mac 触摸板增强工具,允许用户使用各种手势来控制其计算机。 Bettertouchtool mac是一个小而高效的macOS应用程序,旨在帮助您为手势定义快捷方式。 此外,Bettertouchtool可用于使用常规鼠标和键盘快捷键,并提供伴…...
MySQL误删数据急救指南:基于Binlog日志的实战恢复详解
背景 数据误删是一个比较严重的场景 1.典型误操作场景 场景1:DELETE FROM orders WHERE status0 → 漏写AND create_time>‘2025-06-20’ 场景2:DROP TABLE customer → 误执行于生产环境 认识 binlog 1.binlog 的核心作用 记录所有 DDL/DML 操…...
API网关Apisix管理接口速查
🧭 管理接口总体分类(基于 REST API) 资源类别接口路径前缀功能说明路由(Routes)/apisix/admin/routes/{id}定义 HTTP 请求的匹配规则及转发目标服务(Services)/apisix/admin/services/{id}封装…...
React 组件通信
父传子 函数式组件 function Footer(props){const [count,setCount] useState(0)const {name,age} propsconst onClick ()>{setCount(count1)}return (<div><button onClick{()>{onClick()}}>点此1</button><div>{count}</div><di…...
Zephyr 电源管理机制深度解析:从 Tickless Idle 到平台 Suspend 实践
本文系统解析 Zephyr 的电源管理机制,包括 Tickless Idle 模式、系统 suspend/resume 生命周期管理、平台级功耗优化 Hook、自定义设备电源域,以及如何结合低功耗 SoC 实现最小化功耗设计。全文超过 5000 字,适合构建对功耗敏感的 IoT、BLE、…...
clickhouse-server连不上clickhouse-keeper的问题记录
背景 想简单部署一个1 shard 2 replica,1keeper的集群。 有两个虚拟机:192.168.1.3,192.168.1.6。 192.168.1.3:部署1个ck,1个keeper 192.168.1.6:部署1个ck 192.168.1.3和192.168.1.6的ck组成1个shar…...