Day01-01-git

Day01-01-git

  • Content List
  • 0. 运维发展过程
  • 1. ci-cd-co基础
    • 1.1 软件的生命周期
      • 1)软件的声明周期:软件从0-->1-->0过程
      • 2)ci/cd
      • 3)Devops
      • 4) 小结
    • 1.2 什么是环境
    • 1.3 什么是代码部署
    • 1.4 代码发布方式
  • 3. DevSecOpt之Git极速入门到放弃
    • 3.1 什么是git
    • 3.2 应用场景
    • 3.3 1分钟部署git
      • 1)Win
      • 2)Linux(CentOS/Fedora/Rocky Linux/RHEL)
      • 3)MacOS
      • 4)Ubuntu/Debian
  • 4. lidao直播app辛酸史
    • 4.1单枪匹马勇闯天涯-开发阶段
    • 4.2 git区域与状态
    • 4.3 git分支 branch
      • 1)分支?branch
      • 2)详解
      • 3)案例(了解)
      • 4)git 分支命令总结
    • 4.4 入住CBD(远程仓库)
      • 1)创建 仓库
      • 2)连接远程仓库(用户名密码方式)
      • 3)连接远程仓库(密钥认证方式)
      • 3)仓库管理命令小结
    • 4.5 补充
      • 1 tag
      • 2 gitignore
    • 4.6 总结

Content List

  • 运维发展过程
  • 软件生命周期
  • CI/CD/CO/DevOps
  • 持续部署实施流程以及对应工具?*
  • git使用(核心掌握拉取代码,拉取指定版本代码,分支)
  • gitlab私有代码仓库

0. 运维发展过程

在这里插入图片描述

  • 云原生时代:

以Devops、SRE框架为指导,Docker/K8S/微服务为基础,用分布式方式加上 Python和Go语言,构建一套云技术产品体系,以及进行高级管理工具的二次开发,实现属于公司自己的自动化运维体系以及云技术体系的自动化产品。使用的自动化运维产品,可以用ran cherargoCDtecktonCl gitops 等,流水线及管理工具

1. ci-cd-co基础

1.1 软件的生命周期

在这里插入图片描述

1)软件的声明周期:软件从0–>1–>0过程

在这里插入图片描述

  • 代码上线流程:
    • 开发书写代码
    • 把代码上传到代码仓库
    • 通过工具拉取代码到测试环境中,运行代码,测试人员测试
    • 通过工具拉取代码部署到生产环境.

2)ci/cd

  • ci cd
  • ci:持续集成:开发的代码集成到代码仓库。
  • cd:持续交付:从代码仓库拉取代码部署到测试环境。
  • cd:持续部署:从代码仓库拉取代码部署到生产环境。

在这里插入图片描述

3)Devops

  • DevOps: 理念让开发人员可以持续集成,运维人员可以持续交付和持续部署.让整个开发过程自动部署,上线…

    • 开发写完的代码自动集成,自动交付与部署。本质是自动化。
    • DevOps是一套快速、频繁、可靠的软件交付实践.
  • DevOps

    • Development 开发
    • Operation 运维
  • DevOPS目标是:解决开发书写代码,集成,交付,部署进度,审核缓慢。

  • DevOPS实现

    • 开发(存放收集代码 CI):git/gitlab/github/gitee(代码平台)
    • 运维(部署代码 CD):jenkins maven …插件 …sonarqube (运维)

DevSecOps

Dev开发

Sec安全

Ops运维

在这里插入图片描述

在这里插入图片描述

4) 小结

  • 熟悉 软件生命周期
  • 必会:ci/cd/devops 持续集成 持续交付 持续部署

1.2 什么是环境

在这里插入图片描述

  • 开发环境
  • 测试环境
  • 预发布环境/准生产环境/预生产环境
  • 生产环境
  • 谁部署,谁维护/负责

在这里插入图片描述

