Java阶段五Day02

Java阶段五Day02

文章目录

  • Java阶段五Day02
    • MAVEN-聚合(多模块3)
      • 回顾多模块2个特性
        • 依赖:
        • 继承:
      • 聚合
        • 场景
        • 聚合目的
        • 实现聚合
        • 聚合总结
      • 远程仓库
        • 远程仓库概念
        • 配置settings.xml
        • 远程库配置注意事项
    • GIT详细学习
      • git概括
      • git历史
      • 本地版本控制相关命令
      • git分支管理
        • 分支管理基本概念
        • 分支管理相关命令
        • Idea的插件操作
      • 远程仓库(gitee)

MAVEN-聚合(多模块3)

回顾多模块2个特性

依赖:

  • 意义: 代码(项目工程代码)的复用
  • 特性: 具有传递性,可以去除
  • 实现: A依赖B,表示A复用B工程代码,使用dependency在A中配置B

继承:

  • 意义: 项目工程资源版本的统一管理
  • 实现:
    • 父工程packaging必定是pom(pom类型工程 没有jar包,没有代码)
    • 子工程使用parent标签指向父工程(找父工程pom文件)
  • 本质: pom文件的标签的复用

聚合

场景

有依赖,有继承关系,已经看到maven多模块了.

一个团队开发项目时候,一定多模块管理的.多人协作开发,使用maven管理项目关系的.

假如项目结构:

a1,a2,b1,b2是项目中4个人共同并行开发的.每个项目都是一个应用的web程序,所以目的都是打成jar包,运行java启动命令

java -jar a1.jar
java -jar a2.jar
java -jar b1.jar
java -jar b2.jar

每个项目都要执行maven声明周期中以下几个命令

mvn clean compile 编译

mvn clean test 测试

mvn clean package 打包

发现2个问题需要解决:

  1. 打包命令重复执行很多遍.
  2. 执行相同命令时,还需要额外关心项目依赖关系.

聚合目的

聚合的目的,就是为了统一执行mvn相关命令的.而不需要关心,依赖关系,继承关系,聚合本身就保管了所有的多模块关系.

实现聚合

  1. 挑选一个聚合工程,聚合工程packaging类型是pom(和父工程要求是一致的)
  2. 聚合工程来实现modules配置.指向被聚合的工程(idea在创建工程时,自动实现的)

maven-parent-demo 顶级父工程

<modules>
    <module>maven-child-a</module>
    <module>maven-child-b</module>
</modules>

maven-child-a 二级父工程

<modules>
    <module>a1</module>
    <module>a2</module>
</modules>

如果idea版本不同,在创建项目时,聚合的配置有所区别,有可能在顶级父工程中,聚合了所有人

配置完上述两部操作,只需要对聚合工程执行mvn命令,统一对被聚合工程执行相同的命令,而且满足依赖关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UazzICL6-1688967343375)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710095324339.png)]

聚合总结

  • 意义: 统一多模块mvn命令和顺序的执行
  • 实现: 聚合工程packaging类型pom ,指向module被聚合工程
  • 本质: pom文件加载的顺序,通过modules关联起来了.

远程仓库

远程仓库概念

maven作为项目管理工具,资源是非常丰富的. 资源存储在maven社区的中央仓库(central).下载完的资源存放到本地库(idea中使用,默认c:/User/{username}/.m2/repositories)

资源包括:

jar包(依赖使用的)

插件(site网站插件,打jar包插件)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D7bH75Mt-1688967343376)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710102529711.png)]

中央库服务器地址是在国外,对于个人开发者,网络连通状态不一定好.所以国内提供了大厂的镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mfcvPaLw-1688967343377)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710102836403.png)]

公司来讲,开发需要用到的资源,总是开源的么?引入公司私服,管理公司私有资源.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ENMp3npw-1688967343377)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710103305636.png)]

配置settings.xml

将笔记中,resources/settings.xml. 粘贴到当前idea加载的settings.xml的文件夹,可以将原文件直接覆盖.

也可以将原文件改名,备份.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pdWyxo6T-1688967343378)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710103618819.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z2f3Ort9-1688967343378)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710103636326.png)]

  1. 笔记文件
  2. 原文件备份(可以不做备份)
  • server配置和repository配置关系

