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

第27周JavaSpringboot git初识

Git 课程笔记

一、Git 的介绍

1. Git 的诞生背景

Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期,由于开发者众多,协作成本很高,后来使用了 BitKeeper 工具来辅助协作,但后来由于合作结束,Linus Torvalds 决定自己开发一套版本管理系统,这就是 Git。Git 是开源的,可以在 GitHub 上找到该项目。

2. Git 的作用

Git 的主要作用是帮助我们控制版本。如果没有版本管理系统,我们在开发过程中可能会遇到很多问题,比如无法回到之前的版本、文件备份占用大量空间、多人协作时文件合并困难等。Git 能够很好地解决这些问题。

二、Git 的安装与配置

1. Git 的安装

Git 的安装相对容易,可以在官网找到不同操作系统的安装包。以 Mac OS 为例,可以从官网下载安装器,然后按照提示进行安装。安装完成后,可以通过 git --version 命令验证是否安装成功。

2. Git 的配置

在使用 Git 之前,需要进行一些配置,比如设置用户名和邮箱。可以使用以下命令进行配置:

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

三、Git 的重要概念

1. Git、GitHub 和 GitLab

Git 是一个版本控制系统,GitHub 和 GitLab 是基于 Git 的代码托管平台。GitHub 是目前世界上最大的代码托管平台,很多开源项目都在上面。GitLab 则更适合企业内部使用,可以搭建私有的代码托管平台。

2. 工作区、暂存区和本地仓库

工作区是我们平时编写代码的地方,当我们想要把工作区的变动提交到版本控制系统时,需要先将文件添加到暂存区,然后再提交到本地仓库。

3. HEAD、分支和远程仓库

HEAD 指向当前所在的提交,分支是开发中的不同线路,远程仓库是团队协作时用来共享代码的仓库。

四、单人开发者如何使用 Git

1. 基本工作流程

单人开发的基本工作流程包括创建项目、添加文件、提交变更等。可以使用 git init 创建新的 Git 项目,使用 git add 将文件添加到暂存区,使用 git commit 提交变更。

示例:创建项目并提交变更
  1. 创建项目目录

    mkdir myproject
    cd myproject
    
  2. 初始化 Git 项目

    git init
    
  3. 创建并编辑文件

    touch README.md
    echo "My Project" >> README.md
    
  4. 添加文件到暂存区

    git add README.md
    
  5. 提交变更

    git commit -m "Initial commit"
    

2. 实际开发场景

在实际开发中,可能会遇到很多问题,比如提交错误、想要撤销变更、查看不同版本之间的差异等。可以使用 git reset 回退版本,使用 git stash 暂时存储未提交的变更,使用 git diff 查看差异。

示例:回退版本
  1. 查看提交历史

    git log
    
  2. 回退到上一个版本

    git reset --hard HEAD~1
    
示例:暂存未提交的变更
  1. 暂存变更

    git stash
    
  2. 查看暂存列表

    git stash list
    
  3. 应用暂存的变更

    git stash pop
    
示例:查看差异
  1. 查看工作区与暂存区的差异

    git diff
    
  2. 查看暂存区与本地仓库的差异

    git diff --staged
    

五、多人协作下如何使用 Git

1. 基本流程

多人协作的基本流程包括创建项目、克隆项目、提交变更、拉取远程代码等。可以使用 git clone 克隆远程项目,使用 git push 将本地代码推送到远程仓库,使用 git pull 拉取远程代码。

示例:克隆项目并提交变更
  1. 克隆远程项目

    git clone https://github.com/username/myproject.git
    
  2. 进入项目目录

    cd myproject
    
  3. 创建并切换到新分支

    git checkout -b new-feature
    
  4. 编辑文件并添加到暂存区

    git add .
    
  5. 提交变更

    git commit -m "Add new feature"
    
  6. 推送变更到远程仓库

    git push origin new-feature
    

2. 冲突解决