准生产环境/预生产环境生产环境
相同点存放代码,服务配置与生产环境一致存放代码…
区别服务器的配置可以低一些,数量少一些,甚至省钱可以用内部测试环境兼职
关于数据库连接生产环境数据库(从库),nginx镜像流量(alb镜像流量)

1.3 什么是代码部署

  • 代码发布/部署 --> 开发书写的程序代码 --> 部署测试/生产环境 web服务器(站点目录中)

在这里插入图片描述

1.4 代码发布方式

发布方式效率干扰安全性
手动发布干扰因素很多不安全
自动发布干扰因素很少安全

3. DevSecOpt之Git极速入门到放弃

  • 学习目标:
    • 使用Git命令不参考文档的情况下可以拉取代码,上传代码
    • 理解什么是分支。
    • 可以给公共代码仓库和私有代码仓库配置密钥认证访问
角色主机名ip内存
gitlab私有代码仓库oldboy-devops-gitlab10.0.0.71/172.16.1.712G(至少) 推荐2C4G
jenkinsoldboy-devops-jenkins10.0.0.72/172.16.1.721G(至少) 推荐2C4G
sonarqube代码检查oldboy-devops-sonar10.0.0.73/172.16.1.731c1G
nexus私服oldboy-devops-nexus10.0.0.74/172.16.1.741c1G

3.1 什么是git

  • scm

  • 分布式版本控制系统

    • 分布式:svn vs git
    • 版本控制
    • 软件
GitSVN
共同点存放代码,版本控制存放代码,版本控制
工作模式分布式中心化(权限集中)
使用入门较难,熟练后容易使用,目前使用率高入门比较简单,服务端linux,客户端windows
分支创建和维护分支方便创建和维护分支繁琐

3.2 应用场景

3.3 1分钟部署git

  • 其他系统安装传送门https://git-scm.com/docs

1)Win

https://git-scm.com/download/

2)Linux(CentOS/Fedora/Rocky Linux/RHEL)

#C7  
yum install -y git#c8
dnf install -y git #或yum也可以

3)MacOS

#需要提前安装brew
brew install git

4)Ubuntu/Debian

#
apt install -y git

4. lidao直播app辛酸史

  • 单枪匹马勇闯天涯-开发阶段

4.1单枪匹马勇闯天涯-开发阶段

  • 配置git相关信息
#创建项目目录(代码目录)#成为git仓库#配置用户
git config
git config --global user.name 'oldboy'
git config --global user.email '918391635@qq.com'
git config --global color.ui true
git config --global --list
  • 代码目录初始化
#初始化代码目录
[root@devops-gitlab ~]# mkdir -p /app/code/live-lidao-app
[root@devops-gitlab ~]# cd /app/code/live-lidao-app
[root@devops-gitlab live-lidao-app]# ll -a
总用量 0
drwxr-xr-x 2 root root  6 2024-05-15 10:20 .
drwxr-xr-x 3 root root 28 2024-05-15 10:20 ..
[root@devops-gitlab live-lidao-app]# git init
初始化空的 Git 版本库于 /app/code/live-lidao-app/.git/
[root@devops-gitlab live-lidao-app]# ll -a
总用量 0
drwxr-xr-x 3 root root  18 2024-05-15 10:20 .
drwxr-xr-x 3 root root  28 2024-05-15 10:20 ..
drwxr-xr-x 7 root root 119 2024-05-15 10:20 .git
[root@devops-gitlab live-lidao-app]# ll .git/
总用量 12
drwxr-xr-x 2 root root   6 2024-05-15 10:20 branches
-rw-r--r-- 1 root root  92 2024-05-15 10:20 config
-rw-r--r-- 1 root root  73 2024-05-15 10:20 description
-rw-r--r-- 1 root root  23 2024-05-15 10:20 HEAD
drwxr-xr-x 2 root root 242 2024-05-15 10:20 hooks
drwxr-xr-x 2 root root  21 2024-05-15 10:20 info
drwxr-xr-x 4 root root  30 2024-05-15 10:20 objects
drwxr-xr-x 4 root root  31 2024-05-15 10:20 refs
  • git相关的仓库

