(第四十天)配置完整的考试系统,完成前端和后端并优化,mysql后端,nginx前端,java连接

news2024/11/27 8:24:15
回顾
1 、使用 harbor 仓库
python --version
yum -y update
yum -y install python2-pip
pip install --upgrade pip == 20 .3 -i .......
pip install docker-compose -i .......
sh docker.sh
解压 harbor
vim harbor.yml
./prepare
./installed
使用 nginx 发布 web 服务
使用 registry 管理
2 docker-compose 的编排
在学习 kubernetes 之前的热身
通过运行一个 yum 管理 docker 容器
docker-compose.yml
vim docker-compose.yml
version: "3"
services:
nginx:
contanner_name: name0
image: nginx:latest
ports:
- "80:80"
volums:
- /opt/web/:/usr/share/nginx/html/
一、项目 - 使用 docker 部署 project-exam-system
1 、背景
在一台主机之内,实现容器的编排,发布考试系统
2 、环境准备
# 部署 docker 环境
[root@docker ~] # sh docker.sh
[root@docker ~] # vim /etc/docker/daemon.json
{
"registry-mirrors" : [
"https://do.nark.eu.org" ,
"https://dc.j8.work" ,
"https://docker.m.daocloud.io" ,
"https://dockerproxy.com" ,
"https://docker.mirrors.ustc.edu.cn" ,
"https://docker.nju.edu.cn"
],
"host" : [
"tcp://0.0.0.0:2375" ,
"unix:///var/run/docker.sock"
],
"insecure-registries" : [
"http://10.0.0.7:5000"
]
}
[root@docker ~] # vim /usr/lib/systemd/system/docker.service
ExecStart = /usr/bin/dockerd
[root@docker ~] # systemctl daemon-reload
[root@docker ~] # systemctl start docker
[root@docker ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
3 、前端配置
前端使用 nginx 服务
1 )测试:容器搭建 nginx 服务
# 拉取 nginx 镜像
[root@docker ~] # docker pull nginx
[root@docker ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5ef79149e0ec 2 weeks ago 188MB
# 创建一个容器测试一下 nginx 服务
[root@docker ~] # docker run -itd -p80:80 nginx:latest
fc8a6e06f77d877c8341c8a5aed3ec50fa448918bc672b2e330db8060b947a57
[root@docker ~] # docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
fc8a6e06f77d nginx:latest "/docker-entrypoint.…" 10 seconds ago Up 9
seconds 0 .0.0.0:80->80/tcp, :::80->80/tcp busy_mccarthy
[root@docker ~] # docker exec -it fc8a ls /usr/share/nginx/html
50x.html index.html
# 在容器启动后, nginx 服务就自动发布了
[root@docker ~] # curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href = "http://nginx.org/" >nginx.org</a>.<br/>
Commercial support is available at
<a href = "http://nginx.com/" >nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
# 主机浏览器访问
2 )上传前端项目映射到容器中
# 上传前端项目 dist
# 创建一个目录,不单独放置前端的资料,将后端的所有资料也都放在这里
[root@docker ~] # mkdir project_exam_system
[root@docker ~] # cd project_exam_system/
[root@docker project_exam_system] # mkdir web
[root@docker ~] # unzip project_exam_system.zip
[root@docker ~] # mv dist project_exam_system/web/
[root@docker ~] # cd project_exam_system
[root@docker project_exam_system] # ls
web
[root@docker project_exam_system] # cd web/
[root@docker web] # ls
dist
# 将测试容器删除
[root@docker web] # docker rm -f fc8
fc8
# 再创建容器,映射端口,挂载目录
[root@docker project_exam_system] # docker run -itd -p80:80 -v
/root/project_exam_system/web/dist/:/usr/share/nginx/html/ nginx:latest
98646a277c8bd126a3fd39453707b5ab66a8869be963e3680653610c991e46af
[root@docker project_exam_system] # docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
98646a277c8b nginx:latest "/docker-entrypoint.…" 9 seconds ago Up 9
seconds 0 .0.0.0:80->80/tcp, :::80->80/tcp unruffled_gauss
3 )结果展示
出现问题,在实现登录时,出现后端异常,原因是后端还没有配置。
从上面图片可以看出来,请求的域名为 bu.yuanyu.zhangmin ,现在我们需要将域名劫持下来,将该域名指向我们的linux 主机,在 linux 主机中使用容器搭建后端服务器,所以要在本机的 hosts 文件中写入域名的对应关系,使其指向linux 主机
配置完成后,本机能够 ping bu.yuanyu.zhangmin 域名并由 10.0.0.7 主机回应即配置成功
4 、后端配置
后端的业务 springboot
优点:不用单独部署 tomcat ,已经在 springboot 中内置 tomcat
1 )测试:在 centos 容器中配置 java 环境,修改数据库地址并运行 war
# 拉取基础 centos 镜像
[root@docker ~] # docker pull centos
# 创建 centos 容器
[root@docker ~] # docker run -it centos:latest /bin/bash
[root@d34e6c6d34d7 /] # ls
bin etc lib lost + found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@d34e6c6d34d7 /] # [root@docker ~]#
# 试图使用 scp 将服务器上的 war 包上传给容器中去,发现上传不了
[root@docker ~] # scp Project_ExamSystem-V1.0.0.war root@172.17.0.3:~
ssh : connect to host 172 .17.0.3 port 22 : Connection refused
lost connection
# 查看 docker 帮助文档
[root@docker ~] # docker --help
cp Copy files/folders between a container and the local filesystem
# 查看 docker cp 帮助文档
[root@docker ~] # docker cp --help
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
[root@docker ~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d34e6c6d34d7 centos:latest "/bin/bash" 3 minutes ago Up
3 minutes gifted_brown
98646a277c8b nginx:latest "/docker-entrypoint.…" 31 minutes ago Up
31 minutes 0 .0.0.0:80->80/tcp, :::80->80/tcp unruffled_gauss
# 使用 cp 命令将服务器中的 war 包、 jdk 包、 application.properties 文件上传到容器中
# 需要 jdk17 版本
[root@docker ~] # docker cp Project_ExamSystem-V1.0.0.war d34e:/
Successfully copied 41MB to d34e:/
[root@docker ~] # docker cp jdk-17_linux-x64_bin.tar.gz d34e:/
Successfully copied 183MB to d34e:/
[root@docker ~] # docker cp application.properties d34e:/
Successfully copied 4 .1kB to d34e:/
# 进入到容器中
# 对已经传到容器的文件进行部署
[root@docker ~] # docker attach d34e
# 查看,是否上传成功
[root@d34e6c6d34d7 /] # ls
Project_ExamSystem-V1.0.0.war dev jdk-17_linux-x64_bin.tar.gz lost + found
opt run sys var
application.properties etc lib media proc sbin
tmp
bin home lib64 mnt root srv usr
# 创建 jdk 目录
[root@d34e6c6d34d7 /] # mkdir /usr/local/jdk
# jdk 包解压到 jdk 目录下
[root@d34e6c6d34d7 /] # tar -zxf jdk-17_linux-x64_bin.tar.gz -C
/usr/local/jdk/ --strip-components=1
# 查看解压是否成功
[root@d34e6c6d34d7 /] # ls /usr/local/jdk/
LICENSE README bin conf include jmods legal lib man release
# 修改 application.properties 文件内容,指定数据库位置
[root@d34e6c6d34d7 /] # vi application.properties
spring.datasource .url = jdbc:mysql://10.0.0.7:3306/project_exam_system
# 使用 java 命令运行 war
[root@d34e6c6d34d7 /] # /usr/local/jdk/bin/java -jar Project_ExamSystem
V1.0.0.war
: Started ProjectExamSystemApplication in 16 .425 seconds (process
running for 18 .114)
# ctrl p q 退出容器
read escape sequence
# 测试 war 包是否正常运行
# 以下显示表示正常
[root@docker ~] # curl 172.17.0.3:8080
{ "code" :20002, "msg" : " 账号不存在或密码错误 " }[root@docker ~] #
2 )将 centos 容器封装为 java 镜像并创建 java 容器
# 查看 commit 帮助文档
[root@docker ~] # docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# 根据容器创建镜像
[root@docker ~] # docker commit d34 java:v0
sha256:1d715d202236751037fc5f67084c2e437e4aeb3159f5a9e74017d8f555e1767d
[root@docker ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 1d715d202236 31 seconds ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
centos latest 5d0da3dc9764 2 years ago 231MB
# 停止 centos 容器
[root@docker ~] # docker stop d34
d34
# 移除 centos 容器
[root@docker ~] # docker rm d34
d34
# 根据新建的镜像,创建容器
[root@docker ~] # docker run -itd -p8080:8080 java:v0 /usr/local/jdk/bin/java
-jar Project_ExamSystem-V1.0.0.war
9337c1beb386d63b6c9ddc3bf25c1830af16505e6e29844a4599a10b2888f16c
# 查看容器的进程
[root@docker ~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
9337c1beb386 java:v0 "/usr/local/jdk/bin/…" 4 seconds ago Up
3 seconds 0 .0.0.0:8080->8080/tcp, :::8080->8080/tcp boring_einstein
98646a277c8b nginx:latest "/docker-entrypoint.…" About an hour ago Up
About an hour 0 .0.0.0:80->80/tcp, :::80->80/tcp unruffled_gauss
3 )结果展示
浏览器访问,出现 500 错误,说明 java 项目部署不对,主要是数据库未导入数据。
5 、数据持久化业务 mysql-5.7.44
1 )配置 mysql 容器并导入 sql 数据
# 拉取 mysql:5.7.44
[root@docker ~] # docker pull mysql:5.7.44
[root@docker ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 1d715d202236 3 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5 .7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
# 创建 mysql 容器
[root@docker ~] # docker run -itd -e MYSQL_ROOT_PASSWORD=root -p3306:3306
mysql:5.7.44
9f30dfb770753a5b50872f29d961da87e41e7dcdfcd3e9e187193a8384cd2990
[root@docker ~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
9f30dfb77075 mysql:5.7.44 "docker-entrypoint.s…" 13 seconds ago Up 11
seconds 0 .0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060 /tcp
heuristic_varahamihira
9337c1beb386 java:v0 "/usr/local/jdk/bin/…" 3 hours ago Up 3
hours 0 .0.0.0:8080->8080/tcp, :::8080->8080/tcp
boring_einstein
98646a277c8b nginx:latest "/docker-entrypoint.…" 4 hours ago Up 4
hours 0 .0.0.0:80->80/tcp, :::80->80/tcp
unruffled_gauss
# 创建 mysql 目录
[root@docker ~] # mkdir mysql
# sql 文件移动到 mysql 目录下
[root@docker ~] # mv project_exam_system.sql project_exam_system/mysql/
# 使用 Navicat Premium 应用软件将 sql 文件中的数据导入到数据库中
2 )进入数据库中创建指定用户并为用户授权
# 进入数据库中查看数据
[root@docker project_exam_system] # docker exec -it 9f30 mysql -uroot -proot
mysql> show databases;
+ --------------------- +
| Database |
+ --------------------- +
| information_schema |
| mysql |
| performance_schema |
| project_exam_system |
| sys |
+ --------------------- +
5 rows in set (0.01 sec)
mysql> use project_exam_system
mysql> show tables;
+ ------------------------------- +
| Tables_in_project_exam_system |
+ ------------------------------- +
| admin |
| category |
| com_city |
| com_nation |
| course |
| dept |
| dept_student |
| exam |
| exam_dept |
| exam_process |
| loginlog |
| major |
| menu |
| paper |
| paper_topic |
| role |
| role_admin |
| role_menu |
| semester |
| student |
| teacher |
| topic |
| user |
+ ------------------------------- +
23 rows in set (0.00 sec)
mysql> select * from user;
+ ----- + -------------- + ---------- + -------- + --------------------- + ---------- + --
------------------- + -------- + ------- +
| id | userName | password | status | createTime | createOr |
editTime | editOr | isDel |
+ ----- + -------------- + ---------- + -------- + --------------------- + ---------- + --
------------------- + -------- + ------- +
| 1 | 21001189 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-22 22 :04:44 | NULL | 0 |
| 2 | 21001190 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 3 | 21001191 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 4 | 21001192 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 5 | 21001193 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 6 | 21001194 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 7 | 21001195 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 8 | 21001196 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 9 | 21001197 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
| 10 | 21001198 | 111111 | 0 | 2024 -08-21 09 :45:05 | NULL |
2024 -08-21 09 :45:05 | NULL | 0 |
# 由于连接数据库使用的用户是 zhangsan ,所以我们需要创建 zhangsan 用户并授权
mysql> create user 'zhangmin' @ '%' identified by 'zhangmin' ;
Query OK, 0 rows affected (0.09 sec)
mysql> grant all on *.* to 'zhangmin' @ '%' ;
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
3 )结果展示
6 、优化(使用 Dockerfile 直接制作 java 镜像)
1 )创建 java 目录,将所需文件移动到 java 目录下
[root@docker ~] # mkdir project_exam_system/java
[root@docker ~] # mv jdk-17_linux-x64_bin.tar.gz project_exam_system/java/
[root@docker ~] # mv application.properties project_exam_system/java/
[root@docker ~] # mv Project_ExamSystem-V1.0.0.war project_exam_system/java/
[root@docker ~] # cd project_exam_system/java/
[root@docker java] # tar -zxf jdk-17_linux-x64_bin.tar.gz
[root@docker java] # mv jdk-17.0.12/ jdk
# 修改连接后端数据库的 IP 地址
[root@docker java] # vim application.properties
spring.datasource .url = jdbc:mysql://10.0.0.7:3306/project_exam_system
2 )在 java 目录下编辑 Dockerfile 文件
[root@docker java] # vim Dockerfile
FROM centos:latest
ADD application.properties /application.properties
ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0.war
ADD jdk /usr/local/jdk
WORKDIR /
EXPOSE 8080
CMD [ "/usr/local/jdk/bin/java" , "-jar" , "Project_ExamSystem-V1.0.0.war" ]
3 )使用 Dockerfile 文件创建 java 镜像并创建一个 java 容器测试
[root@docker java] # docker build -t java:v2 .
[ + ] Building 3 .1s (11/11) FINISHED
# 发现 java:v2 java:v1 小很多,由于使用的是 centos 镜像为基础镜像是关闭状态一层一层封装为
java 镜像的
[root@docker java] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v2 d06359c88e57 23 minutes ago 591MB
java v0 1d715d202236 6 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5 .7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker java] # docker run -itd -p8081:8080 java:v2
3bebbb51648947c5893e27da41540fab92d956812bf8def0595c46881dd54e72
[root@docker java] # docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
3bebbb516489 java:v2 "/bin/bash /java.sh" 10 seconds ago Up 8
seconds 0 .0.0.0:8081->8080/tcp, :::8081->8080/tcp
nervous_zhukovsky
9f30dfb77075 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2
hours 0 .0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060 /tcp
heuristic_varahamihira
9337c1beb386 java:v0 "/usr/local/jdk/bin/…" 5 hours ago Up 5
hours 0 .0.0.0:8080->8080/tcp, :::8080->8080/tcp
boring_einstein
98646a277c8b nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6
hours 0 .0.0.0:80->80/tcp, :::80->80/tcp
unruffled_gauss
[root@docker java] # curl 10.0.0.7:8081
{ "code" :20002, "msg" : " 账号不存在或密码错误 " }[root@docker java] #
[root@docker java] # docker exec -it 3b ss -tupln | grep 8080
tcp LISTEN 0 128 *:8080 *:* users:
(( "java" ,pid = 7 ,fd = 9 ))
4 )使用 Dockerfile 文件创建 nginx 镜像
[root@docker web] # ls
dist Dockerfile
[root@docker web] # vim Dockerfile
FROM nginx:latest
ADD dist/ /usr/share/nginx/html/
EXPOSE 80
CMD [ "nginx" , "-g" , "daemon off;" ]
[root@docker web] # docker run -itd --name n0 -p80:80 nginx:v1
5 )使用 Dockerfile 文件创建 mysql 镜像
[root@docker mysql] # ls
Dockerfile project_exam_system.sql
[root@docker mysql] # vim project_exam_system.sql
最后加入
CREATE USER 'zhangmin' @ '%' IDENTIFIED BY 'zhangmin' ;
GRANT ALL PRIVILEGES ON *.* TO 'zhangmin' @ '%' WITH GRANT OPTION;
flush privileges;
[root@docker mysql] # vim Dockerfile
FROM mysql:5.7.44
ENV MYSQL_ROOT_PASSWORD = root
ADD project_exam_system.sql /docker-entrypoint-initdb.d/
EXPOSE 3306
[root@docker mysql] # docker run -itd --name m0 -p3306:3306 mysql:v1

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

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

