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

Git_2024/11/16

文章目录

  • 前言
  • Git是什么
    • 核心概念
    • 工作流程
    • 常见术语解读
    • Git的优势
  • Git与SVN对比
    • SVN
    • Git
    • 总结
  • Git配置流程及指令
    • 环境配置
    • 获取Git仓库
      • 本地初始化
      • 远程克隆
    • 工作目录、暂存区、版本库
    • 文件的两种状态
    • 本地仓库操作
    • 远程仓库操作
    • Git分支
    • Git标签
    • IntelliJ IDEA使用Git
    • 回滚代码
  • GitHub配置流程
    • SSH是什么
  • 个人使用场景思考
    • vercel是什么?
      • Vercel 的核心功能
      • Vercel 的优势
      • 在 Hexo 项目中的作用
      • 总结
    • 为什么要vercel?相比较其他有什么优缺点?
      • 1. 常见的同类平台
      • 2. 平台对比
      • 3. 各平台特点总结
        • 1. Vercel
        • 2. Netlify
        • 3. GitHub Pages
        • 4. AWS Amplify
        • 5. Cloudflare Pages
      • 4. 选择建议
    • hexo个人静态博客更新部署流程
      • 1. 初始化项目(初次搭建时)
        • 1.1 安装 Hexo 和初始化博客项目
        • 1.2 生成博客内容
        • 1.3 部署到 Vercel
      • 2. 日常更新和部署流程
        • 2.1 创建/更新博客内容
        • 2.2 本地预览
        • 2.3 提交代码到 Git 仓库
        • 2.4 自动触发 Vercel 部署
      • 总结
  • 参考链接


前言

在刚刚结束的NVIDIA面试中,连续被三个面试官拷打,经过了解,具有很强的实用意义。须掌握。
Rating:: 🌟🌟🌟🌟🌟
安装地址:Git
安装教程:Git基本使用教程(一):入门及第一次基本完整操作_git的使用-CSDN博客


Git是什么

Git 是一种 分布式版本控制系统,用来高效地管理代码的修改历史和协作开发。它帮助开发者记录每一次代码的更改,便于回溯历史、恢复代码和多人协作。搭建Git远程仓库可以借助互联网上的代码托管服务来实现,常用的有:GitHub、GitLab、码云

Github是什么?
一个基于 Git面向开源及私有软件项目的托管平台,为开发者提供了管理代码、协作开发和部署项目的工具和环境,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub

核心概念

Git 的运行机制基于以下几个核心区域:

  1. 工作区(Working Directory)
    • 这是开发者正在实际编辑代码的地方,也就是本地文件系统中的项目文件夹。
    • 你对文件的修改、添加或删除,首先都发生在这里。
  2. 暂存区(Staging Area)
    • 暂存区是一个临时区域,用于存放即将提交到版本库的修改,暂存区允许开发者将代码修改分组,为不同功能生成独立的提交记录,在提交前检查暂存内容,避免将未完成的代码误提交。
    • 当你用 git add 将文件添加到暂存区时,Git 会将这些修改标记为“即将提交”。
    • 这样,你可以选择性地提交部分修改,而不是一次提交所有工作区的变更。
  3. 本地仓库(Local Repository)
    • 本地仓库是你电脑上的一个数据库,存储了所有提交的代码版本和历史。
    • git commit 命令,将暂存区的修改提交到本地仓库,生成一个新的快照。
    • 每次提交都会创建一个独特的提交 ID,方便未来查找和回溯。
  4. 远程仓库(Remote Repository)
    • 远程仓库是托管在云端或服务器上的代码库(如 GitHub、GitLab、Bitbucket)。
    • 通过 git push,你可以将本地仓库的内容上传到远程仓库,方便团队共享代码。

工作流程

