【Linux系统基础】(2)在Linux上部署MySQL、RabbitMQ、ElasticSearch等各类软件
实战章节:在Linux上部署各类软件

前言
为什么学习各类软件在Linux上的部署
在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知识点。
所以,现在我们设计了各类软件在Linux上部署安装的实战章节,可以让同学们:
- 对前面学习的各类操作命令进行复习和练习,从而深度掌握它们
- 本章节中演示部署的软件,包含了IT行业各类岗位中所必须使用的,如:Java后台、大数据开发、运维开发、测试、AI等。无论学习Linux后从事什么岗位,这些内容都会给你带来帮助
对于零基础学员,实战课程中所讲解的软件大概率多数大家并不了解。
所以,课程仅涉及到安装部署,不对软件的使用做详细说明。
同学们在这个过程中,可能会遇到各种各样的错误,
不要怕,解决它,将会给你带来极大的提升。
学习目标
对于本部分的内容学习,我们设计两个目标:
-
对于零基础或未从业的学员,不要求深入理解所安装部署的软件是什么,仅仅能够跟随课程成功的将其部署安装并运行成功即可
在这个过程中,主要锻炼大家对Linux操作系统的熟练度,此乃零基础未从业学员的第一学习目标
-
对于有基础或已从业的学员,本章节讲解的软件涵盖了大多数IT从业者所能接触到的,特别是大数据开发、后端开发两个主流方向,可以作为参考资料,以便在工作中有所帮助。
本章节内的各类软件安装,不强制要求全部学习
- 零基础学员,建议全部学习,作为前面学习内容的总结和实战
- IT从业者、有经验学员,可以按需选择,选择工作中需要用到的进行学习
章节内包含的软件并非100%涵盖了IT开发领域中所需要的内容。
如果您对某些软件的安装有强烈需求,且课程中没有提供教程,可以私信,老师会酌情根据时间安排补充上去哦。
从现在开始,将要进入到Linux的实操阶段,在这个阶段我们将会涉及到非常多的软件部署等操作,涉及到:
- 各类命令的使用
- 各种过程的结果
- 复杂的流程步骤
- 等
前置要求
- 实战章节要求同学们务必全部学习前面的知识点,即:初识Linux、Linux基础命令、Linux权限管理、Linux高阶技巧这4个章节,请勿跳过前面的章节学习实战章节。
- 实战章节中会开启多台虚拟机,请尽量确保电脑的内存在:8GB(包含8GB)以上。如内存不足可以扩充内存条或购买阿里云、UCloud等云服务器临时使用(1个月多台低配服务器几十块左右)
对于云平台上购买服务器,可以参阅最后的章节(云服务)
注意
下面全部的软件安装的相关流程,90%都是取自软件自身的官方网站。
一个合格的程序员要有良好的信息收集能力哦
MySQL数据库管理系统安装部署【简单】
简介
MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。
MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。
让我们从MySQL开始,进行实战的Linux软件安装部署。
本次课程分为2个版本进行安装:
- MySQL 5.7版本安装
- MySQL 8.x版本安装
由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍
注意
MySQL的安装过程中,除了会使用Linux命令外,还会使用到少量的数据库专用的:SQL语句
对于SQL语句我们并未涉及,所以可以跟随教程的内容,复制粘贴即可
如有时间,建议可以在学习完Linux系统之后,学习一下MySQL数据库
无论从事什么方面的开发,Java后端、大数据、AI、前端、Linux运维等,都会要求掌握MySQL数据库的
可以说,MySQL是IT开发从业者必备的技能了。
MySQL5.7版本在CentOS系统安装
注意:安装操作需要root权限
MySQL的安装我们可以通过前面学习的yum命令进行。
安装
-
配置yum仓库
# 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:
- 导入MySQL仓库的密钥
- 配置MySQLQ的yum仓库
-
使用yum安装MySQL
# yum安装Mysql yum -y install mysql-community-server
-
安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld # 启动 systemctl enable mysqld # 开机自启MySQL安装完成后,会自动配置为名称叫做:
mysqld的服务,可以被systemctl所管理 -
检查MySQL的运行状态
systemctl status mysqld
配置
主要配置管理员用户root的密码以及配置允许远程登录的权限。
-
获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码 grep 'temporary password' /var/log/mysqld.log
-
登陆MySQL数据库系统
# 执行 mysql -uroot -p # 解释 # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root # -p,表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
-
修改root用户密码
# 在MySQL控制台内执行 ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc -
[扩展],配置root的简单密码
我们可以给root设置简单密码,如123456.
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
# 如果你想设置简单密码,需要降低Mysql的密码安全级别 set global validate_password_policy=LOW; # 密码安全级别低 set global validate_password_length=4; # 密码长度最低4位即可# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样) ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码'; -
[扩展],配置root运行远程登录
默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
请注意,允许root远程登录会带来安全风险
# 授权root远程登录 grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option; # IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址 # 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同# 刷新权限,生效 flush privileges; -
退出MySQL控制台页面
# 退出命令 exit# 或者通过快捷键退出:ctrl + d -
检查端口
MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。
MySQL8.0版本在CentOS系统安装
注意:安装操作需要root权限
安装
-
配置yum仓库
# 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql8.x版本 yum库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm -
使用yum安装MySQL
# yum安装Mysql yum -y install mysql-community-server -
安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld # 启动 systemctl enable mysqld # 开机自启MySQL安装完成后,会自动配置为名称叫做:
mysqld的服务,可以被systemctl所管理 -
检查MySQL的运行状态
systemctl status mysqld
配置
主要修改root密码和允许root远程登录
-
获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码 grep 'temporary password' /var/log/mysqld.log -
登录MySQL数据库系统
# 执行 mysql -uroot -p # 解释 # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root # -p,表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库 -
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc -
[扩展],配置root的简单密码
我们可以给root设置简单密码,如123456.
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
set global validate_password.policy=0; # 密码安全级别低 set global validate_password.length=4; # 密码长度最低4位即可 -
允许root远程登录,并设置远程登录密码
默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
请注意,允许root远程登录会带来安全风险
# 第一次设置root远程登录,并配置远程密码使用如下SQL命令 create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc# 后续修改密码使用如下SQL命令 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; -
退出MySQL控制台页面
# 退出命令 exit# 或者通过快捷键退出:ctrl + d -
检查端口
MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。
MySQL5.7版本在Ubuntu(WSL环境)系统安装
课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
所以我们需要额外的步骤才可以安装5.7版本的MySQL
安装操作需root权限,你可以:
-
通过 sudo su -,切换到root用户
课程中选择这种方式操作
-
或在每一个命令前,加上sudo,用来临时提升权限
安装
-
下载apt仓库文件
# 下载apt仓库的安装包,Ubuntu的安装包是.deb文件 wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
-
配置apt仓库
# 使用dpkg命令安装仓库 dpkg -i mysql-apt-config_0.8.12-1_all.deb弹出框中选择:
ubuntu bionic(Ubuntu18.04系统的代号是bionic,选择18.04的版本库用来安装)
弹出框中选择:
MySQL Server & Cluster
弹出框中选择:
mysql-5.7
最后选择:
ok
-
更新apt仓库的信息
# 首先导入仓库的密钥信息 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29 # 更新仓库信息 apt update -
检查是否成功配置MySQL5.7的仓库
apt-cache policy mysql-server
看到如图所示字样,即成功
-
安装MySQL5.7
# 使用apt安装mysql客户端和mysql服务端 apt install -f -y mysql-client=5.7* mysql-community-server=5.7*弹出框中输入root密码并选择ok,密码任意,课程中以123456代替