在这里插入图片描述

  • 书写代码,提交到暂存区
#书写代码 添加文件
echo oldboy >index.html
echo new app 完成度40% >index.html#查看状态 仓库状态
git status
# 位于分支 master
#
# 初始提交
#
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#	index.html
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)#进行提交
git add .
git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
#   (使用 "git rm --cached <file>..." 撤出暂存区)
#
#	新文件:    index.html
#
  • 提交代码到本地仓库
#提交到本地仓库
git commit -m '项目开始 完成60%'
[root@devops-gitlab live-lidao-app]# git commit -m "说明:项目刚刚成立,代码40%"
[master(根提交) 5faade3] 说明:项目刚刚成立,代码40%1 file changed, 1 insertion(+)create mode 100644 index.html#查看状态
git status
# 位于分支 master
无文件要提交,干净的工作区
  • 再次修改文件并提交
#修改文件内容# 再次提交
git add .
git commit -m '项目完成90%'
  • 进行回滚一步到位的
git checkout .
名字含义
git init初始化本地仓库目录
git config --global邮箱,用户名,颜色
git add提交数据到缓冲区(暂存区) git add . (所有文件) 或 git add 文件
git commit把暂存区的数据提交到本地仓库 git commit -m “标记/说明”
git status显示工作空间的状态
git reset回滚
git reset --soft cid(版本号)把指定的版本数据内容下载到暂存区
git reset HEAD暂存区 -->工作空间(被修改的状态)
git checkout文件下载到工作空间并可以使用 git checkout . 或 git checkout 文件
git reset --mix 版本号
git reset --hard 版本号把本地仓库指定版本信息数据下载到工作目录中

4.2 git区域与状态

  • 区域

在这里插入图片描述

  • 状态了解 熟悉

在这里插入图片描述

4.3 git分支 branch

1)分支?branch

分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接
提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之上创建一个名叫”拍照功能”的分支,

这种分支只会属于你自己,而其他人看不到,等代码编写完成后再与原来的项目主分支合并下即可,这样即能保证代码不丢失,又不影响其他人的工作。

默认的分支-master 主分支,这个分支的代码一般都是可用,可以部署到生产环境的。

一般开发人员开发代码的时候创建dev分支,shopping分支。

应用名称分支每个分支对应独立功能。

2)详解

在这里插入图片描述

3)案例(了解)

  • 主分支完成提交
[root@devops-gitlab live-lidao-app]# cat index.html 
new app live 完成度100%
[root@devops-gitlab live-lidao-app]# git add .
[root@devops-gitlab live-lidao-app]# git commit -m "live_app_100%"
[master b0d7f3d] live_app_100%1 file changed, 1 insertion(+), 1 deletion(-)
  • 创建shopping分支 书写代码
#查看分支
git branch
* master#创建分支
git branch shopping
git branch
* mastershopping#切换分支
git checkout shopping
Switched to branch 'shopping'
#查看 切换结果 git branchmaster
* shopping#书写shopping代码·并提交
echo 'shopping 90%' >shopping.html
git add .
git commit -m 'shopping 90%'
echo 'shopping 100%' >shopping.html
git add .
git commit -m 'shopping 100%'#把shopping分支合并到master分支中。
#切换到master 然后执行merge.
git checkout master
git merge shopping
[root@devops-gitlab live-lidao-app]# git merge shopping
更新 b0d7f3d..f847a2a
Fast-forwardshopping.html | 1 +1 file changed, 1 insertion(+)create mode 100644 shopping.html
[root@devops-gitlab live-lidao-app]# ll
总用量 8
-rw-r--r-- 1 root root 27 2024-05-15 11:29 index.html
-rw-r--r-- 1 root root 17 2024-05-15 11:37 shopping.html