通过server的id绑定了repository的id.

所以如果使用tedu-releases admin/TarenaCloud进行授权

所以如果使用tedu-snapshot admin/TarenaCloud进行授权

  • 镜像的过滤配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TDOg5LR8-1688967343380)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710104623250.png)]

镜像配置,使用的是阿里云镜像.和之前不一样的是 mirrorOf(代理谁,用这个镜像).匹配资源远程服务器.

*: 表示 PC电脑开发端,所有资源都要使用阿里云镜像

central: 表示如果客户端使用的是maven中央内资源,就使用阿里云镜像(和* 重复了)

!tedu-releases: 镜像不代理tedu-releases

!tedu-snapshots: 镜像不代理tedu-snapshots

上述配置完成之后,对于maven项目的资源获取的途径和优先级

idea同一个workspace–>本地库–>阿里镜像–>阿里不代理的仓库 tedu-releases和tedu-snapshots

远程库配置注意事项

  • 用户名和密码在任何情况下都不要泄露

  • idea有的版本自动拦截http协议,导致访问私服的请求,转发到http://0.0.0.0:80这个地址

如果发现私服无法连接下载,在没有确保私服网络故障的前提下.找到idea的全局settings.xml

只要使用-X执行maven任意生命周期命令,就能看到这个全局settings.xml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wq10cLU-1688967343380)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710112245809.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E2EcOi5O-1688967343381)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710112441843.png)]

  • 小问题: 如果使用的依赖版本是SNAPSHOT,表明这种jar包资源是开发版本,稳定版是RELEASE.可能持续更新的状态,使用依赖资源,maven资源的客户端工程,可以通过-U选项添加在maven命令中,强制要求更新最新版本.

例如:

mvn clean compile -U -X

GIT详细学习

git概括

在代码开发过程中,往往需要对源码进行多次的修改操作,这样一来同一份代码就产生了多个版本,在开发过程中通常需要对这些多个版本代码进行管理,以便于在需要时进行  代码回滚、多版本间比较、多人协作开发、代码分支、分支合并 等操作。

这样的需求大量的存在,而随着软件越来越复杂、代码越来越多、参与开发者越来越多,版本管理也变的越来越有难度,此时就需要专业的软件来对版本进行管理,这个过程就称之为版本控制,实现版本控制的软件就称之为版本控制软件。

git历史

Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

本地版本控制相关命令

  • 初始化仓库

针对idea中每一个项目,都是一个git仓库. 仓库中有2个区域,一个工作区,一个叫做版本库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dUXxnMe-1688967343382)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710115126244.png)]

工作区和版本库,通过命令来联系.

如果想要使用git,管理idea项目,第一件事就是初始化一个项目的git仓库.

git init

了解命令,执行操作步骤

  1. 创建idea的maven工程(有可能自动初始化)
  2. 创建完,在terminal(相当于windows的cmd终端窗口,可以执行dos命令)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z0cwGhG8-1688967343382)(E:/TeduWork/notes-2303/%25E8%25AF%25BE%25E5%25A0%2582%25E7%25AC%2594%25E8%25AE%25B0/Day02/assets/image-20230710115757429.png)]

  • 配置开发信息

开发人员在git中提供2个基本信息,姓名和邮箱

用户级别的配置.一个项目,对应一个开发人员信息

git config user.name
git config user.email

全局级别的配置. 默认使用.

git config --global user.name
git config --global user.email

如果要修改,只需要添加={值}

git config --global user.name 肖旭伟
  • 添加到暂存区

在git仓库中,有2个区域,一个是工作区,一个是版本库,版本库中有暂存区和分支master.

可以利用命令add 将工作区中的文件,添加到暂存区.

哪些文件需要新增,可以使用status查看

git status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PeMmlClo-1688986201372)(assets/image-20230710142609692.png)]

可以通过add将文件添加到暂存区,一旦添加,文件就开始被追踪.追踪的是文件的变动.

git add {path/文件名}

如果全部都添加到暂存区,不是一个一个文件执行 * .

git add *

Idea特性:idea管理git项目仓库,提示你是否新增的文件自动执行add追踪添加到暂存区,如果点击了add.所有新建的文件,都自动执行add.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GEbRMYf-1688986201373)(assets/image-20230710143327963.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lhUFQhUR-1688986201374)(assets/image-20230710143410501.png)]

  • 提交版本