相关文章

智慧储能柜构造揭秘:安科瑞2000ES解决方案打造智慧储能大脑

随着全球能源结构的转型和可再生能源的快速发展&#xff0c;储能技术成为调节能源供需、提高能源利用效率的关键。储能柜作为储能技术的核心组成部分&#xff0c;其构造和功能显得尤为重要。本文将为您详细解析储能柜的构造&#xff0c;并展示其如何成为高效能源管理的智慧核心…

ArcGIS Pro高级技巧:制作带地类编码文字的用地图例

欢迎关注同名微信公众号&#xff0c;更多文章推送&#xff1a; 01 需求分析 这个方法由群友【Erik】提供。 很有意思&#xff0c;看到最后一定会帮你打开思路。 直接上图比较&#xff0c;这是一般情况下简单的用地图例&#xff0c;只有色块&#xff1a; 下面这个是我们想要…

4、Django Admin对自定义的计算字段进行排序

通常&#xff0c;Django会为模型属性字段&#xff0c;自动添加排序功能。当你添加计算字段时&#xff0c;Django不知道如何执行order_by&#xff0c;因此它不会在该字段上添加排序功能。 如果要在计算字段上添加排序&#xff0c;则必须告诉Django需要排序的内容。你可以通过在…

有了这款AI代码神器Coursor,学习Rust不再是难题!