4)git 分支命令总结

git 分支相关命令
git branch查看分支
git branch name创建分支
git branch -d name删除分支
git checkout 分支名字切换分支
git merge 分支名字合并(吸收)分支(把指定的分支合并到当前分支中)
git checkout -b name创建分支并切换到这个分支

4.4 入住CBD(远程仓库)

  • 家 --> 公司 --> 代码
  • 家---->代码
  • 公共仓库:gitee.com/github.com
  • 私有仓库:gitlab,gogs

在这里插入图片描述

1)创建 仓库

在这里插入图片描述

2)连接远程仓库(用户名密码方式)

#添加远程仓库(用户名密码方式)
git remote add origin https://gitee.com/dws123456/lidao_live_app.git 
#右边是密钥认证方式    
git@gitee.com:dws123456/lidao_live_app.git git remote -v # 查看
#上传本地仓库的内容 到远程仓库
git push -u origin master
#需要输入账号的用户名和密码[root@devops-gitlab live-lidao-app]# git push -u origin "master"
Counting objects: 15, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (15/15), 1.28 KiB | 0 bytes/s, done.
Total 15 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:dws123456/lidao_live_app.git* [new branch]      master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

用户名是啥?下图里面的 :和/之间的就是用户名,可以在个人设置里面更改。

https://gitee.com/dws123456/lidao_live_app.git #用户名密码进行访问,上传.

git@gitee.com:dws123456/lidao_live_app.git #配置了密钥认证,密钥认证进行访问.

# 设置远程仓库的地址
git remote add origin git@gitee.com:dws123456/lidao_live_app.git
# 推送本地仓库的数据到远程仓库
git push -u origin "master"

在这里插入图片描述

  • 拉取的代码
[root@devops-gitlab ~]# git clone https://gitee.com/dws123456/lidao_live_app.git
正克隆到 'lidao_live_app'...
Username for 'https://gitee.com': 15733168732
Password for 'https://15733168732@gitee.com': 
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 15 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.
[root@devops-gitlab ~]# ll
总用量 4
-rw-------. 1 root root 1354 2024-02-18 16:37 anaconda-ks.cfg
drwxr-xr-x  3 root root   57 2024-05-15 13:38 lidao_live_app
[root@devops-gitlab ~]# cd lidao_live_app/
[root@devops-gitlab lidao_live_app]# ll -a
总用量 8
drwxr-xr-x  3 root root  57 2024-05-15 13:38 .
dr-xr-x---. 5 root root 215 2024-05-15 13:38 ..
drwxr-xr-x  8 root root 163 2024-05-15 13:38 .git
-rw-r--r--  1 root root  27 2024-05-15 13:38 index.html
-rw-r--r--  1 root root  17 2024-05-15 13:38 shopping.html
[root@devops-gitlab lidao_live_app]# git remote -v
origin	https://gitee.com/dws123456/lidao_live_app.git (fetch)
origin	https://gitee.com/dws123456/lidao_live_app.git (push)

3)连接远程仓库(密钥认证方式)

  • 创建秘钥对
[root@devops-gitlab live-lidao-app]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/wgYf5XN71M955MeuftotOhgui5yW2/3bXJuF/Km8Gw root@devops-gitlab
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|             +   |
|      . S   o o .|
|       + . . ..+=|
|      . + =. oo=B|
|    . o. *.+*E+XO|
|     o.++ooo+**X@|
+----[SHA256]-----+
[root@devops-gitlab lidao_live_app]# ll /root/.ssh/
总用量 12
-rw------- 1 root root 1679 2024-05-15 12:00 id_rsa
-rw-r--r-- 1 root root  400 2024-05-15 12:00 id_rsa.pub
[root@devops-gitlab live-lidao-app]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4o7LVm5RA+id+QjbFy6JtpJsfVZj25ICN13C2zNvjFIhalVAAE1DYsuvt4njgPaSmW1JfU06Lci6HV+7HI5dEfVHO0dmA1HzxHzNquge99Zn6GaLTSwrnuvwfBQnUZrWbGasny2SyyuMvBw0THflDqiH8whMcbKtsel+Fkwm1TENqtvH9dJx2G9c+leoMUFIrq9/bPwTYx0vkYggx4i2/d1hadYIGS9BEeDjNI0m5H400ZHOEMesvMcXt8x4BbLBftrQeqzxst/uKpjysGER4bsL3+5ZM/ZHwLrxyTv4dic+bqh4N2f30677HvDUaE/3faROe8X5CDfGkTGYiqGgl root@devops-gitlab
  • 在远程仓库配置密钥