添加到暂存区的文件,可以使用commit命令,提交到分支,永久存储,不在丢失,只有回滚的可能.

git commit -m '本次提交的提示信息'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g2ErJL05-1688986201377)(assets/image-20230710143844783.png)]

提交的信息,永久保存,git给当前提交数据,固定保存了一个版本号.

可以通过Idea的控制台git信息看到.

  • 课堂穿插练习
请通过,以上学习内容,完成以下的操作
1. 初始化一个git仓库
2. 定义个人信息开发者名称,邮箱
3. 正常开发web项目
4. 提交到master分支
  • 查看提交版本信息

提交的版本,可以使用log命令,查看当前版本之前的所有版本信息.

git log

为了让当前项目看到更多版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-onso7EMJ-1688986201378)(assets/image-20230710151855657.png)]

  • 执行版本的回滚

可以通过git reset 命令 添加回滚的选项 --hard --soft --mixed

git reset [--hard|soft|mixed] version版本号

–hard表示 直接回滚到version对应的版本,本地其他文件丢失.

–soft回退的版本和当前的区别会保存在暂存区(工作区看到的文件)

–mixed(默认值)回退的版本,不会保留在暂存区,会保存在工作区.

根据上述描述,soft回退和mixed 在idea执行,效果是几乎完全一样的.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RwnbhDn-1688986201379)(assets/image-20230710154336156.png)]

使用q退出log的查看.

版本维护,有时候不方便的,所以git提供了 tag标签

  • 打标签

如果版本号不容易记录,可以在版本中添加标签.

git tag 标签内容 版本号
  • 查询操作日志

如果没有对重要版本打标签,也不记得版本号,可以使用日志查询,检查对应的操作

git reflog

你从git init开始,记录的所有git操作的命令

git分支管理

分支管理基本概念

分支,为了避免同一个仓库,多人协作开发时,重复,冗余解决文件冲突问题,引出的一个git特性.

分支管理相关命令

  • 创建分支

选择一个基分支(base branch),创建多个新分支. 你执行以下命令,所在的分支就是基分支

git branch 新分支名称

基于当前版本,在master上创建b1 b2,三个分支的结构

  • 切换分支

使用checkout命令,可以切换分支,每个分支的切换,都会在版本库中,找到对应分支,切换完了,commit向当前分支提交,而不会提交到切换之前的分支.

git checkout 分支名称
  • 查看分支,查看当前操作分支
git branch

看到的返回结果 * 所在分支就是当前分支.

在b1中添加一个文件application-b1.yaml 并且提交了版本.

可以通过对分支的管理,实现多人协作开发过程中的,并行开发.

  • 分支的合并

当某个功能,交给多个人员开发,并行开发结束,要进行分支的合并. merge(rebase)

git merge 目标分支

注意: 执行上述命令的效果,当前分支,会合并目标分支

按照如下步骤操作: 目的将b1的变动合并到 master 和b2

  1. 确定当前分支是否是master,如果不是,就切换
git branch
git checkout master
  1. 确定好所在分支,和目标分支之后,执行merge合并
git merge b1

经过合并,并且通过checkout和log检查,master和b1分支版本相同的.

  • 冲突解决

冲突条件:

  1. 相同文件
  2. 必须存在行冲突

本质版本基于不同的父version进行合并.

案例:

在b1前一个合并案例完成后,继续推进b1版本变动,从文件dev里改变了内容,形成v3

把b1合并到b2.

  1. 切换到b2
git checkout b2
  1. 合并目标分支
git merge b1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HUB0GiDJ-1688986201379)(assets/image-20230710164446824.png)]

人为制造冲突

  1. b2新增一个属性spring.age=18

  1. 切换到b1 spring.age=19

  1. 把b1再次合并到b2

将两个分支合并时,提示有冲突

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YcF1VUYx-1688986201380)(assets/image-20230710165227440.png)]

冲突的文件会被git stash(暂存标记)

手动修改冲突,修改的冲突文件,在工作区,继续执行合并,需要先add到暂存区

git add *

然后执行merge --continue

git merge --continue