大家好&#xff0c;我是渔夫。 工欲善其事&#xff0c;必先利其器。AI 是未来十年生产力的核心工具&#xff0c;要让 AI 真正转化为生产力&#xff0c;而不仅仅是围观一时的热潮。 今天来聊聊最近又火爆AI圈的AI代码神器 Cursor&#xff0c;它其实是一款 VS Code 的一个分支&am…

在C#中使用Redis

NoSql NoSql概念 NoSQL&#xff0c;泛指非关系型的数据库。随着互联网web2.0网站的兴起&#xff0c; 历史中—中国的网站----马云--- 中国黄页&#xff0c;只能展示&#xff1b;用户只能看到 传统的关系数据库在处理web2.0网站&#xff08;可以看&#xff0c;也可以做到写&am…

华为云CCE集群创建loadBalancer

目录 一、目的 二、创建应用 三、创建服务 loadBalancer 四、域名解析 五、验证 一、目的 1、为CCE容器应用创建loadBalancer服务&#xff0c;并且绑定https协议的域名 2、公网访问域名: https://test.******.com 3、CCE创建用于公网域名访问的loadBalancer&#xff0c;不…

IAR9.X printf串口重定向方法,或提示Linker Error: “no definition for __write“的解决方案

一、问题现象&#xff1a; 1、Error[Li005]:no definition for"__write" [referenced from flush.o(dl7M_tlf.a)] 2、串口重映射代码没问题&#xff0c;但是串口工具接收不到数据 3、复现环境&#xff1a;IAR9.40.1 二、操作方法: 1、[工程项目]->[Options]…