Clone:克隆,就是将远程仓库复制到本地
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库
工作流程如下:
1.从远程仓库中克隆代码到本地仓库
2.从本地仓库中checkout代码然后在工作区进行代码修改
3.在提交前先使用 git add 文件名将代码提交到暂存区 ,如果要暂存所有更改,可以用 git add .
4.使用 git commit -m "提交说明"提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,使用 git push 将本地仓库的内容push到远程仓库
在这里插入图片描述
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具

常见术语解读

  • 版本库(Repository)
    • 存储项目所有的历史记录,包括代码和提交历史。
  • 快照(Snapshot)
    • 每次提交时,Git 会为当前代码生成一个快照,保存文件的状态。
  • 分支(Branch)
    • 分支是代码开发的并行版本,便于开发新功能而不影响主代码。
  • 合并(Merge)
    • 将一个分支的代码合并到另一个分支。
  • 冲突(Conflict)
    • 当不同分支的代码修改同一部分内容时,合并可能产生冲突,需要手动解决。

Git的优势

  • 分布式架构:每个开发者的本地仓库都是完整的版本库。
  • 高效管理代码:可以回溯历史、恢复错误的提交。
  • 轻量分支:创建和切换分支速度快,便于多人协作开发。
  • 离线操作:大部分操作无需联网即可完成。

Git与SVN对比

都是常用的版本控制工具,但是在架构、功能和使用场景上存在显著差异。

SVN

集中式版本控制系统,依赖于中央服务器,开发者从服务器检出代码进行操作,仅在中央服务器上存储完整的历史记录,客户端只保留当前的工作副本。
缺点
1. 服务器单点故障
2. 容错性差

Git

分布式版本控制系统,每个开发者的本地仓库都是完整的版本库,支持离线工作,每个克隆的仓库包含完整的历史记录和所有文件的快照。
分为两种类型的仓库:本地仓库和远程仓库

本地仓库:在开发人员自己电脑上的Git仓库
远程仓库:在远程服务器上的Git仓库

总结

特性GitSVN
架构分布式集中式
离线操作支持不支持
分支管理高效轻量笨重复杂
学习成本较高较低
数据安全更安全依赖服务器
适用场景大型项目、分布式团队小型项目、集中化团队

Git配置流程及指令

环境配置

设置用户名称和email地址,每次Git提交都会使用该用户信息

%% 设置用户信息 %%
git config --global user.name “itcast”  
git config --global user.email “kinggm520@163.com”
%% 查看配置信息 %%
git config --list  
git config user.name

通过上面的命令设置的信息会保存在~/.gitconfig文件中

获取Git仓库

两种方式:

  1. 在本地初始化一个Git仓库
  2. 从远程仓库克隆

本地初始化

  1. 创建空目录作为本地仓库
  2. 打开Git bash
  3. 执行Git init

远程克隆

git clone 地址链接

工作目录、暂存区、版本库

.git文件夹:版本库,存储配置信息、日志信息和文件版本信息
index文件:暂存区,stage,临时保存修改文件的地方
.gitignore文件夹:忽略列表,列出要忽略的文件模式
工作目录:存放.git文件夹的目录,用来存放开发的代码

文件的两种状态

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)
  • Unmodified 未修改状态
  • Modified 已修改状态
  • Staged 已暂存状态
    这些文件的状态会随着我们执行Git的命令发生变化

本地仓库操作

git status  (-s)  %%查看文件状态%%
git add             %%将未跟踪的文件加入暂存区%%
git reset           %%将暂存区的文件取消暂存%%
git commit      %%将暂存区的文件修改提交到本地仓库%%
git rm              %%删除文件%%

远程仓库操作

git remote (-v)                                              %%查看已经配置的远程仓库服务器%%
git remote add < shortname> < url>            %%添加一个新的远程 Git 仓库%%
git clone [url]                                               %%从远程仓库克隆%%
git remote rm                                               %%移除本地无效的远程仓库%%
git fetch                                                       %%从远程仓库获取最新版本到本地仓库,不会自动merge%%
git merge A/B                                              %%merge A/B%%
git pull A B –allow-unrelated-histories /git pull --rebase origin master  %%从远程仓库获取最新版本并merge到本地仓库%%
git branch --set-upstream-to origin/master master   %%将本地分支与远程分支关联%%
git push [remote-name] [branch-name]        %%推送到远程仓库%%