在多人协作中,可能会遇到冲突,比如两个人修改了同一个文件的同一部分。解决冲突的方法是手动修改冲突部分,然后重新提交。

示例:解决冲突
  1. 拉取远程代码

    git pull origin main
    
  2. 解决冲突

    # 手动修改冲突部分
    
  3. 添加解决冲突的文件

    git add .
    
  4. 提交解决冲突的变更

    git commit -m "Resolve conflict"
    
  5. 推送变更到远程仓库

    git push origin new-feature
    

3. 工作流

常见的 Git 工作流包括功能分支工作流、GitFlow 工作流等。功能分支工作流是为每个功能创建一个分支,开发完成后合并到主分支。GitFlow 工作流则更加复杂,包括开发分支、发布分支、热修复分支等。

功能分支工作流
  1. 创建功能分支

    git checkout -b feature-branch
    
  2. 开发功能

    # 编辑文件
    
  3. 提交功能

    git add .
    git commit -m "Add feature"
    
  4. 合并功能到主分支

    git checkout main
    git merge feature-branch
    
  5. 删除功能分支

    git branch -d feature-branch
    
GitFlow 工作流
  1. 创建开发分支

    git checkout -b develop
    
  2. 创建功能分支

    git checkout -b feature-branch develop
    
  3. 开发功能

    # 编辑文件
    
  4. 提交功能

    git add .
    git commit -m "Add feature"
    
  5. 合并功能到开发分支

    git checkout develop
    git merge feature-branch
    
  6. 创建发布分支

    git checkout -b release-branch develop
    
  7. 发布版本

    git tag -a v1.0 -m "Release version 1.0"
    
  8. 合并发布分支到主分支和开发分支

    git checkout main
    git merge release-branch
    git checkout develop
    git merge release-branch
    
  9. 删除发布分支

    git branch -d release-branch
    
  10. 创建热修复分支

    git checkout -b hotfix-branch main
    
  11. 修复问题

    # 编辑文件
    
  12. 提交修复

    git add .
    git commit -m "Fix bug"
    
  13. 合并热修复到主分支和开发分支

    git checkout main
    git merge hotfix-branch
    git checkout develop
    git merge hotfix-branch
    
  14. 删除热修复分支

    git branch -d hotfix-branch
    

六、在 IDEA 中优雅地使用 Git

IDEA 集成了 Git 功能,可以方便地进行版本控制操作。可以使用 IDEA 的图形界面进行提交、切换分支、对比代码等操作。

示例:在 IDEA 中提交变更
  1. 打开项目

    # 在 IDEA 中打开项目
    
  2. 编辑文件

    # 编辑文件
    
  3. 查看变更

    # 在 IDEA 的 Version Control 面板中查看变更
    
  4. 提交变更

    # 在 IDEA 的 Version Control 面板中提交变更
    
  5. 切换分支

    # 在 IDEA 的 Version Control 面板中切换分支
    
  6. 合并分支

    # 在 IDEA 的 Version Control 面板中合并分支
    
  7. 解决冲突

    # 在 IDEA 的 Version Control 面板中解决冲突
    

七、Git Ignore

Git Ignore 文件用于指定哪些文件或目录不需要被 Git 管理。可以使用 *.log 忽略所有日志文件,使用 target/ 忽略整个 target 目录等。

示例:创建 Git Ignore 文件
  1. 创建 Git Ignore 文件

    touch .gitignore
    
  2. 编辑 Git Ignore 文件

    # 忽略日志文件
    *.log# 忽略目标目录
    target/
    
  3. 添加并提交 Git Ignore 文件

    git add .gitignore
    git commit -m "Add .gitignore"
    

八、总结

1. Git 常用命令总结

命令描述
git init创建新的 Git 项目
git clone克隆远程项目
git add将文件添加到暂存区
git commit提交变更
git status查看当前状态
git log查看提交历史
git branch查看或创建分支
git checkout切换分支
git merge合并分支
git push将本地代码推送到远程仓库
git pull拉取远程代码
git reset回退版本
git stash暂时存储未提交的变更
git diff查看差异