【负载均衡式在线OJ】Compile_server 模块

文章目录 程序源码compile_server整体思路编译(compile.hpp)运行模块编译运行模块编译运行服务 程序源码 https://gitee.com/not-a-stupid-child/online-judge compile_server 整体思路 这个服务要对oj_server 发送过来的代码进行编译和运行&#xff0c;最后把结果返回给oj…

理想二极管

原理图 mos管选型 参考链接 很实用&#xff01;用MOS管制作一个理想中的二极管_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Xi421r7K8/?spm_id_from333.1007.tianma.2-1-4.click&vd_sourcee821a225c7ba4a7b85e5aa6d013ac92e 特此记录 anlog 2024年9月3日

JS设计模式之“单孑独立” - 单例模式

image.png 引言 在JavaScript开发中&#xff0c;单例模式是一种常见且实用的设计模式一。 单例模式的核心思想是&#xff1a;确保一个类只有一个实例对象&#xff0c;并且该对象可以在应用程序的任何地方被共享和访问。通过使用单例模式&#xff0c;我们可以简化代码、节省资…

SpringCloud开发实战(一):搭建SpringCloud框架

本系列文章主要是记录在工作中用到的微服务的各个组件&#xff0c;以及学习新的微服务组件~如有问题&#xff0c;欢迎大家批评指导。如果本文对你有帮助&#xff0c;还请点个收藏和关注。感谢支持&#xff0c;希望大家写的代码都没有BUG&#xff01;&#xff01; 前言 下面是我…