再次输入root密码确认

-
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态
-
对MySQL进行初始化
# 执行如下命令,此命令是MySQL安装后自带的配置程序 mysql_secure_installation # 可以通过which命令查看到这个自带程序所在的位置 root@DESKTOP-Q89USRE:~# which mysql_secure_installation /usr/bin/mysql_secure_installation-
输入密码:

-
是否开启密码验证插件,如果需要增强密码安全性,输入
y并回车,不需要直接回车(课程中选择直接回车)
-
是否更改root密码,需要输入
y回车,不需要直接回车(课程不更改)
-
是否移除匿名用户,移除输入
y回车,不移除直接回车(课程选择移除)
-
是否进制root用户远程登录,禁止输入
y回车,不禁止直接回车(课程选择不禁止)
-
是否移除自带的测试数据库,移除输入
y回车,不移除直接回车(课程选择不移除)
-
是否刷新权限,刷新输入
y回车,不刷新直接回车(课程选择刷新)
-
-
登陆MySQL
mysql -uroot -p # 输入密码即可登陆成功
至此,在Ubuntu上安装MySQL5.7版本成功。
MySQL8.0版本在Ubuntu(WSL环境)系统安装
课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
所以直接可以通过apt安装即可
注意,课程是以WSL获得的Ubuntu操作系统环境。
如果你通过VMware虚拟机的方式获得了Ubuntu操作系统环境,操作步骤不用担心,和课程中使用WSL环境是完全一致的
安装操作需root权限,你可以:
-
通过 sudo su -,切换到root用户
课程中选择这种方式操作
-
或在每一个命令前,加上sudo,用来临时提升权限
安装
-
如果已经安装过MySQL5.7版本,需要卸载仓库信息哦
# 卸载MySQL5.7版本 apt remove -y mysql-client=5.7* mysql-community-server=5.7*# 卸载5.7的仓库信息 dpkg -l | grep mysql | awk '{print $2}' | xargs dpkg -P -
更新apt仓库信息
apt update -
安装mysql
apt install -y mysql-server -
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态 -
登陆MySQL设置密码
# 直接执行:mysql mysql -
设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; -
退出MySQL控制台
exit -
对MySQL进行初始化
# 执行如下命令,此命令是MySQL安装后自带的配置程序 mysql_secure_installation # 可以通过which命令查看到这个自带程序所在的位置 root@DESKTOP-Q89USRE:~# which mysql_secure_installation /usr/bin/mysql_secure_installation-
输入密码:

-
是否开启密码验证插件,如果需要增强密码安全性,输入
y并回车,不需要直接回车(课程中选择直接回车)
-
是否更改root密码,需要输入
y回车,不需要直接回车(课程不更改)
-
是否移除匿名用户,移除输入
y回车,不移除直接回车(课程选择移除)
-
是否进制root用户远程登录,禁止输入
y回车,不禁止直接回车(课程选择不禁止)
-
是否移除自带的测试数据库,移除输入
y回车,不移除直接回车(课程选择不移除)
-
是否刷新权限,刷新输入
y回车,不刷新直接回车(课程选择刷新)
-
-
重新登陆MySQL(用更改后的密码)
mysql -uroot -p
至此,在Ubuntu上安装MySQL5.7版本成功。
RabbitMQ安装部署【简单】
简介
RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。
RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。
安装
rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库
-
准备yum仓库
# root执行 # 1. 准备gpgkey密钥 rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey# 2. 准备仓库文件 vim /etc/yum.repos.d/rabbitmq.repo # 填入如下内容 ## ## Zero dependency Erlang ##[rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300[rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300## ## RabbitMQ server ##[rabbitmq_server] name=rabbitmq_server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300[rabbitmq_server-source] name=rabbitmq_server-source baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 -
安装RabbitMQ
# root执行 yum install erlang rabbitmq-server -yInstalled:erlang.x86_64 0:23.3.4.11-1.el7 rabbitmq-server.noarch 0:3.10.0-1.el7 -
启动
# root执行 # 使用systemctl管控,服务名:rabbitmq-server systemctl enable rabbitmq-server # 开机自启 systemctl disable rabbitmq-server # 关闭开机自启 systemctl start rabbitmq-server # 启动 systemctl stop rabbitmq-server # 关闭 systemctl status rabbitmq-server # 查看状态 -
放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启# 方式2,放行5672 25672端口 firewall-cmd --add-port=5672/tcp --permanent # 放行tcp规则下的5672端口,永久生效 firewall-cmd --add-port=15672/tcp --permanent # 放行tcp规则下的15672端口,永久生效 firewall-cmd --add-port=25672/tcp --permanent # 放行tcp规则下的25672端口,永久生效 firewall-cmd --reload # 重新加载防火墙规则 -
启动RabbitMQ的WEB管理控制台
rabbitmq-plugins enable rabbitmq_management -
添加admin用户,并赋予权限
rabbitmqctl add_user admin 'Itheima66^' rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*" rabbitmqctl set_user_tags admin administrator -
浏览器打开管理控制台
http://192.168.88.130:15672

