自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 Linux部署私有文件管理系统MinIO

本文介绍了如何快速搭建单机版MinIO文件存储服务并配置Nginx代理。首先通过简单命令行下载安装MinIO,设置数据目录和访问凭证。然后配置systemd服务实现开机自启,包括创建服务单元文件、启用服务和状态检查。重点说明了Nginx配置要点:为控制台(9001端口)和API接口(9000端口)分别配置域名,特别强调了控制台需要WebSocket支持。最后提供了项目集成所需的Maven依赖配置。整个流程简单易行,适合对性能要求不高的场景,最终通过域名即可访问MinIO管理界面。

2025-06-09 19:19:22 405

原创 域名生成免费证书(简单可用)

本文介绍了使用acme.sh工具免费申请SSL证书的全过程。首先安装acme.sh并注册账号,然后通过网站目录验证方式为域名生成证书。在遇到"Could not get nonce"错误时,提供了三种解决方案:检查网络连接、同步服务器时间、切换至Let's Encrypt服务。成功签发证书后,配置Nginx强制HTTPS访问,并验证了自动续期任务已设置。整个过程避免了传统证书服务的限制,实现了简单高效的SSL证书管理。

2025-05-27 10:36:56 317

原创 Ubuntu部署私有Gitlab

Linux部署私有gitlab并配置域名,迁移数据文件到挂载磁盘,解决启动中的各种问题如postgerSQL和Redis异常等,设置中文界面

2025-05-21 10:44:39 1177

原创 Ubuntu安装Nginx详细示例

ubuntu安装nginx详细示例,用 apt 安装 Nginx 和 自己编译安装 Nginx 两种方式安装,配置开机自启

2025-05-16 10:47:48 1112

原创 Ubuntu系统挂载磁盘并配置开机自动挂载

Ubuntu系统挂载磁盘并配置开机自动挂载

2025-05-15 20:51:08 456

原创 Spring 项目中在启动阶段加载配置并初始化 Bean 的几种方法

@PostConstruct 初始化 bean 失败改用其它方式初始化成功示例

2025-05-08 14:30:52 365

原创 Windows云主机远程连接提示“出现了内部错误”

今天有人反馈说有个服务器突然连不上了,让我看下什么问题,我根据他给的账号密码试了下发现提示“出现了内部错误”,然后就是一通排查。怀疑是规则冲突导致的,就是下图方框里面的规则和 3389 这个有冲突,所以把 3389 端口的优先级提到1就解决。然后通过控制台登录进去,防火墙,端口,远程服务啥的一通检测,还是没有发现问题。先是查看安全组,没发现特别的问题,因为也没有调过这块的配置。最后又回到安全组配置,最终改了一个数字就好了。

2025-04-22 11:50:31 567

原创 Java对接阿里云境外港澳台短信示例

Java对接阿里云境外/港澳台短信发送服务

2025-03-25 15:09:09 516

原创 Java解析多层嵌套JSON数组并将数据存入数据库示例

然后写了方法用来解析他给我的文本,这里因为里面就一个JSON格式的字符串,我直接把后缀改成了 .json,通过 JsonNode 再递归获取数据。今天前端问我能不能帮忙把菜单数据存进去,我看了下大概就是下面这样的数据结构,就是一个 JSON 数组,然后里面有 children。这里加了个临时 ID 用来处理上下级的父子关联。可以看到数据正常存进去了。

2025-03-17 15:07:44 298

原创 MySQL修改JSON格式数据示例

MySQL通过JSON_SET和JSON_REPLACE修改JSON格式数据

2025-02-20 14:09:06 444

原创 本地部署DeepSeek(十分钟搞定)

十分钟在本地部署DeepSeek

2025-02-09 20:55:53 1130

原创 Java WORD和PDF互相转换以及数据填充示例

WORD和PDF互相转换以及模板制作和数据填充示例

2025-02-07 16:24:45 996

原创 Redis哨兵模式搭建示例(配置开机自启)

Redis配置哨兵模式示例(Sentinel),附带开机自启配置说明

2025-01-17 18:11:34 1129

原创 Nginx配置多个端口服务提示bind() to 0.0.0.0:3003 failed (13: Permission denied)

今天准备在一台服务器上部署两个服务,因为只是测试环境也没有域名,就准备开两个端口:3001 3002,但是配置完 nginx 后重启提示“Job for nginx.service invalid.”。检查状态可以看到主要问题是 nginx: [emerg] bind() to 0.0.0.0:3003 failed (13: Permission denied)然后查了一下 nginx 的状态 sudo systemctl status nginx.service。