Git分支

git branch  %%列出所有本地分支%%
git branch -r  %%列出所有远程分支%%
git branch -a   %%列出所有本地分支和远程分支%%  
git branch [name]    %%创建分支%%
git checkout [name]    %%切换分支%%
git push [remote_name] [name]     %%推送至远程仓库分支%%
git merge %%合并分支%%
git branch -d/-D [name] %%删除分支%%

Git标签

git tag  %%列出所有tag%%
git show [tag]  %%查看tag信息%%
git tag [tagname]   %%新建一个tag%%  
git push [remote] [tag]    %%将标签推送至远程仓库%%
git checkout -b [branch] [tag]    %%新建一个分支,指向某个tag%%
git tag -d [tag]     %%删除本地tag%%
git push origin :refs/tags/[tag]  %%删除远程tag%%
git branch -d/-D [name] %%删除分支%%

IntelliJ IDEA使用Git

超详细的Git使用教程(图文)-CSDN博客

回滚代码

Git回滚远程仓库代码_git 远程代码仓回滚‘-CSDN博客


GitHub配置流程

  1. 注册账号
  2. 建立本地仓库 git init
  3. 生成SSH
git config --global user.name "注册名"
git config --global user.email "注册邮箱"
ssh-keygen -t rsa -C "自己的邮箱"
  1. Github使用SSH建立远程仓库连接测试
  2. 测试SSH连接
ssh -T git@github.com
  1. 推送本地文件到远程
git add .
git commit
git push

SSH是什么

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。


个人使用场景思考

vercel是什么?

Vercel 是一个用于部署静态网站和前端应用的 云平台,以其简单、高效、快速的特点被广泛用于静态博客、单页应用(SPA)和服务器端渲染(SSR)项目。

Vercel 的核心功能

  1. 快速部署
    • 支持通过命令行工具或直接从 GitHub、GitLab、Bitbucket 等代码托管平台自动部署项目。
    • 提交代码后,Vercel 会自动构建并上线,无需手动操作。
  2. 全球加速
    • Vercel 提供 全球内容分发网络 (CDN),让你的站点能在世界各地快速加载。
    • 自动处理静态资源缓存和优化。
  3. 自动化工作流
    • 提供自动化的 CI/CD 流程,每次代码变更都会触发重新构建和部署。
    • 支持预览功能,可以为每次 Pull Request 生成独立的预览链接。
  4. 支持多种框架
    • Vercel 原生支持常见的前端框架,如 Next.js(Vercel 的核心产品)、React、Vue.js、Svelte,以及 Hexo、Hugo 等静态网站生成器。
  5. 无服务器功能
    • 支持 Serverless Functions,允许你在不管理服务器的情况下添加动态功能。

Vercel 的优势

  1. 简单易用:用户只需关联代码仓库即可完成部署,极大降低了部署门槛。
  2. 性能优化:自动进行图片优化、缓存管理、CDN 分发等,提升网站速度。
  3. 成本友好:免费套餐适合个人开发者,提供充足的带宽和功能。
  4. 团队协作:支持多人协作开发,便于预览和审核代码变更。
  5. 即时预览:为每次代码提交生成预览地址,便于测试和分享。

在 Hexo 项目中的作用

在使用 Hexo 搭建个人博客时,Vercel 主要用于:

  1. 部署静态博客:将 Hexo 生成的静态文件上传到 Vercel,快速上线。
  2. 持续集成:每次更新博客内容,只需更新代码,Vercel 自动重新部署。
  3. 全球加速:通过 Vercel 的 CDN 网络,确保博客访问速度快且稳定。

总结