Linux下编译安装SuperLU

SuperLU用于求解大规模稀疏线性方程组&#xff0c;本文记录在远程Linux服务器下编译安装SuperLU的流程。 一、配置VS Code 2.1 安装VS Code Extensions 在本地打开VS Code, 安装以下扩展插件&#xff0c; Task Explorer Output Colorizer Git Extension Pack Remote Develop…

Stirling-PDF:基于Web的开源PDF处理工具

PDF文件进行各种各样的操作&#xff0c;比如合并、拆分、加密、解密、旋转、压缩等等&#xff0c;功能超全&#xff0c;而且开源免费&#xff0c;简直是神器&#xff01; GitHub - Stirling-Tools/Stirling-PDF: #1 Locally hosted web application that allows you to perfor…

【JAVA开源】基于Vue和SpringBoot的历史学习网站

本文项目编号 T 004 &#xff0c;文末自助获取源码 \color{red}{T004&#xff0c;文末自助获取源码} T004&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

IDEA主题的设置

目录 一、更换皮肤&#xff1a; 二、设置背景图片&#xff1a; 1.点击 File -> Settings ; 2.选择 Appearance & Behavior -> Appearance ; 一、更换皮肤&#xff1a; 1. Theme: 点击下拉框打开&#xff1b; 白色皮肤&#xff1a; inteIIiJ light Windows 10 Lig…

VirtualLab Fusion Installer-7.6.1.18 安装包 永不过期 永久使用 下载

下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/14yJGZAosK_ftJhHD0D4VHA?pwd00zn 提取码&#xff1a;00zn

Lua:条件断点

如果有很多方式都要经过这个函数&#xff0c;但是你只需要满足其中例如参数等于Test的这一种&#xff0c;可以在断点处右键点击编辑断点打上条件断点&#xff0c;只有参数EventName等于Test的才会断上。

如何打造高校实验室预约系统?Java SpringBoot助力高效管理,MySQL存储数据,Vue前端展现,四步实现学生轻松预约!

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

【机器学习-神经网络】循环神经网络

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

Graylog配置用户权限以及常用搜索语法

文章目录 一、Graylog配置用户管理1、用户创建2、角色权限管理 二、搜索语法 基于Docker搭建Graylog的具体步骤&#xff1a; https://blog.csdn.net/weixin_44876263/article/details/141638739?spm1001.2014.3001.5502 一、Graylog配置用户管理 1、用户创建 2、角色权限管理…