至此,RabbitMQ已经安装完成了。
Redis安装部署【简单】
简介
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
redis的特点就是:快,可以基于内存存储数据并提供超低延迟、超快的检索速度
一般用于在系统中提供快速缓存的能力。
安装
-
配置
EPEL仓库EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包,类似Windows的exe),而且大多数rpm包在官方 repository 中是找不到的。
# root执行 yum install -y epel-release -
安装redis
# root执行 yum install -y redis -
启动redis
# root执行 # 使用systemctl管控,服务名:redis systemctl enable redis # 开机自启 systemctl disable redis # 关闭开机自启 systemctl start redis # 启动 systemctl stop redis # 关闭 systemctl status redis # 查看状态 -
放行防火墙,redis使用端口6379
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启# 方式2,放行6379端口 firewall-cmd --add-port=6379/tcp --permanent # 放行tcp规则下的6379端口,永久生效 firewall-cmd --reload -
进入redis服务
# 执行redis-cli [root@centos ~]# redis-cli 127.0.0.1:6379> set mykey hello OK 127.0.0.1:6379> get mykey "hello" 127.0.0.1:6379>
至此,redis安装完成。
ElasticSearch安装部署
简介
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。
很多服务中的搜索功能,都是基于es来实现的。
安装
-
添加yum仓库
# root执行 # 导入仓库密钥 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch# 添加yum源 # 编辑文件 vim /etc/yum.repos.d/elasticsearch.repo[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md# 更新yum缓存 yum makecache -
安装es
yum install -y elasticsearch -
配置es
vim /etc/elasticsearch/elasticsearch.yml# 17行,设置集群名称 cluster.name: my-cluster# 23行,设置节点名称 node.name: node-1# 56行,允许外网访问 network.host: 0.0.0.0# 74行,配置集群master节点 cluster.initial_master_nodes: ["node-1"] -
启动es
systemctl start | stop | status | enable | disable elasticsearch -
关闭防火墙
systemctl stop firewalld systemctl disable firewalld -
测试
浏览器打开:http://ip:9200/?pretty