在这里插入图片描述

在这里插入图片描述

代码仓库访问方法说明
https每次连接的时候需要输入账号的用户名和密码
ssh必备常用. 密钥认证
#访问仓库的主机上 创建密钥对。
ssh-keygen#修改之前配置的远程仓库地址
git remote remove origin 
git remote -v
git remote add origin git@gitee.com:dws123456/lidao_live_app.git#查询
git remote -v
origin	git@gitee.com:dws123456/lidao_live_app.git (fetch)
origin	git@gitee.com:dws123456/lidao_live_app.git (push)#创建新的文件上传到远程仓库测试
touch lidao.txt
git add .
git commit -m "110%"#上传到远程仓库
git push -u origin master 

3)仓库管理命令小结

9.git远程仓库:1.配置与远程仓库的认证ssh√√√√√:     需要将服务器的公钥推送到指定用户下;https:(私有) 需要有用户名称,密码,每次都需要输入;2.添加远程仓库:git remote add origin [https://或者git(ssh)]删除 git remote remove orgin 即可git remote -v3.将本地的仓库内容,推送到远程仓库:  git add .git commit -m "Messages"git push -u origin branch (分支名字)    [ master | .... ]git pull origin branch(分支名字)4.如果有新员工加入指定仓库的代码都下载。git clone [https://|git]git push origin 分支名字git pull origin 分支名字

4.5 补充

1 tag

  • tag标签:给commit id设置别名,方便我们快速查看与使用,一般tag标签表示软件的版本.
#创建标签
COMMITID的一个别名,COMMITID不好记忆,   标签相对的好记忆.git tag -a "标签名称"   -m "描述"     基于当前最新的COMMITIDgit tag -a "标签名称"   -m "描述" commitID 指定版本打标签
#如何上传标签git push origin --tagsgit push origin "标签名称"Master: V1.0 V2.0Dev: b1.0 b2.0git clone  -b 标签、分支   https/git[root@devops-gitlab live-lidao-app]# git tag -a v1.0 -m "new 1.0"
[root@devops-gitlab live-lidao-app]# git push origin master 
Everything up-to-date
[root@devops-gitlab live-lidao-app]# git push origin --tags 
Counting objects: 1, done.
Writing objects: 100% (1/1), 156 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:dws123456/lidao_live_app.git* [new tag]         v1.0 -> v1.0

在这里插入图片描述

2 gitignore

  • 上传代码的时候,代码中可能包含临时文件cache .swp 排除

  • 在代码根目录中创建文件.gitignore 写上要排除的内容

  • 忽略上传到本地仓库的内容

gitignore忽略文件!!!!pyccache/*config $ cat .gitignore
#*.jpg
*.tmp
cache/*
  • 应用场景:

    1. 程序运行时产生的垃圾文件(临时文件)
    2. 程序运行时产生的缓存文件(临时文件)
    3. 程序本地开发使用的图片文件
    4. 程序连接数据一类的配置文件(什么时候用,什么时候配置)
  • 各类语言的ignore文件
    链接: https://github.com/github/gitignore

4.6 总结

  • git clone
  • git add 与 git commit
  • git push
  • git remote add origin
  • git remote remove
  • git tag 标签
  • 分支
  • ci,cd,devops,devsecops
  • 代码上线流程

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity UGUI实现无限滚动列表

Demo链接​​​https://download.csdn.net/download/qq_41973169/89364284http://Unity UGUI无限滚动列表 在游戏开发中&#xff0c;列表视图是一个常见的UI组件。实现一个高效的列表视图尤其重要&#xff0c;尤其是在需要展示大量数据时。本文将介绍如何在Unity中实现一个高效…

手动操作很麻烦?试试这个自动加好友神器吧!

你是不是也觉得手动逐一输入号码或是微信号&#xff0c;再搜索添加很麻烦&#xff1f;试试这个自动加好友神器——个微管理系统&#xff0c;帮助你省去繁琐的手工操作&#xff0c;节省时间和精力。 首先&#xff0c;在系统上登录微信号&#xff0c;无论你有多少个微信号&#…

2024年上半年软件设计师试题及答案(回忆版)--选择题

基础知识选择题 基础知识选择题 1,2,3][4,5,6][1,2,3,4,5,6] &#xff08;总&#xff1a;1分&#xff09; &#xff08;注意&#xff1a;括号内的是截止当前题目总分&#xff09; vlan不能隔绝内外网 &#xff08;2分&#xff09; 链路层使用交换机&#xff0c;…

智慧树下做游戏

游戏开发工程师致力于游戏总体设计 &#xff0c;负责游戏开发工具和运营维护工具的设计与开发 &#xff0c;并配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持 就业方向&#xff1a; 一般有客户端游戏开发和服务器游戏开发 客户端开发&#xff1a; 主要负…

光伏开发是用什么工具提高效率?

随着全球对可再生能源的日益重视&#xff0c;光伏产业作为其中的佼佼者&#xff0c;已经取得了长足的发展。然而&#xff0c;如何提高光伏开发的效率&#xff0c;降低成本&#xff0c;成为了业内关注的焦点。本文将探讨光伏开发过程中所使用的工具&#xff0c;以及这些工具如何…

设计软件有哪些?建模和造型工具篇(2),渲染100邀请码1a12

之前介绍了一批建模工具&#xff0c;这次我们继续介绍。 1、Forest Pack Forest Pack是由iToo Software公司开发的3ds Max插件&#xff0c;专门用于创建大规模自然环境。它提供了丰富的植被和物体库&#xff0c;用户可以快速创建树木、植物、岩石等元素&#xff0c;并将它们分…

Android面试题之Kotlin常见集合操作技巧

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 list 创建和修改 不可变list,listOf var list listOf("a","d","f") println(list.getOrElse(3){"Unkn…

Kubernetes可视化界面之DashBoard

1.1 DashBoard Kubernetes Dashboard 是 Kubernetes 集群的一个开箱即用的 Web UI&#xff0c;提供了一种图形化的方式来管理和监视 Kubernetes 集群中的资源。它允许用户直接在浏览器中执行许多常见的 Kubernetes 管理任务&#xff0c;如部署应用、监控应用状态、执行故障排查…

用循环神经网络预测股价

循环神经网络可以用来对时间序列进行预测&#xff0c;之前我们在介绍循环神经网络RNN,LSTM和GRU的时候都用到了正弦函数预测的例子&#xff0c;其实这个例子就是一个时间序列。而在众多的时间序列例子中&#xff0c;最普遍的就是股价的预测了&#xff0c;股价序列是一种很明显的…

链表练习题

返回倒数第K个节点 快慢指针 让快指针先走k步&#xff0c;再使得快指针与慢指针同时走一步&#xff0c;这样没有开额外空间&#xff0c;空间复杂度较低。 代码实现如下&#xff1a; struct ListNode {int val;struct ListNode* next;}; int kthToLast(struct ListNode* head…

第 52 期:MySQL 半同步复制频繁报错

社区王牌专栏《一问一实验&#xff1a;AI 版》全新改版归来&#xff0c;得到了新老读者们的关注。其中不乏对 ChatDBA 感兴趣的读者前来咨询&#xff0c;表达了想试用体验 ChatDBA 的意愿&#xff0c;对此我们表示感谢 &#x1f91f;。 目前&#xff0c;ChatDBA 还在最后的准备…

el-table实现合并特定列的所有行

el-table实现合并特定列的所有行 示例&#xff1a; 在这里插入图片描述 const objectSpanMethod ({ row, column, rowIndex, columnIndex }) > {if (columnIndex 5 || columnIndex 7) {// 就是只保留第一行&#xff0c;其他直接不要&#xff0c;然后行数是列表长度if …

2024年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,共50分) 第1题 下列哪个命令,可以将2024转换成’2024’ 呢?( ) A:str(2024) B:int(2024) C:float(2024) D:bool(2024) 答案:A 本题考察的是str() 语句,将数字转换成字符串用到的是str() 语句。 …

Java:IO

首 java.io中有百万计的类&#xff0c;如何找到自己需要的部分&#xff1f; 流 IO涉及到一个“流”stream的概念&#xff0c;可以简单理解成数据从一个源头到一个目的地。明白数据从哪来&#xff0c;要到哪里去&#xff0c;数据流中是字节还是字符之后&#xff0c;才能找到自…

由于找不到d3dx9_39.dll,无法继续执行代码的5种解决方法

在现代科技发展的时代&#xff0c;电脑已经成为我们生活中不可或缺的一部分。然而&#xff0c;由于各种原因&#xff0c;我们可能会遇到一些电脑问题&#xff0c;其中之一就是“d3dx9_39.dll丢失”。这个问题可能会导致我们在运行某些游戏或应用程序时遇到错误提示&#xff0c;…

新品 | Forge® 1GigE IP67工业相机助力智能农业、食品和饮料行业

近日&#xff0c;51camera的合作伙伴Teledyne FLIR IIS推出Forge 1GigE IP67,它是Forge系列的最新工业相机&#xff0c;旨在在恶劣的工业环境中运行&#xff0c;同时确保高效的生产能力。Forge 1GigE IP67致力于为工厂自动化提供先进成像系统的最新产品。 Forge 1GigE IP67相机…

MyBatis多数据源配置与使用,基于ThreadLocal+AOP

导读 MyBatis多数据源配置与使用其一其二1. 引依赖2. 配置文件3. 编写测试代码4. 自定义DynamicDataSource类5. DataSourceConfig配置类6. AOP与ThreadLocal结合7. 引入AOP依赖8. DataSourceContextHolder9. 自定义注解UseDB10. 创建切面类UseDBAspect11. 修改DynamicDataSourc…

PTA 计算矩阵两个对角线之和

计算一个nn矩阵两个对角线之和。 输入格式: 第一行输入一个整数n(0<n≤10)&#xff0c;第二行至第n1行&#xff0c;每行输入n个整数&#xff0c;每行第一个数前没有空格&#xff0c;每行的每个数之间各有一个空格。 输出格式: 两条对角线元素和&#xff0c;输出格式见样例…

Android存储系统成长记

用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 本文概要 您一定使用过Context的getFileStreamPath方法或者Environment的getExternalStoragePublicDirectory方法&#xff0c;甚至还有别的方法把数据存储到文件中&#xff0c;这些都是存储系统提供的服务&#x…

PTA 判断两个矩阵相等

Peter得到两个n行m列矩阵&#xff0c;她想知道两个矩阵是否相等&#xff0c;请你用“Yes”&#xff0c;“No”回答她&#xff08;两个矩阵相等指的是两个矩阵对应元素都相等&#xff09;。 输入格式: 第一行输入整数n和m&#xff0c;表示两个矩阵的行与列&#xff0c;用空格隔…