gti 远程操作
目录
一. 分布式版本控制管理系统
1. 理解分布式版本控制管理系统
二. 创建远程仓库
编辑
编辑
三. 克隆远程仓库_HTTP
四. 克隆远程仓库_SSH
配置公钥
添加公钥
五. git 向远程仓库推送
六. 拉取远程仓库
七. 忽略特殊文件
八. 配置别名
一. 分布式版本控制管理系统
实际上,我们的 git 是一个分布式版本控制管理系统,那么什么是分布式版本控制管理系统呢?
1. 理解分布式版本控制管理系统
我们现在要开发一个产品,我们是需要多人协作开发的,所以我们现在每个人都有一台电脑,我们的每台电脑上都有一个 git 仓库,我们为了多人协作开发方便,所以我们现在有一个中央服务器,中央服务器里面有一个仓库,用来存储我们协作开发的内容,如果我们中的任何一个人想要看别人开发的代码,我们只需要在中央服务器上 clone 下来,然后我们就可以看到别人开发的代码了
上面的这个是我们自己弄的,而 git 就是已经帮我们弄好了,所以 分布式版本控制管理系统就是上面的那个样子
二. 创建远程仓库
我们使用的 git 平台是 码云 ,如果没有账户的话,可以先创建一个
下面会一步一步来,先到 gti 官网,登录上自己的账号,然后点击右上角的 ‘+’,然后点击 “新建仓库”
我们先看一下初始化仓库里面的这些选项有什么用
选则语言:就是我们仓库代码的语言
模板:就是里面有一些模板,其中就有 gitignore 模板,有该模板的话,可以在 add的时候自动忽略一些没有用的文件
开源许可证:选则了某个开源项目的话,就可以使用里面的某些内容等...
设置模板就是创建完仓库里面自带的文件
Readme:就是用来介绍该仓库项目的
Issue:就是写该项目遇到的问题的,以及可以管理这些问题
Poll Request:就是当我们有一个分支想要 merge 的时候,我们需要申请,而Pull Request 就是申请
分支模型:我们之前学过的分支,如果不选的话,我们也自动创建一个 master 分支
然后我们选则完毕后,点击创建就创建完成
如果我们想要对仓库进行管理的话,那么我们就点击管理
我们就可以对仓库进行管理
三. 克隆远程仓库_HTTP
我们在我们的这个仓库里面 首先点击 克隆/下载,然后点击 HTTPS 在点击复制,然后我到我们的远程服务器上,我们使用 git clone + 复制的 URL
注意:不要在任何一个仓库目录下克隆
我们克隆后,我们要输入我们的 gitee 的用户名
然后输入我们的 gitee 的密码,linux下密码是不回显的
[lxy@hecs-165234 ~]$ git clone https://gitee.com/naxxkuku/remot-gitcode.git
Cloning into 'remot-gitcode'...
Username for 'https://gitee.com': naxxkuku
Password for 'https://naxxkuku@gitee.com':
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
我们克隆好后,我们的仓库就是这个样子
而这个远程仓库:origin 就是我们的远程仓库的名称
指令:git remote 查看远程仓库名(统称)
[lxy@hecs-165234 remot-gitcode]$ git remote
origin
指令:git remote -v 查看远程仓库的详细信息
[lxy@hecs-165234 remot-gitcode]$ git remote -v
origin https://gitee.com/naxxkuku/remot-gitcode.git (fetch)
origin https://gitee.com/naxxkuku/remot-gitcode.git (push)
上面的 URL 就是远程仓库的地址,而括号里面的 fetch(表示可以拉), push(表示可以推)
如果我们本地没有远程仓库的内容,那么我们就要使用 fetch权限,然后把本地仓库没有的给拉下来
如果我们本地仓库想要把开发的内容放到远程仓库,那么我们就要使用 push权限,把本地新的内容推送到远程仓库
四. 克隆远程仓库_SSH
使用 SSH 协议使用的是公钥加密和公钥登录的一个机制,我们要向使用SSH的话,我们需要将自己的服务器上的公钥放到 git 上进行管理。
下面查看 git 上是否配置公钥。
这里我们的 git 并没有配置公钥,我们配置一下。
如果这里没有配置,然后直接克隆试一下。
[lxy@hecs-165234 ~]$ git clone git@gitee.com:naxxkuku/remot-gitcode.git
Cloning into 'remot-gitcode'...
The authenticity of host 'gitee.com (180.76.198.77)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
ECDSA key fingerprint is MD5:27:e5:d3:f7:2a:9e:eb:6c:93:cd:1f:c1:47:a3:54:b1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,180.76.198.77' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
这里就出错了。
配置公钥
-
到用户目录下查看是否有 .ssh 文件(没有就创建)
-
如果有的话,查看是否有 id_rsa 和 id_rsa.pub,其中 id_rsa.pub 就是公钥,有的话就直接复制粘贴到那个配置项里面就可以了
-
没有的话,我们输入这条命令 ssh-keygen -t rsa -C "2146047600@qq.com"(这个邮箱是 git 上填的邮箱),输入后,这里一路回车,什么都不用填写。
[lxy@hecs-165234 .ssh]$ ssh-keygen -t rsa -C "2146047600@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/lxy/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/lxy/.ssh/id_rsa.
Your public key has been saved in /home/lxy/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:BzyRXqxyiIJCaTFmGs8ErLp9TFFtb47xn/svPYEC3po 2146047600@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|+*+ ..o |
|+X. ..+.o |
|=.o o +++ |
|+ . o o =+o |
|o . . oS*+ . |
|. . .ooo . . |
| o o o... ..|
|. . o E o ...|
| . .o.oo|
+----[SHA256]-----+
[lxy@hecs-165234 .ssh]$ ll
total 12
-rw------- 1 lxy lxy 1679 Jul 30 15:56 id_rsa
-rw-r--r-- 1 lxy lxy 399 Jul 30 15:56 id_rsa.pub
-rw-r--r-- 1 lxy lxy 185 Jul 30 15:46 known_hosts
下面积都创建好了。
添加公钥
配置好后,我们打开公钥,然后赋值粘贴到配置项里面。
配置好后要输入密码。
这样就配置完成。
配置结束后就继续克隆。
[lxy@hecs-165234 ~]$ git clone git@gitee.com:naxxkuku/remot-gitcode.git
Cloning into 'remot-gitcode'...
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (7/7), done.
这样就成功了。
五. git 向远程仓库推送
当我们的有远端仓库的时候,我们在查看一下 git 的配置,我们需要把git里面的 name 和 email 都配置成我们git 的。
名字就是这个。
邮箱就是我们 git 上填写的邮箱。
[lxy@hecs-165234 remot-gitcode]$ git config --global user.name "naxxkuku"
[lxy@hecs-165234 remot-gitcode]$ git config --global user.email "2146047600@qq.com"
[lxy@hecs-165234 remot-gitcode]$ git config -l
user.name=naxxkuku
user.email=2146047600@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@gitee.com:naxxkuku/remot-gitcode.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
着用就配置好了。
[lxy@hecs-165234 remot-gitcode]$ git push origin master:master
[lxy@hecs-165234 remot-gitcode]$ git add .
[lxy@hecs-165234 remot-gitcode]$ git commit -m "linux 远程测试"
[master 00846ac] linux 远程测试1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 test.txt
[lxy@hecs-165234 remot-gitcode]$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
[lxy@hecs-165234 remot-gitcode]$ git push origin master:master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:naxxkuku/remot-gitcode.git5fe97e9..00846ac master -> master
这里就好了,这里在细看一下 push
这里就是git push 命令,然后后面是 origin 表示远端,在后面是一个 master 表示本地的master 分支,后面的master 分支表示向远端的master分支推送,这里如果本地和远端都是master分支那么其实是可以省略只写一个的。
这时候我们的远程仓库也就推送到了。
六. 拉取远程仓库
场景:当为我们和其他人共同使用一个仓库时,我们需要别人编写的内容,所i我们需要从远端仓库拉取下来。
这里就不使用这种场景了,这里我们就直接修改远端的数据,然后我们在向下拉取。
现在我们开始向下拉取。
[lxy@hecs-165234 remot-gitcode]$ git pull origin master:master
[lxy@hecs-165234 remot-gitcode]$ git pull origin master:master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From gitee.com:naxxkuku/remot-gitcode3e140e1..a16ec9b master -> master
Warning: fetch updated the current branch head.
Warning: fast-forwarding your working tree from
Warning: commit 3e140e153a9dae37ce64c4d81032588ce3f88507.
Already up-to-date.
[lxy@hecs-165234 remot-gitcode]$ cat test.txt
hello world
拉取测试~~~
我们这里拉取成功了。
这个就是拉取,origin 也表示远端,master分别表示远端和本地,这两个也能省略写。
七. 忽略特殊文件
在创建文件的时候我们可以挑选 .gitignore 文件,这个文件可以帮助我们忽略掉我们不想要被管理的文件。
我们当时创建库的时候并没有选择该文件,所以我们可以创建一个。
[lxy@hecs-165234 remot-gitcode]$ cat .gitignore
# 忽略文件*.so
*.exe
我们向该文件里面写入 *.so 表示所有的 so后缀的文件都会被忽略。
现在我们测试一下。
[lxy@hecs-165234 remot-gitcode]$ touch test.so
[lxy@hecs-165234 remot-gitcode]$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
# (use "git push" to publish your local commits)
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
nothing added to commit but untracked files present (use "git add" to track)
我们创建了一个 test.so 文件,然后我们 git status 查看,我们发现只有我们刚才的 .gitignore 文件,我们的 test.so 文件已经被忽略。
那么我们再试一下,我们创建一个 test.txt 文件,然后我们push后查看远端。
[lxy@hecs-165234 remot-gitcode]$ touch test.exe
[lxy@hecs-165234 remot-gitcode]$ vim test.exe
[lxy@hecs-165234 remot-gitcode]$ vim test.so
[lxy@hecs-165234 remot-gitcode]$ git add .
[lxy@hecs-165234 remot-gitcode]$ git commit -m ".gitignore 文件测试"
[master e3e09e3] .gitignore 文件测试1 file changed, 4 insertions(+)create mode 100644 .gitignore
[lxy@hecs-165234 remot-gitcode]$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 313 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:naxxkuku/remot-gitcode.gita16ec9b..e3e09e3 master -> master
我们发现并未被提交。那么我们就是向提交某一个 .so 文件呢?
[lxy@hecs-165234 remot-gitcode]$ git add -f right.so
[lxy@hecs-165234 remot-gitcode]$ touch right.so
[lxy@hecs-165234 remot-gitcode]$ git add -f right.so
[lxy@hecs-165234 remot-gitcode]$ git commit -m "强制提交忽略文件测试"
[master 4f7a650] 强制提交忽略文件测试1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 right.so
[lxy@hecs-165234 remot-gitcode]$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 303 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:naxxkuku/remot-gitcode.gite3e09e3..4f7a650 master -> master
这里要是想强制提交,那么就是带 -f 选项,但是这样带 -f 选项会破坏规则,所以我们还可以在 .gitignore 文件里面继续编写。
[lxy@hecs-165234 remot-gitcode]$ cat .gitignore
# 忽略文件*.so
*.exe!left.so
我们在前面加 ! 就表示不忽略该文件。下面测试一下。
[lxy@hecs-165234 remot-gitcode]$ touch left.so
[lxy@hecs-165234 remot-gitcode]$ git add .
[lxy@hecs-165234 remot-gitcode]$ git commit -m ".gitignore文件不忽略测试"
[master ba0b6df] .gitignore文件不忽略测试2 files changed, 2 insertions(+)create mode 100644 left.so
[lxy@hecs-165234 remot-gitcode]$ git push origin master
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 334 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:naxxkuku/remot-gitcode.git4f7a650..ba0b6df master -> master
如果当我们的 .gitignore 文件里面的忽略配置太多,我们也不知道我们到底有没有忽略,我们可以使用命令查看一下。
[lxy@hecs-165234 remot-gitcode]$ git check-ignore -v up.so
[lxy@hecs-165234 remot-gitcode]$ touch up.so
[lxy@hecs-165234 remot-gitcode]$ git check-ignore -v up.so
.gitignore:3:*.so up.so
这里就可以看到我们的 up.so 时被忽略的,到 .gitignore 的第三行。
八. 配置别名
有时候我们在 git 操作的时候命令太长,我们可以对其进行配置
[lxy@hecs-165234 remot-gitcode]$ git log --pretty=oneline --abbrev-commit
我们想对这条命令进行配置一下。
[lxy@hecs-165234 remot-gitcode]$ git config --global alias.缩写名 '被缩写的命令'
上面这个就是指令,我们来试验一下。
[lxy@hecs-165234 remot-gitcode]$ git config --global alias.lps 'log --pretty=oneline --abbrev-commit'
下面我们看一下我们的配置是否可以。
[lxy@hecs-165234 remot-gitcode]$ git lps
ba0b6df .gitignore文件不忽略测试
4f7a650 强制提交忽略文件测试
e3e09e3 .gitignore 文件测试
a16ec9b update test.txt.
3e140e1 git 远端测试
00846ac linux 远程测试
5fe97e9 Initial commit
当然我们配置后原指令也是可以继续生效的。
[lxy@hecs-165234 remot-gitcode]$ git log --pretty=oneline --abbrev-commit
ba0b6df .gitignore文件不忽略测试
4f7a650 强制提交忽略文件测试
e3e09e3 .gitignore 文件测试
a16ec9b update test.txt.
3e140e1 git 远端测试
00846ac linux 远程测试
5fe97e9 Initial commit
git 的远程操作就到这里,我们下次再见~
相关文章:

gti 远程操作
目录 一. 分布式版本控制管理系统 1. 理解分布式版本控制管理系统 二. 创建远程仓库 编辑 编辑 三. 克隆远程仓库_HTTP 四. 克隆远程仓库_SSH 配置公钥 添加公钥 五. git 向远程仓库推送 六. 拉取远程仓库 七. 忽略特殊文件 八. 配置别名 一. 分布式版本控制管理…...
Ftrace
一、概述 Ftrace有剖析器和跟踪器。剖析器提供统计摘要,如激素胡和直方图;而跟踪器提供每一个事件的细节。 Ftrace剖析器列表: 剖析器描述function内核函数统计分析kprobe profiler启用的kprobe计数器uprobe profiler启用的uprobe计数器hi…...

Tomcat修改端口号
网上的教程都比较老,今天用tomcat9.0记录一下 conf文件夹下server.xml文件 刚开始改了打红叉的地方,发现没用,改了上面那行...
vue2企业级项目(一)
vue2企业级项目(一) 创建项目,并创建项目编译规范 1、node 版本 由于是vue2项目,所以 node 版本比较低。使用 12.18.3 左右即可 2、安装vue 安装指定版本的vue2 npm i -g vue2.7.10 npm i -g vue/cli4.4.63、编辑器规范 vsc…...
【前端知识】React 基础巩固(三十八)——log、thunk、applyMiddleware中间件的核心代码
React 基础巩固(三十八)——log、thunk、applyMiddleware中间件的核心代码 一、打印日志-中间件核心代码 利用Monkey Patching,修改原有的程序逻辑,在调用dispatch的过程中,通过dispatchAndLog实现日志打印功能 // 打印日志-中间件核心代码…...