Vercel 是一个强大的部署工具,专注于简化前端项目的部署和优化。对于像 Hexo 这样的静态博客,它能快速构建和上线,同时提供流畅的自动化体验,让个人开发者更专注于内容创作而非部署过程。

为什么要vercel?相比较其他有什么优缺点?

除了 Vercel,还有其他常用的同类型静态网站和前端应用托管平台。以下是一些常见的选项及它们与 Vercel 的对比:

1. 常见的同类平台

  1. Netlify
  2. GitHub Pages
  3. AWS Amplify
  4. Cloudflare Pages
  5. Render

2. 平台对比

特性VercelNetlifyGitHub PagesAWS AmplifyCloudflare Pages
核心定位专注前端项目和静态网站部署,优化 Next.js 支持静态网站和 Jamstack 应用的全栈解决方案静态网页托管,简化 GitHub 仓库发布流程全栈支持,结合 AWS 服务构建复杂应用CDN 驱动的静态网站托管
构建与部署自动化,原生支持多框架(Next.js、React、Hexo等)自动化,支持多框架,提供丰富的插件和自定义构建手动或通过 Actions 部署,需要提前生成静态文件自动化,支持全栈和复杂构建任务自动化,针对静态文件优化
集成方式支持 GitHub、GitLab、Bitbucket支持 GitHub、GitLab、Bitbucket仅支持 GitHub支持 GitHub、GitLab支持 GitHub
全球加速 (CDN)全球 CDN,延迟低,专为前端优化全球 CDN,Netlify Edge 提供智能路由CDN 加速效果有限AWS CloudFront 支持,适合大型项目基于 Cloudflare 的全球 CDN,性能优越
免费套餐免费计划强大:支持团队协作、预览部署,带宽限制宽松免费计划强大:支持插件、API 调用,带宽限制 125GB/月免费:托管基础静态文件,适合简单个人项目免费计划较基础:支持 5GB 存储和 1GB 构建缓存免费计划强大:不限带宽,Cloudflare 网络性能最佳
动态功能支持Serverless Functions 和 API 路由Functions(支持边缘函数)无动态功能强大的 Lambda、API Gateway 集成Workers Functions 提供高效的动态处理
开发者体验易用,专为前端开发优化,支持高级功能(如 ISR、SSR)易用,支持直观 UI 和丰富插件简单但功能有限强大但需要熟悉 AWS 生态易用,开发者友好
适用场景单页应用、Next.js 项目、大型静态博客Jamstack 网站、小型 Web 应用静态个人网站、小型博客企业级应用、复杂全栈项目静态博客、企业网站、需要高性能的前端项目

3. 各平台特点总结

1. Vercel
  • 优点
    • 深度集成 Next.js,支持静态生成 (SSG)、增量静态生成 (ISR)、服务器端渲染 (SSR)。
    • 全球加速,构建速度快,开发者友好。
    • 强大的自动化工作流,适合团队协作和持续集成。
  • 缺点
    • 偏重前端项目,后端服务功能相对基础。
2. Netlify
  • 优点
    • 丰富插件生态(Netlify Plugins)扩展部署功能。
    • 支持边缘计算 (Edge Functions),适合 Jamstack 应用。
    • 免费套餐较大方,适合中小型项目。
  • 缺点
    • 对 SSR 支持不如 Vercel 出色,重点偏向静态内容。
3. GitHub Pages
  • 优点
    • 完全免费,适合托管简单的静态博客和文档。
    • 直接与 GitHub 仓库集成,无需额外配置。
  • 缺点
    • 功能有限,不支持动态功能。
    • 没有自动化 CI/CD 流程,依赖手动生成静态文件。
4. AWS Amplify
  • 优点
    • 与 AWS 服务深度集成,支持全栈开发(前端+后端)。
    • 高性能,适合需要动态 API 和复杂功能的项目。
  • 缺点
    • 学习曲线陡峭,需要熟悉 AWS 生态。
    • 免费计划限制较多,可能适合企业级项目。