相关文章:
【Linux系统基础】(2)在Linux上部署MySQL、RabbitMQ、ElasticSearch等各类软件
实战章节:在Linux上部署各类软件 前言 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,…...
HarmonyOS4.0系统性深入开发01应用模型的构成要素
应用模型的构成要素 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。 HarmonyOS应用模型的构成要…...
线下终端门店调研包含哪些内容
品牌渠道一般分为线上和线下,线上的价格、促销信息、店铺优惠机制等都可以通过登录查看,但是线下门店的数据则需要进店巡查,否则无法得到真实的店铺销售数据,当然也有品牌是靠线下的业务团队报备机制获得这些信息,但是…...
倾斜摄影三维模型数据在行业应用分析
倾斜摄影三维模型数据在行业应用分析 倾斜摄影三维模型数据是一种重要的地理信息资源,可以广泛应用于各个行业和场景,以解决不同领域的问题。以下将详细探讨几个典型的行业或场景,它们利用倾斜摄影三维模型数据解决问题的应用。 1、地理测绘…...
Apache Flink 进阶教程(七):网络流控及反压剖析
目录 前言 网络流控的概念与背景 为什么需要网络流控 网络流控的实现:静态限速 网络流控的实现:动态反馈/自动反压 案例一:Storm 反压实现 案例二:Spark Streaming 反压实现 疑问:为什么 Flink(bef…...
k8s学习 — (DevOps实践)第十三章 DevOps 环境搭建
k8s学习 — (DevOps实践)第十三章 DevOps 环境搭建 学习资料1 Gitlab1.1 安装 Gitlab1.2 页面配置1.3 配置 Secret1.4 为项目配置 Webhook1.5 卸载 2 Harbor2.1 安装 Harbor2.1 配置 Secret 3 SonarQube3.1 安装 SonarQube3.2 生成服务 token3.3 创建 We…...
Java_Stream流
一、JDK8新特性(Stream流) 接下来学习一个全新的知识,叫做Stream流(也叫Stream API)。它是从JDK8以后才有的一个新特性,是专业用于对集合或者数组进行便捷操作的。有多方便呢?我们用一个案例体…...
delphi中,tstringlist使用方法示例
delphi中,tstringlist使用方法示例 在 Delphi 中,TStringList 是一个常用的字符串列表类,它提供了许多用于处理字符串列表的方法。以下是一个示例,演示了如何在 Delphi 中使用 TStringList 类: program TStringListEx…...
【飞凌 OK113i-C 全志T113-i开发板】视频编解码测试
前言 本文测试OK113i-S开发板-视频编解码的功能 OK113i-S开发板是支持视频的编解码的,下面是官方介绍的编解码功能 T113-i 是一种为多媒体解码平台设计的高级应用处理器。T113-i 集成了64位玄铁C906 RISC-V CPU, 双核 Cortex - A7 CPU 和 HiFi4 DSP&a…...
全部没有问题 (一.5)
java mooc练习 基础练习: 进阶练习: final 赋值一次 局部 必须赋值 抽象类 多态测试 package com.book;public class moocDraft1 {static int variable1;public void fatherMethod(moocDraft1 a){System.out.println(variable);}public static void…...
C++归并排序详解以及代码实现
1. 介绍 归并排序(Merge Sort)是一种采用分治法(Divide and Conquer)策略的排序算法。该算法首先将已有序的子序列合并,得到完全有序的序列。在归并排序中,合并操作是将两个有序表合并成一个有序表的过程。…...
springboot整合JPA 多表关联 :一对多 多对多
补充一下自定义SQL 这是连表查询,可以任意查出字符,用Map接收 Testvoid test3() {JPAQueryFactory jpaQueryFactory new JPAQueryFactory(em);QStudent student QStudent.student;QMessage message QMessage.message;//constructor(StuMesDto.class, …...
Python 数据分析 Matplotlib篇 plt.rcParams 字典(第5讲)
Python 数据分析 Matplotlib篇 plt.rcParams字典(第5讲) 🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…...
DeamonSet详解
目录 1.1 何为DaemonSet 1.2 DaemonSet 的 API 对象的定义 1.3 DaemonSet实践 1.3.1 创建 DaemonSet 对象 1.3.2 查看 DaemonSet 对象 1.3.3 DaemonSet 版本管理 1.3.4 DaemonSet 的容器镜像版本到 v2.2.0 1.1 何为DaemonSet 介绍DaemonSet我们先来思考一个问题&#x…...
TwIST算法MALTLAB主程序详解
TwIST算法MALTLAB主程序详解 关于TwIST算法的具体原理可以参考: 链接: https://ieeexplore.ieee.org/abstract/document/4358846 链接: https://blog.csdn.net/jbb0523/article/details/52193209 该算法的MATLAB源代码: 链接: http://www.lx.it.pt/~bi…...
Flutter 三: Dart
1 数据类型 数字(number) int double 字符串转换成 num int.parse(“1”) double.parse(“1”);double 四舍五入保留两位小数 toStringAsFixed(2) 返回值为stringdouble 直接舍弃小数点后几位的数据 可使用字符串截取的方式 字符串(string) 单引号 双引号 三引号三引号 可以输…...
redis基本用法学习(C#调用FreeRedis操作redis)
FreeRedis属于常用的基于.net的redis客户端,EasyCaching中也提供适配FreeRedis的包。根据参考文献4中的说法,FreeRedis和CsRedis算是近亲(都是GitHub中账号为2881099下的开源项目),因此其用法特别相似。FreeRedis的主要…...
Postman接口测试(超详细整理)
常用的接口测试工具主要有以下几种 Postman:简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, …...
【深入解析spring cloud gateway】12 gateway参数调优与分析
本节主要对网关主要的一些参数做一些解释说明,并用压测工具测试一下网关的接口,通过压测来验证参数配置是否合理 一、连接池参数 参数示例 spring:application:name: gatewaycloud:gateway:# http连接设置httpclient:# 全局的响应超时时间,…...
Java继承,父类没有无参构造方法时,子类必须要显式调用父类的构造方法
在Java中,如果一个类没有定义任何构造函数,那么编译器会默认为这个类提供一个无参的构造函数。 这个隐式的构造函数在继承的时候,子类会在自己的构造方法里面默认的调用这个构造函数。 但是,如果我们在父类中定义了一个有参构造…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础,但这一子系统结构复杂,常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题,需要一套工具化、…...
IP选择注意事项
IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时,需要考虑以下参数,然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...
生产管理系统开发:专业软件开发公司的实践与思考
生产管理系统开发的关键点 在当前制造业智能化升级的转型背景下,生产管理系统开发正逐步成为企业优化生产流程的重要技术手段。不同行业、不同规模的企业在推进生产管理数字化转型过程中,面临的挑战存在显著差异。本文结合具体实践案例,分析…...
DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model
一、研究背景与创新点 (一)现有方法的局限性 当前智驾系统面临两大核心挑战:一是长尾问题,即系统在遇到新场景时可能失效,例如突发交通状况或非常规道路环境;二是可解释性问题,传统方法无法解释智驾系统的决策过程,用户难以理解车辆行为的依据。传统语言模型(如 BERT…...
