SpringBootAdmin
参考资料问:Spring Boot应用监控组件&工具,梳理一下?_springboot服务器性能监控组件-CSDN博客
Spring Boot Admin,贼好使!Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和 - 掘金
简述专门针对 Spring Boot 应用的可视化监控平台,通过集成 Actuator 端点,提供服务健康状态、配置信息、日志查看、JVM 监控等一站式功能。开箱即用的可视化界面,无需复杂配置,适合中小团队快速搭建监控系统。
使用服务端:1234<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId></dependency>
1@EnableAdminServer
12server.port=8090spring.boot.admin.context-path=/admin
客户端12345&l ...
Flyway
参考资料简述Flyway 是一款数据库版本管理工具,可对数据库变更(建表、加字段、初始化数据等)进行版本化管理,确保开发、测试、生产等多环境数据库结构一致。
相关概念数据库变更指对数据库结构或数据的任何修改,分为两类:
结构变更:建表、删表、加字段、改字段类型、建索引、加外键等;
数据变更:初始化基础数据(如管理员账号)、批量修复错误数据等。
数据库升级脚本记录数据库变更的可执行 SQL 文件,例如:V1__create_user_table.sql:创建用户表;V2__add_age_column.sql:给用户表加年龄字段;V3__init_admin_user.sql:初始化管理员数据。
注意升级脚本不可在部署后二次修改,否则flyway会报错
spring使用flyway1234<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId></dependency>
脚本需放在固定目录:sr ...
JASYPT
参考资料【Springboot】Springboot整合Jasypt,让配置信息安全最优雅方便的方式 - 南瓜慢说 - 博客园
简述加密工具,现多用于加密springboot中的配置文件
使用12345<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>
配置文件中直接使用ENC()声明加密后数据
1234# 数据库配置(密码已加密)spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootspring.datasource.password=ENC(EVnE5sH2g8t+wM5eQrF5aA==)
根密码配置根密码值jasypt使用 ...
JAVA生成PDF
参考资料如何使用 Selenium 生成 PDF - 极道
SpringBoot + ITextPdf:高效生成 PDF 预览文件-腾讯云开发者社区-腾讯云
简述通常我们都会有在java项目中生成pdf的需求,或需要返回给前端,或需要进行存储到本地
主流有几种方法,一种是我在项目上见到的selenium生成,另一种是现在使用者较多的专用工具生成
SELENIUMselenium是一种浏览器模拟工具,使用selenium生成pdf本质上是调用了浏览器的将页面打印为pdf 的功能。由于是调用了浏览器的功能,所以服务器上需要安装对应的浏览器和驱动用于调用;优点是可以进行复杂的PDF文件的生成,缺点就是配置比较麻烦。
框架生成ITextPdf 和 OPENPDF是两种常用的PDF生成工具,比较方便,但对于一些复杂的html支持并不是很好
字体不显示问题html中用到的字体需要提前存放在后端,并使用字体设置方法设置该字体
下载我现在接触到的一个项目是使用selenium将pdf打印出来后,存到minio,然后把下载连接返回给前端,这样使用minio作为整个项目的下载入口
xxl-job
参考资料分布式任务调度平台XXL-JOB
定义xxl-job本质上是个springboot的微服务
部署拉取代码后本地编译
在xxl-jobdocdb路径下找到tables_xxl_job.sql文件。在mysql上运行sql文件。
配置文件:
1234567891011121314151617181920212223### 调度中心JDBC链接spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghaispring.datasource.username=rootspring.datasource.password=spring.datasource.driver-class-name=com.mysql.jdbc.Driver### 报警邮箱spring.mail.host=smtp.qq.comspring.mail.port=2 ...
nexus
参考资料从零开始:Nexus私服搭建与Maven仓库配置的完全指南-阿里云开发者社区
(35 封私信 / 80 条消息) 超级详细Maven私服搭建:Nexus - 知乎
用途主要用于公司或者团队,一来可以做中央仓库镜像,二来可以管理公司自己开发的依赖
搭建
下载和安装Nexus
找到安装包路径,执行nexus.exe /run
123456# 启动/opt/nexus/nexus-3.61.0-02/bin/nexus start# 查看状态/opt/nexus/nexus-3.61.0-02/bin/nexus status#停止/opt/nexus/nexus-3.61.0-02/bin/nexus stop
访问配置文件:\nexus-3.20.1-01\etc\nexus-default.properties
application-port=访问Nexus端口号(默认8081)
application-host=访问Nexus的ip地址(默认localhost本地ip)
账号是admin,密码在\nexus-3.20.1-01\ ...
activity6
参考资料 十分钟认识Activiti6.0工作流引擎 - 知乎
基本概念activity6能做到的东西其实就是根据画好的流程图走流程,但是具体流程里的逻辑,还是需要自定义实现,比如点击哪个按钮走到下一步,这个肯定是前后端配合实现。
流程图流程图可以使用满足activity6协议的各种工具绘画,最后会生成一个xml的配置文件,activity流程引擎会根据该文件来判断流程的全局结构
1234567891011121314151617181920212223242526272829303132333435363738<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/ ...
SAP-JCO
参考资料JAVA对接SAP接口使用sapjco3的见解-CSDN博客
(39 封私信 / 80 条消息) JAVA使用JCO方式调用SAP接口 - 知乎
定义java应用连接sap系统使用的中间件,底层使用native方法调用sap的rfc接口实现
使用获取jco的jar包和dll包,添加到项目依赖
需要将sap的连接信息配置到连接中,可通过springbean的方式管理
网安
虚拟化
寄居架构(vm作为软件运行在主系统上)
VMware Workstation
MS Hyoer-V
原生架构(vm装在硬件上,虚拟机本身就是操作系统)
VMware vSphere
IP设备方框中的双向箭头:交换机
圆框中叉:路由器
IP地址32位二进制,点分十进制记忆
0-255
子网掩码划分子网使用,子网掩码相同的可以通信
子网掩码使得ip地址可以由网络位和主机位组成
主机位全为0为网段地址,故主机的主机位不能为0
主机位全为1为该网段广播地址,故主机的主机位不能为255
早期五类地址A: 1-126 默认子网掩码255.0.0.0;对应内网范围:10.0.0.0–10.255.255.255
B:128-191默认子网掩码255.255.0.0;对应内网范围:172.16.0.0–172.31.255.255
c:192-223默认子网掩码255.255.255.0;对应内网范围:192.168.0.0–192.168.255.255
d: 224-239
e: 240-254
目前可以使用acb三类地址,子网掩码可更改
回环地址127.0.0.1
网关网关一 ...
牛客经典必刷编程题库
零零散散花了三年多时间,将小三百来道牛客题库刷完了,做第一题的时候还在上大学,现在都工作三年了,三年间想着反正都开始做了,就一直坚持的把这些题做完了,现在将这些题目做个整理。
CC1 二叉树的最小深度求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。
1234输入:{1,2,3,4,5}返回值:2
采用了递归的解决方案
12345678910111213141516171819202122232425262728293031323334353637import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * * @param root TreeNode类 * @return int整型 */ public int ...
