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

Docker+Jenkinsg+Springboot流水式构建-实用篇

最近无聊想自己玩一玩devpos,方便以后接私活,或者学习,O(∩_∩)O,
以后直接安装这篇文档,傻瓜式安装,哈哈
废话不多说,直接进入实战,完成简单的搭建

1.初始化CentOS环境

1.1 关闭防火墙

sudo systemctl stop firewalld

1.2 禁用 firewalld 服务 在启动时自动运行

sudo systemctl disable firewalld

1.3 验证 firewalld 服务状态

sudo systemctl status firewalld

如果 firewalld 已经停止并且被禁用,你应该会看到类似以下的输出:

● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)

测试以下网络环境

ping aliyun.com

安装完毕后,如果需要开启防火墙输入以下命令

启动防火墙
sudo systemctl start firewalld
确保 firewalld 在系统启动时自动运行
sudo systemctl enable firewalld

2.Docker安装

docker安装要求系统内核高于3.10

2.1查看内核

uname -r

2.2更新yum包

yum -y update

或者

yum install -y yum-utils device-mapper-persistent-data lvm2

如果执行报:

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

原因是:
由于 yum 无法访问 CentOS 的镜像列表,导致无法获取软件包。这可能是由于网络问题、DNS 解析失败或者 CentOS 7 的官方镜像列表已经不再维护(因为 CentOS 7 的生命周期已经结束)

解决方式:

更新镜像源,修改/etc/yum.repos.d/CentOS-Base.repo

sudo vi /etc/yum.repos.d/CentOS-Base.repo

将文件内容替换为阿里云的:

在进行任何修改之前,建议先备份原始的yum源配置文件,以便在需要时能够恢复。yum源配置文件通常位于/etc/yum.repos.d/目录下,文件名为CentOS-Base.repo(根据具体版本和发行版可能有所不同)。

bash复制代码
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载阿里云的yum源配置文件

有多种方法可以下载阿里云的yum源配置文件,常用的有wgetcurl命令。以下是一个使用curl命令下载CentOS 7阿里云源配置文件的示例:

bash复制代码

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