5. Cloudflare Pages
  • 优点
    • 依托 Cloudflare 的全球 CDN,性能极佳。
    • 免费计划不限带宽,非常适合高流量网站。
    • 支持动态 Workers Functions,易于添加动态功能。
  • 缺点
    • 主要针对静态内容,对于复杂项目支持较弱。

4. 选择建议

  • 个人博客或小型网站
    • 推荐 Vercel(功能强大、易用)或 Netlify(免费带宽充足)。
    • 如果项目非常简单,GitHub Pages 是免费又稳定的选择。
  • 企业项目或复杂全栈应用
    • 推荐 AWS Amplify(全面支持前后端)。
    • 如果需要极致性能和全球加速,Cloudflare Pages 是理想选择。
  • 专注前端开发、使用 Next.js
    • Vercel 是首选。
      通过对比可以看出,选择哪个平台主要取决于你的项目需求、动态功能支持程度以及团队规模。对于大多数前端开发者,VercelNetlify 是最友好的选择,而对性能要求高的可以考虑 Cloudflare Pages

hexo个人静态博客更新部署流程

使用 HexoVercel 搭建的个人博客更新上传部署流程通常如下:

1. 初始化项目(初次搭建时)

1.1 安装 Hexo 和初始化博客项目
npm install -g hexo-cli
hexo init my-blog
cd my-blog
npm install
  • 初始化完成后,你的博客项目结构会被创建。
1.2 生成博客内容
  • 使用 Hexo 的命令生成静态页面:
hexo generate
  • 生成的文件会出现在 public/ 文件夹中。
1.3 部署到 Vercel
  1. 创建 Git 仓库:
    • 将博客项目托管到 GitHub/GitLab/Bitbucket 等平台。
    git init
    git add .
    git commit -m "Initial commit"
    git branch -M main
    git remote add origin <你的仓库地址>
    git push -u origin main
    
  2. 连接 Vercel:
    • 登录 Vercel 官方网站。
    • 点击 “New Project”,关联你的 Git 仓库。
    • 在项目设置中,选择:
      • Framework Preset:Hexo。
      • Build Commandhexo generate
      • Output Directorypublic
    • 点击部署,Vercel 会自动构建并上线你的博客。

2. 日常更新和部署流程

2.1 创建/更新博客内容
  1. 新增文章
    • 使用 Hexo 的命令创建新文章:
      hexo new "My New Post"
      
    • 打开 source/_posts 目录下的 Markdown 文件,编辑内容。
  2. 更新配置或资源
    • 修改 _config.yml 文件以调整博客设置。
    • 添加图片、CSS 等资源文件到 source/ 目录。
2.2 本地预览
  • 在提交修改前,可以在本地启动 Hexo 服务器预览博客:
hexo server
  • 在浏览器访问 http://localhost:4000 查看效果。
2.3 提交代码到 Git 仓库
  1. 生成静态页面:
    hexo generate
    
  2. 提交更新到 Git 仓库:
    git add .
    git commit -m "Update blog content"
    git push origin main
    
2.4 自动触发 Vercel 部署
  • 每次推送到远程仓库后,Vercel 会自动触发构建流程:
    • Vercel 拉取最新代码。
    • 执行 hexo generate
    • 将生成的静态文件部署到全球 CDN 网络。

总结

完整的 Hexo + Vercel 博客更新和部署流程如下:

  1. 在本地创建或编辑文章,使用 hexo generate 生成静态文件
  2. 推送代码到 Git 仓库
  3. Vercel 自动拉取代码并部署更新
  4. 访问博客,查看最新内容

简单的来说,vercel就是在你完成 Git 仓库的更新后,通过自动化流程拉取最新的代码,并构建、部署到全球的内容分发网络 (CDN) 上,让你的博客或网站实时更新并上线。


参考链接