合并就结束,文件目前处在暂存区,重新提交一版.(继续合并结束,当前光标所在位置 输入 :wq 保存退出提示文本)

git commit -m "描述信息"

注意: 将目标分支合并到当前分支,目标分支的版本不变.

  • merge和rebase区别

rebase相当于细致管理merge细节.将两个分支合并时,所有不相同的版本,都经历一次merge.

merge只将最终的版本合并一次.不在关心早期版本.

结果是相同的.

Idea的插件操作

上述操作的git所有命令,都可以在idea中插件,通过点击按钮,实现.

  • git add

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hzzo0pVv-1688986201380)(assets/image-20230710173816686.png)]

  • git log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oMNCuAj2-1688986201381)(assets/image-20230710174037177.png)]

  • git commit

保证在add后执行.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yBDonhta-1688986201382)(assets/image-20230710174124114.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lGiFI8Pu-1688986201383)(assets/image-20230710174148663.png)]

  • git branch管理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RlFQrxr2-1688986201384)(assets/image-20230710174340367.png)]

新建分支,对比分支版本和当前工作区的区别.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qy5vmIij-1688986201385)(assets/image-20230710174411541.png)]

  • 冲突解决

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AAGowC8I-1688986201385)(assets/image-20230710175144703.png)]

明确指出合并冲突文件有几个——1个

给3中解决方案(把master合并到b2过程)

  1. 接受你的(当前分支的)
  2. 接受他的(目标分支的)
  3. merge(stash 暂存手动解决)

远程仓库(gitee)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/36171.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Failed to initialize NVML: Driver/library version mismatch

nvidia驱动安装之后&#xff0c;nvidia-smi 报错 Driver/library version mismatch 不重启系统的解决方法 查看系统日志&#xff0c;确定具体报错信息&#xff1a; # dmesg | tail [8598493.408944] NVRM: API mismatch: the client has the version 525.125.06, butNVRM: t…

STL好难(4):list的使用

和列表很像 1.list的介绍 点击这里查看 list 的官方文档 list类似数据结构中的链表 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独…

flutter聊天界面-自定义表情键盘实现

flutter聊天界面-自定义表情键盘实现 flutter 是 Google推出并开源的移动应用开发框架&#xff0c;主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App&#xff0c;一套代码同时运行在 iOS 和 Android平台。 flutter开发基础腾讯IM的聊天应用&#xff0c;使用的是t…

css设计表格圆角最简单的方法

代码如下&#xff1a; table {width: 100%;/* border-collapse: collapse; */background-color: #FBFBFB; /* 背景颜色; */border-collapse: separate; /* 让border-radius有效 */border-spacing: 0; /*表格中每个格边距设为0*/border: 1px solid #DFDFDF;/*边框*/border-radi…

ETHERNET/IP 转ETHERCAT连接倍福和欧姆龙PLC的配置方法

ETHERNET/IP和ETHERCAT是两种不同的协议&#xff0c;它们在工业生产中都有广泛的应用。然而&#xff0c;由于协议不同&#xff0c;这两种设备之间无法通讯&#xff0c;这给工业生产带来了很大的麻烦。而远创智控YC-EIP-ECT网关应运而生&#xff0c;它能够连接到ETHERNET/IP总线…

【Linux之拿捏信号3】阻塞信号

文章目录 相关概念原理sigset_t信号集信号集操作函数sigprocmask系统调用sigpending 相关概念 实际执行信号的处理动作——信号递达Delivery&#xff08;例如自定义捕捉动作&#xff0c;core&#xff0c;Term终止进程的动作&#xff09;。信号从产生到递达之间的状态——信号未…

Anaconda配置可视化绘图库seaborn的方法

本文介绍在Anaconda的环境中&#xff0c;安装Python语言中&#xff0c;常用的一个绘图库seaborn模块的方法。 seaborn模块是基于Matplotlib的数据可视化库&#xff0c;它提供了一种更简单、更漂亮的界面来创建各种统计图形。seaborn模块主要用于数据探索、数据分析和数据可视化…

换零钱——最小钱币张数(贪心算法)

贪心算法&#xff1a;根据给定钱币面值列表&#xff0c;输出给定钱币金额的最小张数。 (本笔记适合学完python基本数据结构&#xff0c;初通 Python 的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣…

