当前位置: 首页 > news >正文

Git代码管理

这里写目录标题

    • 分支管理策略
      • TrunkBased
        • 🌱 核心理念
        • ✅优点
        • ❌缺点
        • 适用场景
      • GitFlow
        • ✅ GitFlow 的优点
        • ❌ GitFlow 的缺点
        • 适用场景
      • AOneFlow
        • ✅ AOneFlow 的优点
        • ❌缺点
        • 适用场景
    • 如何选择分支策略?
    • 代码提交规范
      • 🌱分支管理
      • 🔄代码更新
      • ⚔️ 冲突合并
        • 检测和解决冲突:
        • 确认解决冲突后提交:
      • 🏷️提交信息格式化
      • 代码审查
    • 持续集成部署、发布

分支管理策略

TrunkBased

Trunk-Based Development(简称 TBD)是一种 更轻量、更现代的 Git 分支策略,跟 GitFlow 的“分支分工明确”理念不同,TBD 主张的是:

大家都直接在主分支(trunk,通常叫 mainmaster)上开发,尽可能少开分支、快速合并、持续集成。

🌱 核心理念
  1. 只有一个主分支(trunk)
    1. 所有开发人员每天(甚至多次)将自己的代码合并到 trunk。
    2. 保证 trunk 始终处于可构建、可部署的状态。
  2. 短生命周期的分支(if any)
    1. 如果有 feature 分支,也必须非常短(几小时到一两天)。
    2. 多数改动直接通过小步提交(small commits)+ feature flag 控制上线节奏。
  3. 强依赖 CI(持续集成)
    1. 每次 push 都会触发自动构建、测试。
    2. 合并代码前需通过所有自动化测试。
✅优点
优点说明
迭代快速所有人每天多次向主干提交,持续推进开发
🧹 分支极简避免维护多个长期分支,减少合并麻烦
持续集成友好每次提交自动触发 CI/CD,提高反馈速度
🔍 减少“代码漂流”不存在长期未合并的 feature 分支,冲突早暴露早解决
🛠️ 鼓励小步快跑 + 精细测试搭配自动化测试、feature flag,上线更灵活
💡 更贴合 DevOps / 云原生 / 微服务开发配合自动部署,真正实现持续交付(CD)
❌缺点
缺点说明
🔐 需要严格的 CI/CD 支撑没有良好测试和代码审查机制,很容易破坏主干
🧪 未完成功能需额外隔离机制比如 feature flag、环境切换,否则可能影响用户
🧠 需要成熟的团队协作习惯所有人必须频繁合并、快速修复冲突、严格审查
📦 没有明确“发布分支”概念对需要长期维护旧版本的项目不太友好(如企业软件)
适用场景

Trunk-Based Development 更适合“快速迭代 + 自动化部署”的现代开发模式,但前提是你有成熟的 CI/CD 流程和严格的团队协作。

场景是否推荐说明
敏捷开发团队✔️ 强烈推荐快节奏、小步迭代,配合 CI 效果最佳
持续交付/部署环境(CI/CD)✔️ 推荐自动部署 + feature flag 控制上线
微服务/云原生项目✔️ 推荐适合解耦、独立发布的架构 每个服务可以独立地采用主干开发模式,各自拥有较短的开发周期和较快的发布节奏。
DevOps文化的团队✔️ 推荐开发/运维一体化,更强调稳定 + 快速响应
缺乏测试或流程工具支撑的团队❌ 不推荐主干代码不稳定会直接影响产品质量
有复杂版本维护需求的传统软件❌ 不推荐缺少发布分支,不适合长期 LTS 支持

GitFlow