2025-01-17 16:16:07 274

原创 Linux安装Redis并配置开机自启

CentOS7 安装 Redis6.2 并配置开机自启

2024-11-27 19:02:23 823

原创 CentOS7执行 yum install 提示“Could not resolve host: mirrorlist.centos.org; Unknown error”

CentOS7执行 yum install 提示“Could not resolve host: mirrorlist.centos.org; Unknown error”

2024-11-27 17:35:03 1114

原创 MySQL主从复制示例(进行数据备份用)

MySQL 主从复制实现数据备份

2024-11-21 10:38:09 533

原创 Java RSA加密工具类(含密钥对生成和根据私钥计算公钥)

Java RSA和RSA2加密工具(生成密钥对,加密解密,根据私钥计算公钥等)

2024-11-11 11:46:05 3799 4

原创 Java关于暴力破解MD5加密字符串示例

Java通过碰撞攻击暴力破解MD5加密字符串

2024-11-08 15:11:58 618

原创 Java获取客户端IP地址示例

Java获取客户端请求ip地址,同时处理nginx代理后出现127.0.0.1问题

2024-10-29 18:06:37 483

原创 MySQL 查找连续相同名称的记录组,并保留每组内时间最大的一条记录

查找连续相同名称的记录组,并保留每组内时间最大的一条记录,同时计算每组记录的 num 总和。

2024-10-16 18:08:00 634

原创 Java生成二维码示例(带logo以及文字描述)

Java生成二维码示例(普通二维码、普通带文本二维码、带logo二维码和带logo带文本二维码)

2024-10-08 11:14:06 1540

原创 SpringBoot整合WebSocket实现消息推送或聊天功能示例

springboot整合websocket服务实现消息推送和聊天功能,处理nginx配置和gateway通知转发消息问题,2024-09-26添加认证内容和html页面测试示例

2024-09-14 18:07:09 2256 1

原创 MySQL根据日期统计时没有数据的日期也需要返回0

我们经常会碰需要根据日期统计数据的问题,正常情况 GROUP BY 日期就可以得到我们想要的数据,但是有些时候某些日期没有数据可是我们又想它能返回一个0,这个时候 GROUP BY 就不行了。从上面的结果可以看出除了有数据的日期,没有数据的日期也会返回一个0.00,这里要注意 WITH RECURSIVE 是 MySQL8.0 才有的。现在我们希望在没有数据的日期也返回该日期和对应的 0 值,这里可以通过创建一个日期序列来实现。先看 GROUP BY 查询。

2024-09-12 15:19:45 1123

原创 Java获取小程序码示例(三种小程序码)

Java获取小程序码示例(三种小程序码)

2024-09-06 10:57:23 2087 4

原创 MySQL递归获取商品分类以及所有下级分类商品

MySQL通过递归获取所有下级分类数据

2024-09-02 11:36:52 764

原创 Java根据经纬度计算两个坐标之间的距离(含SQL计算)

最近接到两个需求,一个是通过小程序扫码开门的,我这边主要就是根据用户定位判断用户离扫码店铺距离小于多少米的时候才可以调远程调开门接口,另外一个就是获取用户周围有哪些店铺。主要就是根据定位获取的经度维度计算两个点之间的球面距离,这里我们主要采用Haversine公式来计算,据说这是目前比较精确用来计算地球上两个点之间距离的算法

2024-08-30 18:12:44 1062

原创 MySQL将数据库所有表格和列编码格式从utf8mb3换成utf8mb4

MYSQL将数据库所有表格字段字符集从 utf8mb3 换成 utf8mb4

2024-08-30 09:28:27 2444

原创 Java去掉字符串中的特殊符号只保留中文数字和字母

Java去掉字符串中的特殊符号只保留中文、字母和数字

2024-08-27 15:28:09 1000

原创 Java微信小程序获取openId和用户手机号示例

用户扫码进入小程序时,前端以静默的方式调用一次 wx.login() 方法拿到 code 再调后端接口去获取用户 openId 和 unionId(绑定开放平台后会返回),后台拿到 openId 后就可以给用户返回登录成功信息,信息里面可以有一个手机号标识,然后前端再根据这个标识判断,如果没有手机号,前端再调小程序微信授权手机号的按钮,这个必须用户手动确定,前端拿到手机号授权 code 再送给后端获取手机号并更新到用户信息,完成绑定。

2024-08-23 18:49:34 1878 2

原创 Java导出Excel给每一列设置不同样式示例

Java导出Excel给每一列每一行设置不同的样式,比如单元格大小、背景色和字体等