2. 单人开发与多人协作场景总结

在单人开发中,主要关注基本工作流程和实际开发场景中的问题解决。在多人协作中,需要关注基本流程、冲突解决和工作流。掌握这些内容,可以相对熟练地使用 Git 进行版本控制。

图形解释步骤

工作区、暂存区和本地仓库的关系
工作区 -> 暂存区 -> 本地仓库git add    git commit
分支的创建和合并
      main|vdevelop <- feature-branch^|git checkout -b feature-branch|vgit merge feature-branch
冲突解决流程
git pull origin main
解决冲突
git add .
git commit -m "Resolve conflict"
git push origin new-feature

希望这些详细的笔记和图形解释步骤对你有所帮助!如果有任何问题或需要进一步的解释,请随时告诉我。

相关文章:

第27周JavaSpringboot git初识

Git 课程笔记 一、Git 的介绍 1. Git 的诞生背景 Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期&#xff0c;由于开发者众多&#xff0c;协作成本很高&#xff0c;后来使用了 BitKeeper 工具来辅助协作…...

实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度

实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度 前期准备加载数据建立模型模型训练质量指标 让我们回到图像分类问题 CIFAR。 你的主要任务&#xff1a;实现整个模型训练流程&#xff0c;并在测试样本上获得良好的准确度指标值。 任务积分&#…...

CentOS高性能数据处理优化指南

在CentOS系统中&#xff0c;为实现高性能数据处理&#xff0c;需要从多个层面进行优化&#xff0c;包括系统配置、内核参数、硬件资源管理及软件优化等。 一、硬件优化 选择合适硬件是优化性能的基础&#xff0c;大规模数据处理任务建议使用多核CPU、大容量内存、SSD存储以及…...

深度剖析:Pytest Fixtures如何重塑自动化测试的可读性与高效性

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 在编写单元测试时&#xff0c;是否发现自己写了很多相同/相似代码呢&#xff1f; 像…...

AIP-181 稳定级别

编号181原文链接AIP-181: Stability levels状态批准创建日期2019-02-18更新日期2019-02-18 虽然不同组织&#xff08;谷歌或其他组织&#xff09;拥有不同的产品生命周期&#xff0c;AIP使用以下术语指代API组件 稳定性 。 注意 这些稳定级别大致对应于Google Cloud中的产品发…...