超详细的Git使用教程(图文)-CSDN博客
SSH简介及两种远程登录的方法-CSDN博客
GPT

相关文章:

Git_2024/11/16

文章目录 前言Git是什么核心概念工作流程常见术语解读Git的优势 Git与SVN对比SVNGit总结 Git配置流程及指令环境配置获取Git仓库本地初始化远程克隆 工作目录、暂存区、版本库文件的两种状态本地仓库操作远程仓库操作Git分支Git标签IntelliJ IDEA使用Git回滚代码 GitHub配置流程…...

Java基础夯实——2.1Java常见的线程创建方式

在 Java 中&#xff0c;线程是实现并发编程的核心。主要有以下三种&#xff1a; 继承 Thread 类实现 Runnable 接口实现 Callable 接口并结合 Future 使用 1. 继承 Thread 类 继承 Thread 类是创建线程的最简单方式之一。通过扩展 Thread 类并重写其 run 方法&#xff0c;可…...

【Docker容器】一、一文了解docker

1、什么是docker&#xff1f; 1.1 docker概念 Docker是一种容器化平台&#xff0c;通过使用容器技术&#xff0c;Docker允许开发人员将应用程序和其依赖项打包到一个独立的、可移植的容器中。每个容器具有自己的文件系统、环境变量和资源隔离&#xff0c;从而使应用程序可以在…...

Spring:IOC实例化对象bean的方式

对象已经能交给Spring的IOC容器来创建了&#xff0c;但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程&#xff0c;在这块内容中主要解决两部分内容&#xff0c;分别是 bean是如何创建的实例化bean的三种方式&#xff0c;构造方法,静态工厂和实例工厂 在讲解这…...

深入解析生成对抗网络(GAN)

1. 引言 背景介绍 在过去的几十年中&#xff0c;深度学习在计算机视觉、自然语言处理和语音识别等领域取得了巨大的突破。然而&#xff0c;如何让机器生成高质量、逼真的数据一直是人工智能领域的挑战。传统的生成模型&#xff0c;如变分自编码器&#xff08;VAE&#xff09;…...

curl命令提交大json

有个客户需要提交一个4M左右的pdf&#xff0c;接口里传的是pdf字节流base64编码后的字符串。 直接curl -XPOST -d json串 api接口会报 参数过长报错Argument list too long 网上搜了下解决方案把json串放到文本里然后通过json.txt引入参数 这一试不要紧&#xff0c;差点儿导致…...

以太坊拥堵扩展解决方案Arbitrum

Arbitrum是一种用于以太坊的Layer 2&#xff08;L2&#xff09;扩展解决方案&#xff0c;以下是详细介绍&#xff1a; 1. 背景和基本原理 背景介绍&#xff1a;随着以太坊网络的发展&#xff0c;交易拥堵和高Gas费用的问题逐渐凸显。为了解决这些问题&#xff0c;Layer 2扩展…...

Kafka新节点加入集群操作指南

一、环境准备 1. Java环境安装 # 安装JDK apt-get update apt-get install openjdk-8-jdk -y2. 下载并解压 wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz tar xf kafka_2.13-2.8.1.tgz mv kafka_2.13-2.8.1 kafka二、配置环境变量 1. 创建kafka…...

【Android compose原创组件】在Compose里面实现内容不满一屏也可以触发边界阻尼效果的一种可用方法

创意背景 在安卓 View 传统命令式开发里面提供了非常多稳定美观体验好的组件&#xff0c;但是目前Compose还未有可用的组件&#xff0c;比如View中可以使用 coordinatorlayout 的滚动效果可以实现局部&#xff08;即使内容不满一屏也可以触发滚动边界阻尼效果&#xff09;&…...

介绍一下struct(c基础)

struct 是命名结构体的&#xff0c;可以看成集合。不同元素即是表达一个对象的不同方面属性。 格式 struct stu (一种标识符) { //命名不可初始化 [元素类型] 元素名; char 元素1[n]; int 元素2; int 元素3; __________ int 元素n; }; struct stu {//…...