hive删除数据进行恢复
在实际开发或生产中,hive表如果被误删,如被truncate或是分区表的分区被误删了,只要在回收站的清空周期内,是可以恢复数据的,步骤如下: (1) 先找到被删除数据的存放目录,…...

二、前端高德地图、渲染标记(Marker)引入自定义icon,手动设置zoom
要实现这个效果,我们先看一下目前的页面展示: 左边有一个图例,我们可以方法缩小地图,右边是动态的marker标记,到时候肯定时候是后端将对应的颜色标识、文字展示、坐标点给咱们返回、我们肯定可以拿到一个list…...
UDF和UDAF、UDTF的区别
UDF UDF(User-defined functions)用户自定义函数,简单说就是输入一行输出一行的自定义算子。 是大多数 SQL 环境的关键特性,用于扩展系统的内置功能。(一对一) UDAF UDAF(User Defined Aggregat…...
小研究 - 浅析 JVM 中 GC 回收算法与垃圾收集器
本文主要介绍了JVM虚拟机中非常重要的两个部分,GC 回收算法和垃圾收集器。从可回收对象的标记开始,详细介绍 了四个主流的GC算法,详细总结了各自的算法思路及优缺点, 提出了何种情况下应该通常选用哪种算法。 目录 1 标记可回收对…...

Flowable-服务-骆驼任务
目录 定义图形标记XML内容Flowable与Camel集成使用示例设计Came路由代码 定义 Camel 任务不是 BPMN 2.0 规范定义的官方任务,在 Flowable 中,Camel 任务是作为一种特殊的服务 任务来实现的。主要做路由工作的。 图形标记 由于 Camel 任务不是 BPMN 2.…...

用html+javascript打造公文一键排版系统9:主送机关排版
一、主送机关的规定 公文一般在标题和正文之间还有主送机关,相关规定为: 主送机关 编排于标题下空一行位置,居左顶格,回行时仍顶格,最后一个机关名称后标全角冒号。如主送机关名称过多导致公文首页不能显示正文时&…...

SpringBoot 集成 EasyExcel 3.x 优雅实现 Excel 导入导出
介绍 EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成 Excel 的读、写等功能。 EasyExcel文档地址: https://easyexcel.opensource.alibaba.com/ 快速开始 …...

RT1052 的四定时器
文章目录 1 Quad Timer,简称:QTMR2 单个通道的框图3 QTMR配置3.1 QTMR1 时钟使能。3.2 初始化 QTMR1。3.2.1 QTMR_Init 3.3 设置 QTMR1 通道 0 的定时周期。3.3.1QTMR_SetTimerPeriod 3.4 使能 QTMR1 通道 0 的比较中断。3.4.1 QTMR_EnableInterrupts 3.…...

ViT-vision transformer
ViT-vision transformer 介绍 Transformer最早是在NLP领域提出的,受此启发,Google将其用于图像,并对分类流程作尽量少的修改。 起源:从机器翻译的角度来看,一个句子想要翻译好,必须考虑上下文的信息&…...
Election of the King 2023牛客暑期多校训练营4-F
登录—专业IT笔试面试备考平台_牛客网 题目大意:有一个n个数的数组a,有n-1轮操作,每轮由每个数选择一个和它的差最大的数,如果相同就选值更大的,被最多数组选择的数字被删去,有相同的也去掉数值更大的那个…...

Nacos的搭建及服务调用
文章目录 一、搭建Nacos服务1、Nacos2、安装Nacos3、Docker安装Nacos 二、OpenFeign和Dubbo远程调用Nacos的服务1、搭建SpringCloudAlibaba的开发环境1.1 构建微服务聚合父工程1.2 创建子模块cloud-provider-payment80011.3 创建子模块cloud-consumer-order80 2、远程服务调用O…...

uniapp小程序自定义loding,通过状态管理配置全局使用
一、在项目中创建loding组件 在uniapp的components文件夹下创建loding组件,如图: 示例代码: <template><view class"loginLoading"><image src"../../static/loading.gif" class"loading-img&q…...
leetcode 45. 跳跃游戏 II
2023.7.30 class Solution { public:int jump(vector<int>& nums) {int step 0;int cover 0;int largest 0;if(nums.size() 1) return step;for(int i0; i<nums.size(); i){cover max(cover , inums[i]); //最大覆盖范围if(cover > nums.size()-1) retur…...

力扣热门100题之矩阵置0【中等】
题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2ÿ…...

【机器学习】Classification using Logistic Regression
Classification using Logistic Regression 1. 分类问题2. 线性回归方法3. 逻辑函数(sigmod)4.逻辑回归5. 决策边界5.1 数据集5.2 数据绘图5.3 逻辑回归与决策边界的刷新5.4 绘制决策边界 导入所需的库 import numpy as np %matplotlib widget import m…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...