注意:阿里云提供的yum源配置文件版本可能随时间更新,因此建议直接访问阿里云官方镜像站点(如http://mirrors.aliyun.com/repo/)查找最新版本。

清理yum缓存,并生成新的缓存

sudo yum clean allsudo yum makecache

yum clean all命令会清除所有已下载的包和头文件缓存,而yum makecache命令则会重新生成缓存。

然后 验证 yum源是否更换成功 可以试试下载docker

sudo yum install docker-ce docker-ce-cli containerd.io -y

2.3 正式安装Docker

sudo yum remove docker

2.4 安装软件包

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.5 下载阿里云仓库

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2.6 下载docker

sudo yum install docker-ce docker-ce-cli containerd.io -y

2.7 启动docker

systemctl start docker

2.8 设置后台开机启动

sudo systemctl enable docker

2.9 验证docker服务状态

sudo systemctl status docker

如果 Docker 已经启动并且被启用,你应该会看到类似以下的输出:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since …

2.9.1 检查 Docker 版本

docker --version

2.9.2 配置docker加速镜像

2.9.2.1 创建一个/etc/docker 目录

sudo mkdir -p /etc/docker

2.9.2.2 创建一个daemon.json的加速文件

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF

2.9.2.3 挂载到docker下

sudo systemctl daemon-reload

2.9.2.4 重启docker

sudo systemctl restart docker

问题:
docker无法启动
报 Job for docker.service failed because the control process exited with error code.
查看docker日志
systemctl status docker.service
一般都是 daemon.json 问题。

试试拉取 jenkins镜像

docker pull jenkins/jenkins

如果出现了

Using default tag: latest
Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

拉取不成功是应为国内的镜像加速基本都被墙了,无法访问。需要寻找网友搭建的镜像加速。

例如:我找到了一个 https://dockerpull.org
详情请参考:https://dockerpull.org/

修改文件 /etc/docker/daemon.json 文件
{“registry-mirrors”: [“https://dockerpull.org”]}

#重载systemd管理守护进程配置文件
sudo systemctl daemon-reload
#重启 Docker 服务
sudo systemctl restart docker

或者 在docker pull 时加入加速镜像网址
例如 :docker pull dockerpull.org/jenkins/jenkin

加速镜像参考:

关于Docker官方镜像仓库被墙的一些解决办法 - 我不是矿神

3. 安装docker管理面板【DPanel 】

DPanel 有两个版本,一个是标准版本,还有个 Lite 版。其中 Lite 版本中,不包含域名转发功能。即容器内不会安装 nginx 及 acme.sh 等相关组件。
Lite 版如果需要域名转发,需要借助外部工具,例如 NginxProxyManager、Lucky、宝塔、Nginx 等
本文采用的是标准版 dpanel/dpanel:latest

如果你下载不了,可以使用国内镜像:

registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest

需要创建挂载目录

新建文件夹 dpanel 和 子目录

mkdir -p /volume1/docker/dpanel/data

进入 dpanel 目录

cd /volume1/docker/dpanel

运行容器

docker run -d
–restart unless-stopped
–name dpanel
-p 8807:8080
-v /var/run/docker.sock:/var/run/docker.sock
-v $(pwd)/data:/dpanel
-e APP_NAME=dpanel
registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest

APP_NAME:dpanel :APP_NAME 请保持与 container_name 一致

安装完成后,在浏览器中输入 http://IPxx.xx.x:8807 就能看到登录界面

可以参考以下文档,都是中文的

donknap/dpanel: docker可视化管理面板
地址:https://github.com/donknap/dpanel

DPanel 可视化 Docker 管理面板
地址:https://dpanel.cc/#/

Docker
地址:https://dpanel.cc/#/zh-cn/install/docker

4.安装Jenkins

4.1 创建jenkins挂载目录文件夹/volume1/docker/jenkins

mkdir -p /volume1/docker/jenkins

4.2 授权目录,给/volume1/docker/jenkins 权限

chmod 777 /volume1/docker/jenkins

4.3 安装maven

处理maven安装问题
因为我们要部署的是SpringBoot,所以需要准备JDK和Maven环境

直接输入命令下载:

wget https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

创建一个maven文件夹

mkdir -p /volume1/docker/maven

然后使用命令进行解压,到对应文件夹下【-C /volume1/docker/maven】

tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /volume1/docker/maven

配置maven环境

  1. 到maven对应的目录下设置setting文件,例如我的在 /volume1/docker/maven 下
   cd /volume1/docker/maven/apache-maven-3.8.8
  1. 编辑setting文件
 vim settings.xml
  1. 将原来的mirror删除掉,按i进入编辑

    加入新的mirror 和 localRepository

     <localRepository>/volume1/docker/maven/repository</localRepository><mirror> <id>alimaven</id> <name>aliyun maven</name> <url>https://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
    

    mirror是配置远程仓库:我们选aliyun 的仓库

    localRepository 是配置本地仓库 :我们选择本地对应的目录下

  2. 创建一个仓库文件夹

    mkdir -p /volume1/docker/maven/repository
    

    注意这里的仓库文件夹需要与我们配置的localRepository路径一致,不然找不到本地的maven仓

  3. 配置环境变量

    打开环境变量文件:按i编辑,进入到最后一行进行编辑

    vim /etc/profile
    

    添加配置信息:MAVEN_HOME 配置咱们的maven路径

    export MAVEN_HOME=/volume1/docker/maven/apache-maven-3.8.8
    export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
    
  4. 从新载入配置文件

    source /etc/profile

    测试maven安装结果

    mvn -v
    

    出现 以下内容即安装成功

    Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
    Maven home: /volume1/docker/maven/apache-maven-3.8.8
    Java version: 1.8.0_332, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre

4.4 运行启动Jenkins命令:

docker run -u root -d --restart=always --privileged=true \-p 10240:8080 -p 10241:50000 \-v /volume1/docker/jenkins:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \-v /usr/bin/docker:/usr/bin/docker \-v /volume1/docker/maven:/usr/local/maven \-v "$HOME":/home \--name jenkins jenkins/jenkins:lts

设置容器内的用户为 root。这意味着容器将以超级用户权限运行。

-d:以后台模式(即作为后台进程)启动容器。
–restart=always:

设置容器在宿主机重启后总是重新启动。
–privileged=true:

以特权模式运行容器,这给予了容器更多的权限,比如可以直接访问 Docker API。特权模式绕过了某些安全限制,因此只应在必要时使用。
-p 10240:8080:

映射容器的端口 8080 到宿主机的端口 10240。这意味着你可以通过访问宿主机的 10240 端口来连接到容器内的 Jenkins 服务。
-p 10241:50000:

类似地,映射容器的端口 50000 到宿主机的端口 10241。这通常是用于 Jenkins 的代理或者其他需要监听外部端口的服务。
-v //volume1/docker/jenkins :/var/jenkins_home:

将宿主机上的 /home/jenkins/workspace/ 目录挂载到容器内的 /var/jenkins_x 目录。这使得 Jenkins 可以在宿主机上存储工作空间数据。
-v /var/run/docker.sock:/var/run/docker.sock:

将 Docker 的 Unix socket 文件从宿主机挂载到容器内,使得容器内的 Jenkins 可以管理宿主机上的 Docker 服务。
-v /usr/bin/docker:/usr/bin/docker:

将宿主机上的 /usr/bin/docker 文件挂载到容器内的相同位置。虽然在特权模式下,容器内的 Docker 客户端可以连接到宿主机的 Docker 引擎,但这个选项可能是为了确保 Jenkins 能够直接访问 Docker 客户端。
-v /volume1/docker/maven:/usr/local/maven:

将宿主机上的 Maven 安装目录挂载到容器内的 /usr/local/maven 目录,这样容器内的 Jenkins 可以使用宿主机上的 Maven 版本。
-v “$HOME”:/home:

将宿主机用户的主目录挂载到容器内的 /home 目录。这使得 Jenkins 可以访问宿主机用户的主目录下的文件。
–name jenkins:

给容器命名,便于后续管理。
jenkins/jenkins:lts:

4.5 Jenkins配置

可以参考以下博客

Jenkins+Docker+Gitee自动化项目部署上线

Docker+jenkins+Gitee自动构建部署SpringBoot项目

Jenkins + Docker + Github 自动部署-CSDN博客

基于Docker+Jenkins实现自动部署SpringBoot+Maven项目_gitee+jetkins+docker自动部署构建springboot+vue项目-CSDN博客

相关文章:

Docker+Jenkinsg+Springboot流水式构建-实用篇

最近无聊想自己玩一玩devpos&#xff0c;方便以后接私活&#xff0c;或者学习&#xff0c;O(∩_∩)O&#xff0c; 以后直接安装这篇文档&#xff0c;傻瓜式安装&#xff0c;哈哈 废话不多说&#xff0c;直接进入实战&#xff0c;完成简单的搭建 1.初始化CentOS环境 1.1 关闭防…...

华为小米苹果三星移动设备访问windows共享文件夹windows11

如果移动设备和windows电脑都在同一个局域网内&#xff0c;可以用移动设备访问windows11的共享文件夹 1、设置共享文件夹 2、添加everyone用户即可 3、查看ip地址 4、在华为手机上点击文件管理&#xff0c;里面有个网上邻居 5、正常情况下&#xff0c;华为手机会扫描到同一局域…...

程序执行堆栈执行模拟

所有的文件都是在硬盘&#xff08;磁盘&#xff09;上&#xff0c;调用时先调用javac指令的jdk编译成.class然后被java指令的jre送到内存中&#xff0c;java在内存中有自己的一片区域叫JVM&#xff0c;编译进来的文件首先进入方法区。 staitc的属性就是在进入内存的时候开辟了一…...

【AIGC】ChatGPT提示词Prompt助力高效文献处理、公文撰写、会议纪要与视频总结

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;高效英文文献阅读提示词使用方法 &#x1f4af;高效公文写作提示词使用方法 &#x1f4af;高效会议纪要提示词使用方法 &#x1f4af;高效视频内…...

电脑文件自动提取器介绍

1. 背景 电脑文件自动提取器是基于元神操作系统开发的一款应用级产品&#xff0c;其初衷是应对当下Windows系统频繁强制升级导致的系统崩溃问题&#xff0c;使得即使电脑系统瘫痪也能轻易提取硬盘中的文件&#xff0c;以免耽误工作和学习等。 2. 介绍 &#xff08;1&#xf…...

Git命令大全(超详细)

Git 是一个分布式版本控制系统&#xff0c;用于跟踪计算机文件的更改&#xff0c;并协调多个用户之间的工作。下面是一份较为详细的 Git 命令大全&#xff0c;涵盖了从初始化仓库到日常使用中常见的操作。 1. 初始化与配置 设置用户信息: git config --global user.name &quo…...

Vue 3 中实现页面特定功能控制

在开发 Vue 应用时&#xff0c;我们经常会遇到需要在特定页面启用或禁用某些功能的情况。本文将以 A父.vue 页面为例&#xff0c;探讨如何在点击汇总菜单时仅在该页面生效&#xff0c;而在其他页面不生效的问题。 1. 利用 Vue 3 的 provide 和 inject 实现状态传递 Vue 3 提供…...

JavaScript原生深拷贝方法 structuredClone使用

structuredClone 简介 structuredClone 是现代浏览器提供的原生 JavaScript 方法&#xff0c;用于深拷贝对象。它可以处理各种复杂数据结构&#xff0c;包括嵌套对象、数组、Date、Map、Set 等&#xff0c;且支持循环引用。 语法 const clone structuredClone(value);value:…...

Wireshark常用功能使用说明

此处用于记录下本人所使用 wireshark 所可能用到的小技巧。Wireshark是一款强大的数据包分析工具&#xff0c;此处仅介绍常用功能。 Wireshark常用功能使用说明 1.相关介绍1.1.工具栏功能介绍1.1.1.时间戳/分组列表概况等设置 1.2.Windows抓包 2.wireshark过滤器规则2.1.wiresh…...

深度学习:自然语言处理

一、引言 自然语言处理作为人工智能领域的关键分支&#xff0c;致力于使计算机能够理解、分析和生成人类语言。近年来&#xff0c;随着深度学习技术的迅猛发展&#xff0c;自然语言处理取得了前所未有的突破&#xff0c;一系列创新技术和应用不断涌现&#xff0c;极大地推动了…...

C底层 函数栈帧

文章目录 一&#xff0c;什么是寄存器 二&#xff0c;栈和帧 前言 我们在学习c语言程序的时候&#xff0c;是不是有很多的疑问&#xff0c;如 1&#xff0c;为什么形参不可以改变实参 2&#xff0c;为什么我们编写程序的时候会出现烫烫烫......这个乱码 3&#xff0c;那些局…...

Linux系统编程——进程替换

目录 前言 二、进程程序替换的概念 三、进程程序替换的原理 ​编辑 四、为什么需要进行进程程序替换 五、如何进行进程程序替换 1、进程替换函数&#xff1a; 1)execl()函数 2)execv()函数 3) execlp()函数 4) execvp()函数 5&#xff09;execle函数 6&#xff09;ex…...

PVE中VLAN的设置要点

使用这个拓扑进行连接无法直接访问PVE PVE 设置如下&#xff1a; 核心重点&#xff1a;PVE 的 vmbr0 接口直接绑定了 enp2s0&#xff0c;这会导致 VLAN 流量无法正确处理&#xff0c;因为 PVE 没有专门为 VLAN 3 配置接口。 1.vmbr0 和 vmbr0.3 都是绑定在物理接口 enp2s0 上&…...

零基础Python学习

1.环境搭建 1.1 安装运行环境python3.13 Welcome to Python.org 1.2 安装集成开发环境PyCharm PyCharm: the Python IDE for data science and web development 1.3 创建项目 && 设置字体 2.基础语法 2.1 常量与表达式 在python中整数除整数不会优化&#xff0c;所…...

命令提示符窗口(CMD)控制windows操作系统

一、关于进程 1. 通过进程ID结束进程&#xff1a; taskkill /PID 进程ID 2. 通过进程名称结束进程 taskkill /IM 进程名称.exe 3. 强制结束进程 taskkill /F /IM 进程名称.exe 4. 结束包含特定字符串的全部进程 taskkill /IM 包含字符串* /T 5. 启动一个新的命令行窗口来运行指…...

虚幻引擎5(Unreal Engine 5)高级教程

虚幻引擎5&#xff08;Unreal Engine 5&#xff09;高级教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games推出的一款功能强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作和虚拟现实等领域。UE5以其先进的图形渲染技术、…...

3DMAX星空图像生成器插件使用方法详解

3DMAX星空图像生成器插件&#xff0c;一键生成星空或夜空的二维图像。它可用于创建天空盒子或空间场景&#xff0c;或作为2D艺术的天空背景。 【主要特点】 -单击即可创建星空图像或夜空。 -星数、亮度、大小、形状等参数。 -支持任何图像大小&#xff08;方形&#xff09;。…...

【QNX+Android虚拟化方案】129 - USB眼图参数配置

【QNX+Android虚拟化方案】129 - USB眼图参数配置 1. 软件侧dts如何配置眼图参数 及 其对应关系2. 硬件 QNX 侧调试眼图命令2.1 High Speed USB2.0 Host2.2 Super Speed USB3.0 Host3. 硬件 Android 侧调试眼图命令基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不…...

Linux内核4.14版本——ccf时钟子系统(3)——ccf一些核心结构体

目录 1. struct clk_hw 2. struct clk_ops 3. struct clk_core 4. struct clk_notifier 5. struct clk 6. struct clk_gate 7. struct clk_divider 8. struct clk_mux 9. struct clk_fixed_factor 10. struct clk_fractional_divider 11. struct clk_multiplier 12…...

服务器遭受DDoS攻击后如何恢复运行?

当服务器遭受 DDoS&#xff08;分布式拒绝服务&#xff09;攻击 后&#xff0c;恢复运行需要快速采取应急措施来缓解攻击影响&#xff0c;并在恢复后加强防护以减少未来攻击的风险。以下是详细的分步指南&#xff1a; 一、应急处理步骤 1. 确认服务器是否正在遭受 DDoS 攻击 …...

js原型、原型链和继承

文章目录 一、原型1、prototype2、constructor 二、原型链1、字面量原型链2、字面量继承3、构造函数的原型链4、Object.create5、Object.setPrototypeOf 三、继承1、构造函数继承2、原型链继承3、组合继承 四、常见链条1、Function2、Object.prototype 继承是指将特性从父代传递…...

看不见的彼方:交换空间——小菜一碟

有个蓝色的链接&#xff0c;先去看看两年前的题目的write up &#xff08;https://github.com/USTC-Hackergame/hackergame2022-writeups/blob/master/official/%E7%9C%8B%E4%B8%8D%E8%A7%81%E7%9A%84%E5%BD%BC%E6%96%B9/README.md&#xff09; 从别人的write up中了解到&…...

传奇996_38——称号系统

记住&#xff1a; 称号是装备&#xff0c;加属性的 特效是顶戴&#xff0c;加特效的 需要两个命令分开设置&#xff0c;称号和特效不关联 角色-称号栏显示的图标&#xff1a;由装备表字段&#xff0c;背包显示Looks控制&#xff0c;图片位置在&#xff1a;stab\res\private\t…...

C++:异常

---什么是异常&#xff1f; 异常是面向对象语法处理错误的一种方式。 ---C语言传统的处理错误的方式有哪些呢&#xff1f; 1.返回错误码&#xff0c;有些API接口都是把错误码放到errno中。 2.终止程序&#xff0c;比如发生越界等严重问题时&#xff0c;我们也可以主动调用exit…...

winScp连接Ubantu系统,访问拒绝的解决方式

一、原理分析 win10系统能够通过WinScp连接到Ubantu系统的前提是Ubantu系统开启ssh服务 二、解决步骤 1、Ubantu系统开启ssh服务 更新软件列表 sudo apt update安装OpenSSH服务器 sudo apt install openssh-server开启SSH服务 service sshd start到此&#xff0c;winScp…...

Oracle 建表的存储过程

建表的存储过程 下面是建表的存储过程&#xff0c;用途&#xff1a;通过不同的表&#xff0c;根据不同过滤条件&#xff0c;得到某个字段&#xff0c;例如neid&#xff0c;然后创建一个新表T&#xff0c;表T的表名为拼接XXXX_XXX_neid&#xff0c;表T的字段自行添加 xxx&…...

芯科科技率先支持Matter 1.4,推动智能家居迈向新高度

Matter 1.4引入核心增强功能、支持新设备类型&#xff0c;持续推进智能家居互联互通 近日&#xff0c;连接标准联盟&#xff08;Connectivity Standard Alliance&#xff0c;CSA&#xff09;发布了Matter 1.4标准版本。作为连接标准联盟的重要成员之一&#xff0c;以及Matter标…...

pandas快速解决空列表问题

在使用 Pandas 处理数据时&#xff0c;我们经常会遇到包含空列表&#xff08;即空值或缺失值&#xff09;的问题。Pandas 提供了一些非常有效的方法来处理这些空列表&#xff0c;使得数据清理和预处理变得更加简单和高效。 以下是一个示例&#xff0c;展示如何使用 Pandas 快速…...

sentinel使用手册

1.引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>2.yaml spring:cloud:sentinel:transport:dashboard: localhost:8090 #sentinel控制台地址…...

【继承】—— 我与C++的不解之缘(十九)

前言&#xff1a; 面向对象编程语言的三大特性&#xff1a;封装、继承和多态 本篇博客来学习C中的继承&#xff0c;加油&#xff01; 一、什么是继承&#xff1f; ​ 继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段&#xff0c;它允许我们在保持原有类…...

腾讯微众银行大数据面试题(包含数据分析/挖掘方向)面试题及参考答案

为什么喜欢使用 XGBoost,XGBoost 的主要优势有哪些? XGBoost 是一个优化的分布式梯度增强库,在数据科学和机器学习领域应用广泛,深受喜爱,原因主要在于其众多突出优势。 首先,它的精度高,在许多机器学习竞赛和实际应用中,XGBoost 都展现出卓越的预测准确性。其基于决策…...

组合数练习题——c++

题目设置&#xff1a; 现在有x个相同的小球&#xff0c;分给y个人&#xff0c;每个人至少分k个&#xff0c;请问有多少种可能的分发方法&#xff0c;由于结果可能较大&#xff0c;答案对10^97取模。 输入格式&#xff1a; 一行3个整数&#xff1a;x&#xff0c;y, k&#xf…...

Java:JPMS模块化开发

JPMS&#xff08;Java Platform Module System&#xff09;简介 为什么用JPMS&#xff1f; JPMS&#xff08;Java 平台模块系统&#xff09;是 Java 9 引入的模块化系统&#xff0c;也称为 Jigsaw 项目。它为 Java 提供了更精细的模块化机制&#xff0c;用于组织和管理代码&a…...

Spring Boot中配置Flink的资源管理

在 Spring Boot 中配置 Flink 的资源管理&#xff0c;需要遵循以下步骤&#xff1a; 添加 Flink 依赖项 在你的 pom.xml 文件中&#xff0c;添加 Flink 和 Flink-connector-kafka 的依赖项。这里以 Flink 1.14 版本为例&#xff1a; <!-- Flink dependencies --><de…...

【ruby on rails】dup、deep_dup、clone的区别

一、区别 dup 浅复制&#xff1a;dup 方法创建对象的浅复制。 不复制冻结状态&#xff1a;dup 不会复制对象的冻结状态。 不复制单例方法&#xff1a;dup 不会复制对象的单例方法。 deep_dup 深复制&#xff1a;deep_dup 方法创建对象的深复制&#xff0c;递归复制嵌套的对象。…...

鸿蒙开发-HMS Kit能力集(应用内支付、推送服务)

1 应用内支付 开发步骤 步骤一&#xff1a;判断当前登录的华为账号所在服务地是否支持应用内支付 在使用应用内支付之前&#xff0c;您的应用需要向IAP Kit发送queryEnvironmentStatus请求&#xff0c;以此判断用户当前登录的华为帐号所在的服务地是否在IAP Kit支持结算的国…...

springboot中使用mongodb完成评论功能

pom文件中引入 <!-- mongodb --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> yml中配置连接 data:mongodb:uri: mongodb://admin:1234561…...

南京仁品耳鼻喉专科医院:12月启动公益义诊月

专业医疗资源送至“家门口”&#xff01;南京仁品耳鼻喉专科医院启动公益义诊月 随着2024年即将步入尾声&#xff0c;南京仁品耳鼻喉医院为回馈社会&#xff0c;提升公众健康福祉&#xff0c;将于12月隆重推出“三甲专家公益义诊月”活动。此次活动旨在通过汇聚众多耳鼻喉领域…...

微信小程序首页搜索框的实现教程

微信小程序首页搜索框的实现教程 前言 在现代移动应用中,搜索功能是用户获取信息的主要方式之一。对于购物小程序而言,提供一个美观且高效的搜索框,可以显著提升用户体验,帮助用户快速找到他们想要的商品。本文将详细介绍如何在微信小程序中实现一个样式优美的搜索框,包…...

Educational Codeforces Round 151 (Rated for Div. 2)

题目链接 B. Come Together 题意 输入 输出 思路 可以将B、C坐标作A的变换&#xff0c;将A平移至原点&#xff0c;然后分情况讨论: B、C两点都在轴上&#xff0c;具体分为同向轴和其他情况B、C两点都在象限中&#xff0c;具体分为相同象限、对角象限和相邻象限分别位于象限…...

第二十一天 深度学习简介

深度学习&#xff08;Deep Learning&#xff0c;简称DL&#xff09;是机器学习的一个分支&#xff0c;它通过构建和训练深层神经网络模型&#xff0c;从数据中学习和提取特征&#xff0c;以实现复杂任务的自动化处理和决策。以下是对深度学习的详细介绍&#xff1a; 一、起源与…...

mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?

随笔 从千万粉丝“何同学”抄袭开源项目说起&#xff0c;为何纯技术死路一条&#xff1f; 数据源的统一与拆分 监控报警系统的指标、规则与执行闭环 我们的系统应该配置哪些监控报警项&#xff1f; 监控报警系统如何实现自监控? java 老矣&#xff0c;尚能饭否&#xff…...

elementUI如何dialog对话框 不设置 点击遮罩层 自动关闭的功能

背景 用户在填写dialog对话框的时候&#xff0c;有时候误触 遮罩层&#xff0c;导致form表单直接关闭&#xff0c;用户的信息丢失 代码 要使对话框在点击遮罩层时关闭&#xff0c;您需要在 el-dialog 组件上将 close-on-click-modal 属性设置为 false。以下是更新后的代码&…...

循环神经网络:从基础到应用的深度解析

&#x1f35b;循环神经网络&#xff08;RNN&#xff09;概述 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一种能够处理时序数据或序列数据的深度学习模型。不同于传统的前馈神经网络&#xff0c;RNN具有内存单元&#xff0c;能够捕捉序列中前后信息…...

LeetCode 100.相同的树

题目&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 思路&#xff1a;灵神 代码&#xff1a; class Solution {public boolean…...

序列化与反序列化

序列化是将对象转换为可被存储或传输的格式&#xff0c;例如将对象转换为字节流或字符串。序列化的过程可以将对象的状态保存下来&#xff0c;以便在需要时可以重新创建对象。 反序列化则是将序列化的对象转换回原始的对象形式&#xff0c;以便可以使用和操作这些对象。 序列…...

spring boot打包fat jar

所谓fat jar就是包含所有依赖的jar以及其他开发的代码的jar包。可以通过java -jar xxx.jar直接启动运行&#xff0c;不需要部署到tomcat中间件就能运行。 接下来我们使用maven进行打包&#xff1a; &#xff08;1&#xff09;在需要带包的主模块的pom中添加build依赖&#xf…...

2021年美亚杯电子数据取证大赛-个人赛

资格赛-案件背景 2021年10月某日早上&#xff0c;本市一个名为"大路建设"的高速公路工地主管发现办公室的计算机被加密并无法开启&#xff0c;其后收到了勒索通知。考虑到高速公路的基建安全&#xff0c;主管决定报警。警方调查人员到达现场取证&#xff0c;发现办公…...

用 React 编写一个笔记应用程序

这篇文章会教大家用 React 编写一个笔记应用程序。用户可以创建、编辑、和切换 Markdown 笔记。 1. nanoid nanoid 是一个轻量级和安全的唯一字符串ID生成器&#xff0c;常用于JavaScript环境中生成随机、唯一的字符串ID&#xff0c;如数据库主键、会话ID、文件名等场景。 …...

泛型擦除是什么?

泛型擦除(Type Erasure)是Java编译器在编译泛型代码时的一种机制&#xff0c;它的目的是确保泛型能够与JAVA的旧版本(即不支持泛型的版本)兼容。泛型擦除会在编译时移除泛型类型信息&#xff0c;并将泛型类型替换为其非泛型的上限类型(通常是Object) 详细解释 在Java中&#…...