GitFlow 定义了 五种主要分支类型,各自有明确的职责:

  1. master 主分支**
    1. 永远保持稳定、可随时部署上线的代码。
    2. 每次发布版本都会打一个 tag(比如 v1.0.0)。
  2. develop 开发分支**
    1. 所有开发功能的集成分支。
    2. 新功能开发完成后会合并到这个分支。
    3. develop 分支创建 releasefeature 分支。
  3. feature/*** 新特性分支**
    1. 用于开发新功能,从 develop 分支拉出。
    2. 开发完成后合并回 develop
  4. release/*** 版本发布分支**
    1. 准备发布的分支,从 develop 拉出。
    2. 进入测试阶段,主要进行 bug 修复、文档完善、准备发布。
    3. 最终合并到 masterdevelop
  5. hotfix/*** 线上问题分支**
    1. 用于紧急修复线上生产环境问题。
    2. master 分支拉出,修复后合并回 masterdevelop
✅ GitFlow 的优点
优点说明
🔧 清晰的分支结构明确区分开发、测试、发布、修复等阶段,降低混乱
👥 适合多人协作不同职责可以在不同分支上并行推进
🔄 便于版本管理每次发布都打 tag,可清晰追踪版本变更历史
🛠️ 支持发布前测试release 分支允许发布前进行集成测试和优化
🧯 紧急修复机制清晰hotfix 分支确保线上问题快速修复并同步到 develop
适配传统发布节奏非持续部署的项目可以按需发布版本,流程可控
❌ GitFlow 的缺点
缺点说明
🌀 流程繁琐分支较多,新手上手门槛高,容易出错
🕒 合并频率低,容易冲突特别是在多人并行开发时,长时间不合并会产生大冲突
🚀 不适合持续部署/快速迭代分支粒度和周期与敏捷开发/DevOps 理念不一致
🔁 需要手动维护多个分支发布时要合并到多个分支(masterdevelop),易出漏
⚙️ 依赖人为操作较多没有自动化或 CI/CD 支持时维护成本高
适用场景

GitFlow 适合节奏较慢、有明确发布周期和质量控制要求的团队;
不适合追求极致效率和持续部署的现代 DevOps 环境。

场景是否推荐说明
传统企业项目✔️ 推荐有明确版本节奏(如每季度一次发布)
需要稳定发布流程的团队✔️ 推荐需要专门的 release 流程和测试周期
中大型开发团队✔️ 推荐各模块可并行开发,分支机制能保持协作秩序
严格的预发版与生产环境隔离✔️ 推荐需要确保新特性在正式发布前经过充分测试和集成验证的项目。
⚠️ CI/CD 不成熟的团队✔️ 推荐可以用分支替代部分自动化工作
频繁上线/微服务架构❌ 不推荐不适合持续交付、快速部署场景
敏捷开发+特性开关模式❌ 不推荐分支复杂度反而增加沟通成本

AOneFlow

由阿里巴巴技术专家林帆基于 TrunkBased 和 GitFlow 提出的一种新改进,其主要分为三种分支类型:主干分支、特性分支以及发布分支,AOneFlow = 单主干 + 灵活分支 + 发布策略清晰 + 强化自动化

核心思路是:

  1. 只维护一个长期主分支(如 main
  2. 所有的功能开发、修复、发布都在临时分支中进行,生命周期短
  3. 分支命名统一规范,合并策略清晰(支持 squash / merge / rebase)
  4. 强依赖 CI/CD 工具链来保障质量和效率
✅ AOneFlow 的优点
优点说明
🔄 分支管理简单没有 develophotfix、多个长期分支的混乱
开发流程快速和 Trunk-Based 类似,分支生命周期短,合并快
🔍 更适合敏捷 + CI/CD可以配合流水线快速测试部署
🧩 分支命名统一,语义清晰易于沟通、审查、自动化处理
🛠️ 兼容 GitHub Flow、GitLab Flow、Trunk-Based可以根据团队规模调整策略灵活性
❌缺点
缺点说明
📐 需要团队规范强一致性命名、合并策略、CI 要严格统一
🔁 需要一定自动化基础否则容易退化为混乱分支乱合
🧠 文档和传播较少还不是主流标准,学习资料相对较少
🎯 需要团队理解其哲学否则可能不如 GitFlow 易懂直观
适用场景
场景是否推荐说明
✅ 敏捷团队、DevOps✔️ 推荐流程快速、自动化友好
✅ CI/CD 完善✔️ 推荐每次合并都能自动测试、部署
✅ 远程或跨区域团队协作✔️ 推荐语义分支 + 明确规则减少沟通成本
⚠️ 项目流程保守、手动为主⚠️ 慎用自动化程度低可能难以发挥其优势

如何选择分支策略?

根据项目需求和团队规模,合理规划项目仓库结构。可根据以下思维导图,选择适合的分支管理策略。


代码提交规范

🌱分支管理

main       # 主分支,始终保持可部署状态
develop    # 开发分支,日常开发合并到这里
feature/*  # 新功能开发分支(如 feature/login)
bugfix/*   # 修复 bug 分支
hotfix/*   # 线上紧急修复
release/*  # 预发布分支
  1. 不在 main 分支直接开发
  2. 每个开发任务(feature/bug)都需从 develop 分出,完成后合并回 develop
  3. 发布前将 develop 合并到 release,测试通过后再合并进 main

🔄代码更新

  1. 鼓励频繁拉取代码。开发者应养成定期从远程仓库拉取(fetch)并合并(merge)主分支或 其他开发分支到本地对应分支的习惯,以保持代码与团队其他成员同步。
  2. 及时更新的目的:防止冲突代码越来越多,越来越难处理;防止打包时,漏掉其他人提交的代 码。
git checkout develop
git pull origin develop
git checkout feature/xxx
git merge develop --no-ff  # 或 git rebase develop,不使用快进方式合并

⚔️ 冲突合并

检测和解决冲突:
  1. 当拉取远程分支时,如果出现合并冲突,Git会提示并停止合并进程。
  2. 出现冲突千万不要强行合并,需要跟相关人员确认并处理完每个冲突。
  3. 使用 git diff 等命令查看冲突详情,手动编辑冲突文件,保留正确的更改并删除冲突标记。
确认解决冲突后提交:
  1. 解决完所有冲突后,需要执行 git add 命令添加已解决冲突的文件,然后使用规范化的提交信息格式进行提交。
  2. 提交消息中应明确指出此次提交涉及冲突解决的部分。

🏷️提交信息格式化

<type>[optional scope]: <description>
[BLANK LINE]
[optional longer description]

type (类型):描述提交的类型,通常是一个简短的动词,用于表示此次提交的主要性质。

常见的类型包括但不限于:

类型含义
feat新功能
fix修复问题
docs仅文档修改
style代码格式(不影响功能)
refactor重构代码(无新增功能或修复)
perf性能优化
test测试相关的修改
chore构建过程或辅助工具的变更
revert回滚上一次提交

optional scope (可选,范围):用于进一步描述该提交影响的模块、组件或区域。例如,如 果在一个大型项目中修复了某个特定模块的bug,则可以写为 fix(parser): 。

description (描述):简洁明了地概述这次提交做了什么。应该使用现在时态,并且首字 母大写。

optional longer description (可选,详细说明):如果有需要,可以在空行后提供详细 的变更解释、原因分析、兼容性影响等。

feat(用户管理):添加禁用/解禁用户的功能新增了一个新的API接口,并对应调整了数据库表结构以支持用户的禁用和解禁操作。
同时包含了对此功能的单元测试。

代码审查

  1. 所有 PR 必须经过 至少一位团队成员 Review 后方可合并。
  2. 提交 PR 前请确保:
    1. 功能开发完成,测试通过。
    2. 遵守 lint 规范,无 ESLint 报错。
    3. 添加了必要的测试用例。
  3. 评审人需检查:
    1. 代码质量、命名规范
    2. 逻辑正确性
    3. 是否有重复代码
    4. 是否引入了未使用的依赖/模块

持续集成部署、发布

相关文章:

Git代码管理

这里写目录标题 分支管理策略TrunkBased&#x1f331; 核心理念✅优点❌缺点适用场景 GitFlow✅ GitFlow 的优点❌ GitFlow 的缺点适用场景 AOneFlow✅ AOneFlow 的优点❌缺点适用场景 如何选择分支策略&#xff1f;代码提交规范&#x1f331;分支管理&#x1f504;代码更新⚔️…...

CubeMX配置STM32F103PWM连续频率输出

要求&#xff1a; 输出2-573Hz频率&#xff0c;输出频率步长小于1Hz 一、CubeMX配置 auto-reload preload在下个周期加载ARR Output compare preload 在下个周期加载CCR 二、 程序 1.启动PWM输出 HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); 2.根据频率调整PSC、ARR、…...

举例说明计算机视觉(CV)技术的优势和挑战。

计算机视觉(CV)技术是人工智能领域的一个重要分支,通过让计算机“看”和“理解”图像或视频,可以实现许多实际应用。以下是计算机视觉技术的优势和挑战的例子: 优势: 自动化处理:CV技术可以自动化地处理大量图像或视频数据,实现快速而准确的分析和识别。提高效率:在许…...

工程师 - FTDI SPI converter

中国网站&#xff1a;FTDIChip- 首页 UMFT4222EV-D UMFT4222EV-D - FTDI 可以下载Datasheet。 UMFT4222EVUSB2.0 to QuadSPI/I2C Bridge Development Module Future Technology Devices International Ltd. The UMFT4222EV is a development module which uses FTDI’s FT4222H…...

河畔石上数(C++)

在 C 里&#xff0c;std::set 是标准模板库&#xff08;STL&#xff09;提供的一种关联容器&#xff0c;它能高效地存储唯一元素&#xff0c;并且元素会按照特定的顺序排列&#xff0c;默认是升序。下面从多个方面为你详细介绍 std::set。 1. 头文件包含 若要使用 std::set&a…...

《线性表、顺序表与链表》教案(C语言版本)

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…...

【用Cursor 进行Coding 】

「我」&#xff1a;“添加 XXX 功能” &#xff3b;Claude-3.7&#xff3d;:“好的&#xff0c;我完成了&#xff0c;还顺手做了 19个你没要求不需要的功能、甚至还修改了原有999行正常代码 &#xff5e; 不用谢” &#xff3b;Gemini-2.5&#xff3d;:“好的&#xff0c;我会…...

vue2 打包时增加时间戳防止浏览器缓存,打包后文件进行 js、css 压缩

文章目录 前言一、什么是浏览器缓存二、展示效果三、vue.config.js 代码四、代码压缩部分服务器不支持五、感谢 前言 vue 开发过程中&#xff0c;项目前端代码需要更新&#xff0c;更新后由于浏览器缓存导致代码没有及时更新所产生错误&#xff0c;所以在打包时增加时间戳防止…...

TIM定时器

一、TIM定时器 STM32高级定时器实战&#xff1a;PWM、捕获与死区控制详解-CSDN博客 二、相关函数 1.TIM_TimeBaseInitTypeDef结构体讲解 typedef struct {uint16_t TIM_Prescaler; // 预分频器&#xff0c;用于设置定时器计数频率uint16_t TIM_CounterMode; /…...

S130N-ISI 全栈方案与云平台深度协同:重构 PLC 开发新范式

一、什么是 PLC&#xff1f; 1.技术定义 PLC&#xff08;Power Line Communication&#xff09;是一种创新的通信技术&#xff0c;它以电力线作为天然的传输介质&#xff0c;通过先进的信号调制技术将高频数据信号叠加于工频电流之上&#xff0c;实现电力输送与数据通信的双频共…...

Jenkins 插件文件优先使用 .jpi 后缀

.hpi 和 .jpi 文件本质上是 Jenkins 插件的打包格式&#xff0c;两者的区别主要体现在历史和命名习惯上&#xff1a; ✅ .hpi&#xff08;Hudson Plugin&#xff09; 来源&#xff1a;最初是 Hudson 项目的插件格式。含义&#xff1a;Hudson Plugin 的缩写。用途&#xff1a;早…...

# 决策树与PCA降维在电信客户流失预测中的应用

决策树与PCA降维在电信客户流失预测中的应用 在数据分析和机器学习领域&#xff0c;电信客户流失预测是一个经典的案例。本文将通过Python代码实现&#xff0c;探讨决策树模型在电信客户流失预测中的应用&#xff0c;并结合PCA降维技术优化模型性能&#xff0c;同时对比降维前…...

go语言的语法糖以及和Java的区别

1. Go 语言的语法糖及简化语法 Go 语言本身设计理念是简洁、清晰&#xff0c;虽然不像某些动态语言那样“花哨”&#xff0c;但它提供了几种便捷语法&#xff0c;使代码更简洁&#xff1a; 1.1 短变量声明&#xff08;Short Variable Declaration&#xff09; 语法&#xff1…...

WebRtc 视频流卡顿黑屏解决方案

// node webrtc视频转码服务 const url "http://10.169.xx.xx:8000" <video :ref"videoRefs${index}" :id"videoRefs4_${index}" :src"item" controls:key"item" autoplay muted click"preventDefaultClick"…...

信息安全测评中心-国产化!

项目上使用产品&#xff0c;必须通过国家信息安全测评/ 信息技术产品安全测评&#xff0c;有这个需求的话&#xff0c;可以到CN信息安全测评中心官网中的--测评公告一栏中&#xff0c;找符合要求的产品。 测评公告展示的包括硬件产品、系统、服务资质等。 网址及路径&#xf…...

MySQL学习笔记九

第十一章使用数据处理函数 11.1函数 SQL支持函数来处理数据但是函数的可移植性没有SQL强。 11.2使用函数 11.2.1文本处理函数 输入&#xff1a; SELECT vend_name,UPPER(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name; 输出&#xff1a; 说明&#…...

DFS 蓝桥杯

最大数字 问题描述 给定一个正整数 NN 。你可以对 NN 的任意一位数字执行任意次以下 2 种操 作&#xff1a; 将该位数字加 1 。如果该位数字已经是 9 , 加 1 之后变成 0 。 将该位数字减 1 。如果该位数字已经是 0 , 减 1 之后变成 9 。 你现在总共可以执行 1 号操作不超过 A…...

动态规划dp专题-(上)

目录 dp理论知识&#x1f525;&#x1f525; &#x1f3af;一、线性DP &#xff08;1&#xff09;&#x1f680;斐波那契数 -入门级 &#xff08;2&#xff09;&#x1f680;898. 数字三角形-acwing ---入门级 &#xff08;3&#xff09;往期题目 ①选数异或&#xff1a;在…...

正则表达式(一)

一、模式&#xff08;Patterns&#xff09;和修饰符&#xff08;flags&#xff09; 通过正则表达式&#xff0c;我们可以在文本中进行搜索和替换操作&#xff0c;也可以和字符串方法结合使用。 正则表达式 正则表达式&#xff08;可叫作 “regexp”&#xff0c;或 “reg”&…...

需求变更导致成本超支,如何止损

需求变更导致成本超支时&#xff0c;可以通过加强需求管理、严格的变更控制流程、优化资源配置、实施敏捷开发、提高风险管理意识等方法有效止损。其中&#xff0c;加强需求管理是止损的核心措施之一。需求管理涉及需求明确化、需求跟踪和变更的管理&#xff0c;有效的需求管理…...

《数据分析与可视化》(清华)ch5-实训代码

小费数据集预处理——求思考题_有问必答-CSDN问答 以上代码在Jupyter Notebook中可以运行&#xff0c;但是在python中就会出如下问题&#xff1a; 这个错误表明在尝试计算均值填充缺失值时&#xff0c;数据中包含非数值类型的列&#xff08;如文本列&#xff09;&#xff0c;…...

E: The package APP needs to be reinstalled, but I can‘t find an archive for it.

要解决错误 “E: The package mytest needs to be reinstalled, but I can’t find an archive for it”&#xff0c;通常是因为系统中存在损坏的软件包记录或安装过程中断导致 /var/lib/dpkg/status 文件异常。以下是综合多篇搜索结果的解决方案&#xff1a; 解决步骤 备份关…...

若依startPage()详解

背景 startPage基于PageHelper来进行强化&#xff0c;在用户传入pagesize,pageNum等标准参数的时候不需要进行解析 步骤 1.通过ServletUtils工具类getRequestAttributes来获取当前线程的上下文信息 public static ServletRequestAttributes getRequestAttributes() {try {R…...

Oracle AQ

Oracle AQ&#xff08;Advanced Queuing&#xff09; 是 Oracle 数据库内置的一种消息队列&#xff08;Message Queue&#xff09;技术&#xff0c;用于在应用或系统之间实现异步通信、可靠的消息传递和事件驱动架构。它是 Oracle 数据库的核心功能之一&#xff0c;无需依赖外部…...

npm报错CERT_HAS_EXPIRED解决方案

npm报错解决方案 npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED方案1:尝试切换镜像 # 使用腾讯云镜像 npm config set registry https://mirrors.cloud.tencent.com/npm/# 或使用官方npm源&#xff08;科学上网&#xff09; npm config set registry http…...

pnpm 中 Next.js 模块无法找到问题解决

问题概述 项目在使用 pnpm 管理依赖时,出现了 “Cannot find module ‘next/link’ or its corresponding type declarations” 的错误。这是因为 pnpm 的软链接机制在某些情况下可能导致模块路径解析问题。 问题诊断 通过命令 pnpm list next 确认项目已安装 Next.js 15.2.…...

急速实现Anaconda/Miniforge虚拟环境的克隆和迁移

目录 参考资料 点击Anaconda Prompt (anaconda_base) 查看现有环境 开始克隆&#xff0c;以克隆pandas_env为例&#xff0c;新的环境名字为image (base) C:\Users\hello>conda create -n image --clone pandas_env查看克隆结果&#xff0c;image环境赫然在列。 然后粘贴…...

OpenCv高阶(二)——图像的掩膜

目录 掩膜 bitwise_and原理 掩膜的实现 1、基于像素操作 2、使用形态学操作 3、基于阈值处理 案例 1、读取原图并绘制掩膜 2、掩膜的实现 3、绘制掩膜的直方图 应用 掩膜 OpenCV 中图像掩膜&#xff08;Mask&#xff09;实现的原理是通过一个与原始图像大小相同的二…...

数据结构和算法(十二)--最小生成树

一、最小生成树 定义&#xff1a;图的生成树是它的一颗含有其所有顶点的无环连通子图&#xff0c;一副加权无向图的最小生成树它的一颗权值&#xff08;树中所有边的权重之和&#xff09;最小的生成树。 约定&#xff1a;只考虑连通图。最小生成树的定义说明它只能存在于连通图…...

开源酷炫的Linux监控工具:sampler

sampler是一个开源的监控工具&#xff0c;来自GitHub用户sqshq&#xff08;Alexander Lukyanchikov&#xff09;的匠心之作。 简单来说&#xff0c;sampler能干这些事儿&#xff1a; 实时监控&#xff1a;CPU、内存、磁盘、网络&#xff0c;甚至应用程序的状态&#xff0c;它…...

InternVideo2.5:Empowering Video MLLMs with Long and Rich Context Modeling

一、TL&#xff1b;DR InternVideo2.5通过LRC建模来提升MLLM的性能。层次化token压缩和任务偏好优化&#xff08;mask时空 head&#xff09;整合到一个框架中&#xff0c;并通过自适应层次化token压缩来开发紧凑的时空表征MVBench/Perception Test/EgoSchema/MLVU数据benchmar…...

OSPF基础与特性

一.OSPF 的技术背景 OSPF出现是因为RIP协议无法满足大型网络的配置 RIP协议中存在的问题 RIP中存在最大跳数为15的限制,不能适应大规模组网 RIP周期性发送全部路由信息,占用大量的带宽资源 路由收敛速度慢 以跳数作为度量衡,选路可能会不优 存在路由环路的可能性 每隔30秒更新…...

[Linux]从零开始的ARM Linux交叉编译与.so文件链接教程

一、前言 最近在项目需要将C版本的opencv集成到原本的代码中从而进行一些简单的图像处理。但是在这其中遇到了一些问题&#xff0c;首先就是原本的opencv我们需要在x86的架构上进行编译然后将其集成到我们的项目中&#xff0c;这里我们到底应该将opencv编译为x86架构的还是编译…...

golang 中 make 和 new 的区别?

在Go语言中&#xff0c;make 和 new 都是用于内存分配的关键字&#xff0c;但它们在使用场景、返回值和初始化方式等方面存在一些区别&#xff0c;以下是具体分析&#xff1a; 使用场景 make 只能用于创建 map、slice 和 channel 这三种引用类型&#xff0c;用于初始化这些类型…...

碧螺春是绿茶还是红茶

碧螺春是绿茶&#xff0c;不是红茶。 碧螺春的特点&#xff1a; 类别: 碧螺春属于中国六大茶类中的绿茶类。产地: 它产自中国江苏省苏州市太湖的东山和西山&#xff08;现称金庭镇&#xff09;&#xff0c;是中国十大名茶之一。外形: 碧螺春茶叶外形卷曲如螺&#xff0c;色泽…...

Linux平台搭建MQTT测试环境

Paho MQTT Paho MQTT‌ 是 Eclipse 基金会下的一个开源项目&#xff0c;旨在为多种编程语言提供 ‌MQTT 协议‌的客户端实现。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅&#xff08;Pub/Sub&#xff09;消息传输协议&#xff…...

【AI学习】AI Agent(人工智能体)

1&#xff0c;AI agent 1&#xff09;定义 是一种能够感知环境、基于所感知到的信息进行推理和决策&#xff0c;并通过执行相应动作来影响环境、进而实现特定目标的智能实体。 它整合了多种人工智能技术&#xff0c;具备自主学习、自主行动以及与外界交互的能力&#xff0c;旨…...

克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南

iOS设备管理工具克魔助手便携版使用全指南 前言&#xff1a;为什么需要专业的iOS管理工具 在iOS开发和设备管理过程中&#xff0c;开发者经常需要突破系统限制&#xff0c;实现更深层次的控制和调试。本文将详细介绍一款实用的便携式工具的使用方法&#xff0c;帮助开发者快速…...

了解GPIO对应的主要功能

GPIO GPIO是通用输入输出端口的简称&#xff0c;芯片上的GPIO引脚与外部设备连接实现通讯、控制以及数据采集等功能&#xff0c;最基本的输出功能是通过控制引脚输出高低电平继而实现开关控制&#xff0c;比如引脚接入LED灯可控制LED灯的亮灭&#xff0c;接入继电器或三极管可…...

Dubbo 注册中心与服务发现

注册中心与服务发现 注册中心概述 注册中心是dubbo服务治理的核心组件&#xff0c;Dubbo依赖注册中心的协调实现服务发现&#xff0c;自动化的服务发现是微服务实现动态扩容、负载均衡、流量治理的基础。 Dubbo的服务发现机制经历了Dubbo2时代的接口级服务发现、Dubbo3时代的…...

一文详解LibTorch环境搭建:Ubuntu20.4配置LibTorch CUDA与cuDNN开发环境

随着深度学习技术的迅猛发展&#xff0c;越来越多的应用程序开始集成深度学习模型以提供智能化服务。为了满足这一需求&#xff0c;开发者们不仅依赖于Python等高级编程语言提供的便捷框架&#xff0c;也开始探索如何将这些模型与C应用程序相结合&#xff0c;以便在性能关键型应…...

micro ubuntu 安装教程

micro ubuntu 安装教程 官网地址 : https://micro-editor.github.io 以下是在 Ubuntu 系统中安装 micro 编辑器 的详细教程&#xff1a; 方法 1&#xff1a;通过 ​apt​​ 直接安装&#xff08;推荐&#xff09; 适用于 Ubuntu 20.04 及以上版本&#xff08;官方仓库已收录…...

观成科技:利用DoH加密信道的C2流量分析

概述 DoH&#xff08;DNS over HTTPS&#xff09;是一种通过HTTPS协议加密传输DNS查询的信道&#xff0c;将DNS请求封装在HTTP/2或HTTP/3中&#xff0c;DoH没有标准端口&#xff0c;部分服务沿用TLS的443端口。传统DNS明文传输易被拦截或篡改&#xff0c;而DoH通过加密提升了隐…...

行星际空间的磁流体动力激波:理论综述

Magnetohydrodynamic Shocks in the Interplanetary Space: a Theoretical Review ( Part 2 ) ​​​​​​​Magnetohydrodynamic Shocks in the Interplanetary Space: a Theoretical Review | Brazilian Journal of Physics Magnetohydrodynamic Shocks 1. The Rankine-Hu…...

Java垃圾回收的隐性杀手:过早晋升的识别与优化实战

目录 一、现象与症状 二、过早晋升的成因 &#xff08;一&#xff09;Young区&#xff08;Eden区&#xff09;配置过小 &#xff08;二&#xff09;分配速率过高 &#xff08;三&#xff09;晋升年龄阈值&#xff08;MaxTenuringThreshold&#xff09;配置不当 三、动态晋…...

2noise团队开源ChatTTS,支持多语言、流式合成、语音的情感、停顿和语调控制

简介 ChatTTS 是一个开源的文本转语音&#xff08;Text-to-Speech, TTS&#xff09;项目&#xff0c;由 2noise 团队开发&#xff0c;专门为对话场景设计。它在 GitHub 上广受欢迎&#xff0c;因其自然流畅的语音合成能力和多功能性而备受关注。 项目背景 目标&#xff1a;设计…...

企业级防火墙与NAT网关配置

实训背景 某公司需部署一台Linux网关服务器&#xff0c;要求实现以下功能&#xff1a; 基础防火墙&#xff1a;仅允许SSH&#xff08;22&#xff09;、HTTP&#xff08;80&#xff09;、HTTPS&#xff08;443&#xff09;入站&#xff0c;拒绝其他所有流量。共享上网&#xf…...

AI数据分析的正道是AI+BI,而不是ChatBI

一、AI大模型在数据分析中的应用现状与局限 当前用户直接上传PDF、Excel等原始数据至AI大模型进行自动分析的趋势显著&#xff0c;但其技术成熟度与落地效果仍需审慎评估。 1.主流AI大模型的数据分析能力对比 GPT-4/Claude 3系列&#xff1a;在通用数据分析任务中表现突出&a…...

C++设计模式优化实战:提升项目性能与效率

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开发技术&#xff0c;能熟练应用常用数据库SQL server,Oracle…...

G1学习打卡

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 import argparse import os import numpy as np import torchvision.transforms as transforms from torchvision.utils import save_image from torch.utils.…...