2024-07-30 20:11:36 507

原创 Java企业微信服务商代开发获取AccessToken示例

最后就是应用的 suite_id 和 suite_secret 还需要一个 suite_ticket ,前面两个在应用信息里面就可以看到,suite_ticket 这个也是需要通过回调获取 ,具体参考官方文档。然后是企业的 corpid 和企业的永久授权码 permanent_code ,这两个是需要在企业授权的的时候通过回调获取的,具体请参考官方文档。可以看到里面大致有三种token,一个是服务商的token,一个是企业授权token,还有一个是应用的token。还有企业微信的两个基本配置类。

2024-07-24 15:47:49 793

原创 Java XML转JSON工具类

最近对接微信发现很多接口数据用的还是XML格式,所以为了方便使用我们给它转成JSON格式的,这里特别处理了一下多层嵌套的问题。

2024-07-23 16:33:08 391

原创 SpringBoot整合XXL_JOB示例

springboot整合xxl_job实现定时任务管理调度

2024-07-12 14:01:00 995

原创 MYSQL审批流程判断同一层级审批人是否全部通过审批

我们再看一下apply_id 为1 serial_no 为1的,因为都审核通过了所以返回的就是1了。在做流程审批的时候,通常会出现某一层有多个审批人的情况,这个时候需要所有人都通过才会进入到下一步。可以看到 apply_id 为1 serial_no 为2的因为还有一个人没有审核完成返回的是0。serial_no相同的代表是同一层级审批人。approval_status是审核状态。每一个审批申请对应一个apply_id。下面我们可以用一个SQL来进行这个判断。数据结构如下图表格所示。

2024-07-11 17:41:34 433

原创 MYSQL查询审批流程最新的一条记录示例

普通用户查询没什么好说的,我们只需要在业务层判断当前用户不是管理员,那么 user_id 等于当前登录用户ID就可以,这里重点要处理的是管理员查看所有的审批记录问题,因为作为管理员肯定每个申请只需要看到一条,而且看到的这条应该是最新的一条才行。接下来我们来处理管理员本身也是审批人的问题,这个时候他需要看到的就不是最新的那条记录,而是应该获取自己审批的那条,所以当登录用户是管理员的时候,我们就需要先判断当前申请审批记录里面有没有他的记录,有的话就查自己的,没有的话就查最新的。数据结构如下图表格所示。

2024-07-11 17:06:21 677

原创 Java启动jar包设置内存分配详细说明

调整堆内存大小:根据应用程序的实际内存需求,调整 -Xms 和 -Xmx的值。通常,初始堆大小(-Xms)和最大堆大小(-Xmx)应该设置为相同,以避免 JVM在运行过程中调整堆大小带来的开销。可以根据应用程序的特点选择合适的垃圾回收器。新生代内存调整:新生代(-Xmn)的大小应该根据应用程序对象的生命周期进行调整。JVM 会选择默认的垃圾回收器,这通常是并行垃圾回收器(Parallel GC),具体取决于 JVM 的版本。新生代大小(-Xmn):默认情况下,新生代的大小会根据堆大小动态调整。

2024-06-20 19:30:08 7262 1

原创 Java AES加密工具类

在做AES加密的时候一定要注意private static final String DEFAULT_CIPHER_ALGORITHM = “AES/ECB/PKCS5Padding” 这个参数,很多时候前后端加密解密不一致都是这里配置不一致导致的。如果明文数据不是 16 字节的倍数,就需要进行填充。缺点是相同的明文块会被加密成相同的密文块,容易受到模式分析攻击,因此不适合加密大数据或高安全性需求的场景。举例来说,如果你加密的文本有很多重复的模式,使用 ECB 模式会暴露这些重复模式的信息,降低安全性。

2024-06-20 17:07:11 688

原创 Java实现自动定时任务配置并判断当天是否需要执行示例

最近接到一个需求,就是用户要能配置一个定时循环的任务,就是和手机闹钟循环差不多,设置好比如周一、周二、周三,那么在这几天内这个任务就需要自动执行。需求不复杂,首先我需要判断当前是周几,当然用户说了让我看手机闹钟的循环规则,我看了下还有法定工作日和法定节假日这些。所以我们先写个工具类来判断当前日期是否需要执行。剩下的就好说了,我们只需要加一个定时器就可以了。显示今天不是需要重复的一天,因为今天星期四。

2024-06-20 16:33:31 483

原创 Java注解@Transactional失效特殊情况

双数据源导致事务失效

2024-06-14 20:08:29 524

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除