比较 (leetcode 452. 用最少数量的箭引爆气球 leetcode 435. 无重叠区间 leetcode 56. 合并区间

leetcode系列 文章目录 一、射箭引爆气球二、无重叠区间三、合并区间总结 提示&#xff1a;小白个人理解&#xff0c;如有错误敬请谅解&#xff01; 对于此类题目&#xff0c;都先按左区间排序&#xff0c;之后根据重叠还是不重叠来进行操作 一、射箭引爆气球 找到最大的重叠…...

什么是有限元力学?分而治之,将复杂问题转化为可计算的数学模型

有限元力学是应用有限元方法&#xff08;Finite Element Method, FEM&#xff09;解决力学问题的学科&#xff0c;属于计算力学的重要分支。它通过将复杂的连续体结构离散化为有限个简单单元的组合&#xff0c;结合数学和物理原理&#xff0c;近似求解力学行为&#xff08;如应…...

python项目一键加密,极度简洁

在要加密的项目内运行python -m pip install py2safe 安装后cd到项目的根目录,运行py2safe 它会递归加密所有文件夹,不需要参数,拿过来就用,基于pyarmor开发,基本破解不了,太方便辣 这是readme文件,不仅提到了用法,还贴心的加入了口腔溃疡的治疗办法,真是太贴心了 # py2saf…...

STM32 ADC原理与驱动详解:从存储器映射到多通道采集(下) | 零基础入门STM32第六十六步

主题内容教学目的/扩展视频ADC读电位器和光敏重点课程电路原理&#xff0c;跳线设置&#xff0c;ADC功能分析&#xff0c;驱动程序&#xff0c;读出AD数据&#xff0c;读内部温度传感器数据。会设置参数&#xff0c;能读出AD值即可。 师从洋桃电子&#xff0c;杜洋老师 本文深入…...

JxBrowser 8.5.0 版本发布啦!

• 为 Compose Desktop 提供了硬件加速渲染支持 • 支持自定义 Chromium 二进制文件的品牌标识 • 多项质量改进 了解更多 获取 30 天免费试用...

LIN接口

LIN接口 前言LIN接口简介帧格式同步间隔段 (Break Field)同步段 (Sync Byte Field)受保护ID段 (Protected Identifier Field)数据段 (Data Field)校验和段 (Checksum Field) 帧在总线上的传输波形帧类型无条件帧事件触发帧偶发帧诊断帧保留帧 错误类型 IP 设计结构框图接口设计…...

【蓝桥杯每日一题】3.16

&#x1f3dd;️专栏&#xff1a; 【蓝桥杯备篇】 &#x1f305;主页&#xff1a; f狐o狸x 目录 3.9 高精度算法 一、高精度加法 题目链接&#xff1a; 题目描述&#xff1a; 解题思路&#xff1a; 解题代码&#xff1a; 二、高精度减法 题目链接&#xff1a; 题目描述&…...

prometheus-helm的使用

1、部署Prometheus监控平台 1、下载安装Prometheus &#xff08;当前集群版本1.26.3&#xff09; git clone https://github.com/prometheus-operator/kube-prometheus.git -b release-0.12 安装&#xff1a; cd kube-prometheus/ 创建命名空间和crd&#xff1a; kubectl …...

时间序列分析的军火库:AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS解析

引言:时间序列分析的现代挑战 时间序列分析在多个领域中扮演着关键角色,包括工程、金融、气象、工业预测等。随着开源工具的快速发展,开发者可以通过多种库快速实现时间序列预测与分析。本文将对 AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS 六大主流库进行详细解析,…...

TLSR8355F128芯片特色解析

TLSR8355F128 是泰凌微推出的一款高性能、低功耗的无线物联网芯片&#xff0c;具有以下特色&#xff1a; 丰富的协议支持&#xff1a;支持 2.4GHz 私有协议。这使得该芯片能够广泛应用于各种特殊的物联网场景&#xff0c;实现不同设备之间的互联互通。强大的处理能力&#xff…...

基于分类算法的学习失败预警(上)

文章目录 前言1.数据预处理1.1数据探索1.2数值化处理1.3空值填充1.4添加标签1.5特征筛选1.6数据集类别平衡1.7划分数据集1.8训练集类平衡1.9标准化 2.模型选择2.1建立模型2.2模型调参2.2.1遍历调参2.2.2网格搜索 结语 前言 本次案例通过对现有数据分析&#xff0c;采用如下图所…...

首页性能优化

首页性能提升是前端优化中的核心任务之一&#xff0c;因为首页是用户访问的第一入口&#xff0c;其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前&#xff0c;首先需要通过工具分析首页的性能瓶颈。常用的工具包括&#xff1a; Chrome DevTo…...

整形在内存中的存储(例题逐个解析)

目录 一.相关知识点 1.截断&#xff1a; 2.整形提升&#xff1a; 3.如何 截断&#xff0c;整型提升&#xff1f; &#xff08;1&#xff09;负数 &#xff08;2&#xff09;正数 &#xff08;3&#xff09;无符号整型&#xff0c;高位补0 注意&#xff1a;提升后得到的…...

python中多重继承和泛型 作为模板让子类实现具体业务逻辑

示例代码&#xff1a; T TypeVar("T", bound"NoSQLBaseDocument")# 与 MongoDB 数据库交互的基础文档类 class NoSQLBaseDocument(BaseModel, Generic[T], ABC):id: UUID4 Field(default_factoryuuid.uuid4)def __eq__(self, value: object) -> bool…...

2025 香港 Web3 嘉年华:全球 Web3 生态的年度盛会

自 2023 年首届香港 Web3 嘉年华成功举办以来&#xff0c;这一盛会已成为全球 Web3 领域规模最大、影响力最深远的行业活动之一。2025 年 4 月 6 日至 9 日&#xff0c;第三届香港 Web3 嘉年华将在香港盛大举行。本届活动由万向区块链实验室与 HashKey Group 联合主办、W3ME 承…...

ERC-6909 最小多代币标准

ERC-6909 Token标准是 ERC-1155 Token标准的一种简化替代方案。 ERC-1155 标准引入了一种多Token接口&#xff0c;使得单个智能合约能够结合可替代的和不可替代的Token&#xff08;即&#xff0c;​ERC20 和 ERC721&#xff09;。 ERC-1155 解决了多个挑战&#xff0c;例如降…...

07-单链表-单链表基本操作

题目 来源 826. 单链表 - AcWing题库 思路 详见代码&#xff0c;主要思想就是用数组来模拟链表的创建。数组其实跟静态链表等价&#xff0c;由于动态链表动态new对于大数据太过于耗时&#xff0c;因此采用数组的方式。那数组如何起到链表的效果&#xff1f;用下标来索引。 …...

FFMPEG录制远程监控摄像头MP4

手绘效果图 上图是录制功能的HTML前端页面&#xff0c;录制功能和解码视频放在一起。录制功能关键是录制(开始录制按钮)、停止录像按钮。当点击“录制”的时候则会开始录制MP4文件, 当点击停止的时候就会停止录制MP4。经过录制后&#xff0c;则会生成MP4,并放到我的RV1126的/tm…...

Spring Boot 的自动装配

Spring Boot 的自动装配&#xff08;Auto Configuration&#xff09;是其核心特性之一&#xff0c;通过智能化的条件判断和配置加载机制&#xff0c;极大简化了传统 Spring 应用的配置复杂度。其原理和实现过程可概括为以下几个关键点&#xff1a; 一、核心触发机制&#xff1a…...

Python中的“泛型”和“多重继承”

“泛型”和“多重继承”属于 Python 的语法规则。 1. 泛型&#xff08;Generic[T]&#xff09; 通俗解释 泛型允许你在定义类或函数时&#xff0c;不指定具体的类型&#xff0c;而是使用一个“占位符”&#xff08;通常命名为 T&#xff09;。这就像你制作一个盒子&#xff0…...

【C++】多参数构造函数使用explict的情形

在 C 中&#xff0c;“无非默认值” 指的是&#xff1a;构造函数的参数没有设置默认值&#xff08;即所有参数都必须显式传递&#xff09;。这个说法通常出现在讨论多参数构造函数是否需要使用 explicit 关键字时。 具体解释 多参数构造函数&#xff1a; • 如果一个构造函数有…...

C# Unity 唐老狮 No.10 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho C# 1. 内存中&#xff0c;堆和…...

使用DeepSeek,优化斐波那契数函数,效果相当不错

下面这段代码定义了一个递归函数 fibonacci&#xff0c;用于计算第 n 个斐波那契数。 def fibonacci(n):if n < 1:return nelse:return fibonacci(n - 1) fibonacci(n - 2)虽然代码逻辑正确&#xff0c;但其性能较差&#xff0c;尤其是对于较大的 n 值&#xff0c;其复杂度…...

【GPT入门】第22课 langchain LCEL介绍

【GPT入门】第22课 langchain LCEL介绍 1. LCEL介绍与特点2. 原生API与LCEL的对比2. 简单demo 1. LCEL介绍与特点 LCEL 即 LangChain Expression Language&#xff0c;是 LangChain 推出的一种声明式语言&#xff0c;用于简化和优化在 LangChain 框架内构建复杂链和应用的过程…...

市场监管总局升级12315平台 专项整治四大市场顽疾保障消费安全

大湾区经济网湾区财经讯&#xff0c;在今天下午举行的国务院新闻办新闻发布会上&#xff0c;市场监管总局负责人表示&#xff0c;将开展食品非法添加、假冒伪劣、价格欺诈、虚假宣传四大领域专项整治行动&#xff0c;并强化缺陷产品召回监管&#xff0c;全面保障消费者“安全消…...

FineBI6.x进阶篇-可视化专题

参考 参考&#xff1a;https://edu.fanruan.com/video/526 如何选择合适的图表&#xff1a;https://help.fanruan.com/dvg/doc-view-3.html 参考&#xff1a;https://help.fanruan.com/finebi/ 什么是GLAD原则&#xff1a;https://help.fanruan.com/dvg/doc-view-81.html …...

一对一交友App源码开发新趋势:精准匹配与多元盈利模式解析

一、 营商环境分析&#xff1a;机遇与挑战并存 近年来&#xff0c;随着移动互联网的普及和用户需求的不断升级&#xff0c;一对一交友App市场呈现出蓬勃发展的态势。然而&#xff0c;机遇与挑战并存&#xff0c;开发者需要审时度势&#xff0c;才能在激烈的市场竞争中脱颖而出…...

算法基础篇(蓝桥杯常考点)

算法基础篇 前言 算法内容还有搜索&#xff0c;数据结构&#xff08;进阶&#xff09;&#xff0c;动态规划和图论 数学那个的话大家也知道比较难&#xff0c;放在最后讲 这期包含的内容可以看目录 模拟那个算法的话就是题说什么写什么&#xff0c;就不再分入目录中了 注意事…...

【Pandas】pandas Series cat

# Pandas2.2 Series ## Accessors |方法|描述| |-|:-------| |Series.str|对 Series 中的字符串元素进行矢量化字符串操作| |Series.cat|用于处理分类数据&#xff08;Categorical Data&#xff09;的属性| ### pandas.Series.cat pandas.Series.cat 是用于处理分类数据&am…...

Python的类和对象(3)

1、类的继承 父类&#xff1a;被继承 子类&#xff1a;继承者 – 可以使用父类的所有属性和方法、大大简化代码。 语法&#xff1a;在类名字后加上&#xff08;继承的类名字&#xff09; # 定义类 -- 父类 class Car:# 定义类属性wheel "有车轮"engine "有引…...

C语言修饰符汇总详解

在C语言中,修饰符(或称类型限定符)是用于修饰数据类型的关键字,可以改变变量或类型的性质和行为。它们通常用来控制存储类型、符号、大小、对齐、访问权限等。C语言中的修饰符主要可以分为以下几类: 类型修饰符存储类别修饰符常量和易变修饰符以下是C语言中所有修饰符的详…...

猎豹移动(Cheetah Mobile)

本文来自腾讯元宝 公司背景与发展历程 ​成立与早期定位 猎豹移动成立于2010年11月&#xff0c;由金山安全与可牛影像合并而成&#xff0c;初期以移动安全工具和清理软件为核心业务。其明星产品包括《猎豹清理大师》&#xff08;Clean Master&#xff09;和《猎豹浏览器》&…...

VLN 论文精读(二)VL-Nav: Real-time Vision-Language Navigation with Spatial Reasoning

这篇笔记用来描述2025年发表在arxiv上的一篇有关VLN领域的论文&#xff0c;由纽约州立大学布法罗分校和卡耐基梅隆联合发布。其主要创新点在于&#xff1a;像素级的视觉-语意特征、低算力移动设备部署、30Hz控制实时性、VLM模型的zero-shot &#xff1b; 整个导航流程大概如下…...

优选算法系列(2.滑动窗口 _ 上)

目录 解法⼀&#xff08;暴力求解&#xff09;&#xff08;不会超时&#xff0c;可以通过&#xff09;&#xff1a;一.长度最小的子数组&#xff08;medium&#xff09; 题目链接209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; 代码&#…...

RK3568 android11 基于PN7160的NXP NFC移植

一,概述 1. 模块概述 PN7160专为在各种系统实现快速集成而设计,支持所有符合NFC Forum的模式,包括Android和Linux驱动程序,并支持实时操作系统和无操作系统的应用(PN7160不符合EMVCo)。嵌入式NFC固件减少了对主机交互的需求,并最大限度缩小了代码尺寸,使设计更轻松。…...

【网工第6版】第1章 计算机网络概论

目录 1计算机网络形成和发展 ■计算机网络 ■我国互联网发展 ■计算机网路分类 ■计算机网络应用 2 OSI和TCP/IP参考模型 ■网络分层的意义 ■OSI参考模型 ■TCP/IP参考模型 ■TCP/IP参考模型协议 3 数据封装与解封过程 ■封装 ■解封 1计算机网络形成和发展 ■计…...

【嵌入式】keil5安装(同时兼容C51和STM32)

最近在开发STM32的时候&#xff0c;安装Keil5&#xff0c;遇到STM32和C51的共存的问题&#xff0c;在网上找了很多方法&#xff0c;又遇到一些bug&#xff0c;最终还是弄好了。因此将处理的过程记录下来&#xff0c;希望对遇到相同问题的朋友一些启发。 1、下载安装包 Keil P…...

每日一题--进程与协程的区别

进程是什么&#xff1f; 进程&#xff08;Process&#xff09; 是操作系统进行 资源分配和调度的基本单位&#xff0c;代表一个正在执行的程序实例。每个进程拥有独立的虚拟地址空间、代码、数据和系统资源&#xff08;如文件句柄、网络端口等&#xff09;。进程之间通过 IPC&…...

网络安全运维应急响应与溯源分析实战案例

在日常运维过程中&#xff0c;网络安全事件时有发生&#xff0c;快速响应和精准溯源是保障业务稳定运行的关键。本文将通过一个实际案例&#xff0c;详细解析从发现问题到溯源定位&#xff0c;再到最终解决的完整流程。 目录 一、事件背景 二、事件发现 1. 监控告警触发 2…...

leetcode29. 两数相除-medium

1 题目&#xff1a;两数相除 官方标定难度&#xff1a;中 给你两个整数&#xff0c;被除数 dividend 和除数 divisor。将两数相除&#xff0c;要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断&#xff0c;也就是截去&#xff08;truncate&#xff09;其小数部分。…...

深海300米的低温环境中的BMS优化方法

在深海300米的低温环境中&#xff0c;采用扩展卡尔曼滤波&#xff08;EKF&#xff09;结合温度补偿模型实现电池管理系统&#xff08;BMS&#xff09;的荷电状态&#xff08;SOC&#xff09;精确估计&#xff0c;需通过以下步骤实现&#xff1a; 1. 低温电池模型建立 1.1 电池…...

高主频GPU+RTX4090:AI生图性能优化超150%

概述&#xff1a;消费级高主频CPU搭配 RTX 4090显卡可以显著提高AI生图的性能&#xff0c;相比于企业级CPU具有更大的吞吐量和更优的成本效益。 引言&#xff1a;在AI图像生成过程中&#xff0c;CPU与GPU的协同效应对系统的整体性能至关重要。测试表明&#xff0c;与RTX 4090显…...

OpenCV 图像双线性插值

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 双线性插值是一种 二维插值方法,用于计算 栅格(Grid) 或 像素点 之间的插值值。它主要用于 图像缩放、旋转、变换 等操作,以在新像素位置估算灰度值或颜色值。 如上图所示,假设存在一个二维离散函数(如图像)…...

OpenCV计算摄影学(23)艺术化风格化处理函数stylization()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 风格化的目的是生成不以照片写实为目标的多种多样数字图像效果。边缘感知滤波器是风格化处理的理想选择&#xff0c;因为它们能够弱化低对比度区…...

《我的Python觉醒之路》之转型Python(十五)——控制流

[今天是2025年3月17日&#xff0c;继续复习第一章节、第二章节的内容 ] 《我的Python觉醒之路》之转型Python&#xff08;十四&#xff09;——控制流...