C/C++编程安全标准GJB-8114解读——声明定义类

软件检测实验室在建立软件测试体系或申请cnas/cma相关资质时&#xff0c;需要依据相关标准&#xff0c;使用有效的方法开展检验检测活动&#xff0c;GJB-8114是一部嵌入式软件安全测试相关的国家标准&#xff0c;本系列文章我们就针对GJB-8114《C/C语言编程安全子集》的具体内容…

Android 热修复一

一、什么是热修复&#xff1f; 在我们应用上线后出现bug需要及时修复时&#xff0c;不用再发新的安装包&#xff0c;只需要发布补丁包&#xff0c;在客户无感知下修复掉bug。 实现效果&#xff1a; Demo源码&#xff1a; https://gitee.com/sziitjim/hotfix 二、怎么进行热修…

一文了解Docker之网络模型

目录 1.Docker网络 1.1 Docker网络模型概述 1.2 Docker网络驱动程序 1.2.1 host模式 1.2.2 bridge模式 1.2.3 container模式 1.2.4 none模式 1.3 Docker网络命令示例 1.3.1 创建一个自定义网络 1.3.2 列出所有网络 1.3.3 连接容器到网络 1.3.4 断开容器与网络的连接…

如何与ChatGPT愉快地聊天

原文链接&#xff1a;https://mp.weixin.qq.com/s/ui-O4CnT_W51_zqW4krtcQ 人工智能的发展已经走到了一个新的阶段&#xff0c;在这个阶段&#xff0c;人工智能可以像人一样与我们进行深度的文本交互。其中&#xff0c;OpenAI的ChatGPT是一个具有代表性的模型。然而&#xff0…

【ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 1】

文章目录 1.1 DP 中相关寄存器的介绍1.1.1 DPACC and APACC 寄存器1.1.2 DP SELECT 寄存器1.1.3 AP CSW寄存器1.1.4 AP TAR 寄存器1.1.5 AP DRW寄存器1.1.6 AP Banked Data registers 1.1 DP 中相关寄存器的介绍 如果DAP接入的是JTAG接口&#xff0c;那么将会通过APACC寄存器来…

[VUE学习]权限管理系统前端vue实现8-右上角用户头像显示实现

1.现在有个问题 我们再没有token情况下通过url可以直接访问页面 这不可以 所以我们需要添加路由守卫 拦截 2.permission.js的代码 import router from "/router/index" import store from "/store"router.beforeEach((to,from,next)>{const whiteList…

React类组件

1. React组件 将页面按照界面功能进行拆分&#xff0c;每一块界面都拥有自己的独立逻辑&#xff0c;这样可以提高项目代码的可维护性。其中React组件分为两种&#xff0c;一种是类式组件&#xff0c;一种是函数式组件。这里我们将的是比较常用的类式组件&#xff0c;但是在后续…

括号生成(力扣)递归 JAVA

目录 题目描述&#xff1a;纯递归解法&#xff1a;递归 回溯&#xff1a; 题目描述&#xff1a; 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a…

子集 (力扣)数学推理 JAVA

给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2],[1,2],[3],[…

Unity/Shader 零碎知识点

坐标系 Unity使用的是左手坐标系&#xff1b;观察空间&#xff0c;通俗来讲就是以摄像机为原点的坐标系&#xff0c;摄像机的前向是z轴的负方向&#xff0c;与模型和世界空间中的定义相反&#xff0c;z轴的坐标减少意味着场景深度的增加 点积 abba|a||b|cos<a,b> 结果为常…

邮票面值-2022年全国青少年信息素养大赛Python国赛第5题

[导读]&#xff1a;超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲&#xff0c;这是超平老师解读Python编程挑战赛真题系列的第7讲。 全国青少年信息素养大赛&#xff08;原全国青少年电子信息智能创新大赛&#xff09;是“世界机器人大会青少年机器人设计…

Spring Boot原理分析 | SpringApplication、Yaml、Properties

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Spring Boot Spring开源框架&#xff0c;轻量级的Java开发框架&#xff0c;解决企业级应用开发的复杂性而创建&#xff0c;简化开发 基于POJO的轻量级和最小侵入型编程…