模型压缩——基于粒度剪枝

1.引言 模型剪枝本质上是一种利用稀疏性来减少模型大小和计算量&#xff0c;从而提高训练和推理效率的技术。它为何会有效呢&#xff1f; 理论依据&#xff1a;有研究发现&#xff0c;在许多深度神经网络中&#xff0c;大部分参数是接近于0的&#xff0c;这些参数对模型最终的…...

IntelliJ IDEA 2023.2x——图文配置

IntelliJ IDEA 2023.2——配置说明 界面如下图所示 : 绿泡泡查找 “码猿趣事” 查找【idea99】 IntelliJ IDEA 的官方下载地址 IntelliJ IDEA 官网下载地址 一路上NEXT 到结尾&#xff1a; 继续NEXT 下一步:...

SpringBoot(5)-SpringSecurity

目录 一、是什么 二、实战测试 2.1 认识 2.2 认证和授权 2.3 权限控制和注销 2.4 记住我 一、是什么 Spring Security是一个框架&#xff0c;侧重于为java应用程序提供身份验证和授权。 Web应用的安全性主要分为两个部分&#xff1a; 认证&#xff08;Authentication&…...

fast-api后端 + fetch 前端流式文字响应

fast-api后端 fetch 前端流式文字响应 fast-api后台接口流式响应 前端fetch 流式文本数据处理 fast-api后台接口 流式响应 from fastapi.responses import StreamingResponse from tqdm import tqdm from pydantic import BaseModelclass ItemDataSingle(BaseModel):data: …...

Qt 的 QThread:多线程编程的基础

Qt 的 QThread&#xff1a;多线程编程的基础 在现代应用程序中&#xff0c;尤其是需要处理大量数据、进行长时间计算或者进行 I/O 操作时&#xff0c;多线程编程变得至关重要。Qt 提供了一个功能强大且易于使用的线程类 QThread&#xff0c;可以帮助开发者在 Qt 应用程序中实现…...

周末总结(2024/11/16)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意&#xff0c;执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己&#xff0c;抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内&#xff0c;职场社交不要放在5min以外 职场的人际关系在面对利…...

Chrome和Chromium的区别?浏览器引擎都用的哪些?浏览器引擎的作用?

Chrome和Chromium的区别? Chrome是Google专属的产品&#xff0c;它是基于后者Chromium开源引擎开发。第三方浏览器公司为了加快开发流程&#xff0c;会直接选择开源的浏览器引擎&#xff0c;例如Chromium. Google将Chromium开源&#xff0c;本意为了打破浏览器被其他公司控制的…...

流程图图解@RequestBody @RequestPart @RequestParam @ModelAttribute

RequestBody 只能用一次&#xff0c;因为只有一个请求体 #mermaid-svg-8WZfkzl0GPvOiNj3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8WZfkzl0GPvOiNj3 .error-icon{fill:#552222;}#mermaid-svg-8WZfkzl0GPvOiNj…...

AutoUpdater.NET 实现 dotNET应用自动更新

AutoUpdater.NET 是一款用于WPF、Winform软件版本更新的框架&#xff0c;类似框架还有Squirrel、WinSparkle、NetSparkle、Google Omaha。 一、安装AutoUpdater.NET 首先&#xff0c;您需要在项目中安装AutoUpdater.NET库。您可以通过NuGet包管理器来安装它。在Visual Studio中…...

108. UE5 GAS RPG 实现地图名称更新和加载关卡

在这一篇里&#xff0c;我们将实现对存档的删除功能&#xff0c;在删除时会有弹框确认。接着实现获取玩家的等级和地图名称和存档位置&#xff0c;我们可以通过存档进入游戏&#xff0c;玩家在游戏中可以在存档点存储存档。 实现删除存档 删除存档需要一个弹框确认&#xff0…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...