- 博客(141)
- 问答 (1)
- 收藏
- 关注
原创 一文看完微信小程序开发生命周期
通俗点讲,生命周期就是指一个对象的生老病死。从软件的角度来看,生命周期指程序从创建、到开始、暂停、唤起、停止、卸载的过程。本篇内容从和两个方面介绍的生命周期。应用生命周期方法在app.js。
2025-09-16 18:54:50
188
原创 高并发流程引擎踩坑记:一次从任务丢失到死锁排查的完整实战
我用一张图通俗的描述一下啥叫死锁,张三拿着红色外屋的钥匙进入了外屋,但需要蓝色里屋钥匙才能进入蓝屋,而蓝色里屋的钥匙在李四那里,而李四又在等着张三手里红色外屋的钥匙才能进去给张三送蓝色里屋的钥匙;于是乎就尬在这了,我动不了,你也动不了。① 粗粒度锁易引发死锁,尤其在高并发场景;② 合理拆分锁、按业务维度精细化加锁;③ JDK 自带的jconsole是个神器。
2025-09-16 17:51:51
727
原创 Spring Boot 项目启动报错:MongoSocketOpenException 连接被拒绝排查日记
因为业务需求,引入了一个轻量级的数据库备份组件,组件支持MySQL、MongoDB等数据源的自动数据库备份,而我只需要对MySQL数据库的数据源进行备份,当前我的项目是并没有使用MongoDB的。引入后启动Spring Boot 项目时,控制台突然出现如下异常。
2025-09-13 22:52:39
615
2
原创 告别重复劳动:腾讯云Lighthouse+AI自动化Word报告保姆级全攻略
本文介绍了如何利用腾讯云轻量应用服务器(Lighthouse)部署AI自动化Word报告生成系统。主要内容包括:免费领取/购买Lighthouse服务器、重装系统、下载代码仓库、构建Docker镜像、配置防火墙等部署步骤。系统支持上传自定义Word模板,通过标记占位符实现AI内容自动填充,保持原有格式不变。
2025-09-06 22:00:01
1076
原创 【开发日记】SpringBoot 实现支持多个微信小程序的登录
本文介绍了如何基于weixin-java-miniapp SDK实现多微信小程序统一登录的后台方案。通过配置文件动态管理多个小程序的appid和secret,使用工厂类WxMiniAppServiceFactory存储对应的WxMaService实例。登录服务通过appid选择对应服务,结合前端code获取用户openid,实现多小程序统一认证。方案支持灵活扩展新小程序,只需添加配置即可,无需修改核心代码。
2025-08-22 12:55:52
634
原创 【软件分享】格式工厂FormatFactory便携版本(解压即用)
软件简介:用于常见的视频格式转换,音视频合并、分割等,PDF与Word的转换等。软件名称:格式工厂FormatFactory。软件大小:压缩包163MB,解压后323MB。软件来自互联网,仅可用来学习不可用于商业。可解压到U盘或移动硬盘中,随时使用。运行环境:Windows10/11。② 进入解压后的文件夹,双击。软件版本:v5.21.0。① 下载压缩包后解压。
2025-08-11 20:01:51
592
原创 SpringBoot 的@Repository 等注解的底层实现原理
*懒加载方式:**上文提到的懒加载时会在getBean时创建实例外的情况,这里不多描述。注解一个类时, Spring 内部使用一个三层缓存机制来管理Bean的生命周期,核心是在。等注解的类,加载IOC容器基本步骤,当 Spring Boot 应用启动时,默认情况下注册到IOC容器中的实例是单例,能保证每次获取到的是同一个实例。Spring 会读取每个使用了这些注解类的元数据,创建对应的。注解扫描注册到IOC容器时,默认的接口。获取托管的Bean实例,该方法由接口。的Bean,就根据对应的。
2025-07-29 22:04:22
412
原创 解决Maven“无法将类 XXXXX 中的构造器 XXXXXX 应用到给定类型”错误
在Maven的install过程中编译器提示如“无法将类 XXXXX 中的构造器 XXXXXX 应用到给定类型”的错误。如果代码没有报错,只是在编译阶段才报错,那基本可以确定是lombok问题。我遇到这个问题是因为在将当前项目打包成Maven依赖时加入了如下插件:但该插件工作时,并不会主动加载已经添加到依赖中的lombok依赖,需要主动在插件的下添加lombok配置:如果你不是因为该插件原因导致的,那也大概率是lombok插件相关的问题,可以尝试配置一下当前的开发软件相关配置,方向对了问题就好找了。
2025-07-08 17:14:11
334
原创 【开发日记】使用 Nginx 直接部署 gzip 压缩的静态资源文件
本文要介绍一种“不走寻常路”的做法,我们不再依赖 Nginx 的动态压缩功能,而是直接将手动压缩好的.gz文件放在服务器上,让 Nginx 直接将这些 gz文件返回给浏览器。这种方式有如下优点:
2025-07-03 17:33:58
840
原创 【开发日记】解放双手自动续期SSL证书
文件,文件中可以看到Le_RealKeyPath和Le_RealFullChainPath等配置项,表示自动化续期证书时要把证书部署在哪个位置。通过acme.sh --install-cert命令执行了自动化部署后,acme.sh会通过之前安装的cron自动创建一个定时任务。免费证书是90天有效期,我们保证两个月更新一次证书即可,不需要每天一次这么频繁的判断证书是否有效。会记忆最后一次执行证书部署命令时的参数信息。对应的就是在执行以下命令时,对应的。文件,这个无所谓,效果是一样的。
2025-06-28 14:47:29
296
原创 【开发日记】利用acme.sh获取免费泛域名SSL证书
acme.sh是一个利用ZeroSSL 和 Let's Encrypt等受信任证书颁发机构(CA)自动化提供免费 SSL/TLS 证书的工具,可以用来部署 HTTPS。单域名SSL证书只能对指定的域名部署HTTPS,比如你对域名example.com部署了单域名SSL证书,test.example.com还得再申请一个新的单域名SSL证书来部署HTTPS。泛域名证书可以对*.example.com的所有子域名提供部署HTTPS,只需要一个SSL证书就可覆盖所有example.c
2025-06-27 14:43:16
1025
原创 【Java进阶】大白话详解Java内存模型,纯手撸
年轻代和老年代是堆内存的主要区域,每一个新建对象都会先进入年轻代中的Eden 区,当Eden 区满时会触发Minor GC,GC过后Eden 区幸存下来以及非空闲幸存者区的对象会通过复制算法复制到空闲的幸存者区(S0和S1始终会保持其中一个为空),复制完成后Eden区和原非空闲幸存者区对象会被清空。运行时常量池中存储的是字符串常量池的引用,可以理解为你把文件存到了D盘,但给这个文件创建了一个快捷方式,把快捷方式存在C盘,这样你就可以直接在C盘快速的访问D盘中的文件了。
2025-06-17 17:53:02
918
原创 Java的动态加载及类加载器实践
Java中的动态类加载允许程序在运行时动态编译和加载代码,突破了传统静态编译的限制。其主要应用场景包括插件系统、规则引擎和热部署等。实现动态类加载的核心原理包括动态编译、字节码内存管理、类加载以及利用反射调用。动态编译通过JavaCompiler将字符串形式的类代码编译为字节码,字节码通过内存流管理,最后由自定义的类加载器加载到JVM中。此外,还可以通过远程加载JAR文件到JVM,使用URLClassLoader直接加载远程JAR,JVM会按需下载类文件。需要注意的是,不同类加载器加载的类不能相互转换,类的
2025-05-23 17:57:43
475
原创 【开发日记】Uniapp对指定DOM元素截长图
使用uniapp开发的APP,需要对页面中指定的DOM(指定区域)进行长截图,长截图就是手机屏幕不足以通过一个屏幕展现完整的内容,并将截图保存到手机相册中。
2025-02-08 14:55:23
1036
原创 【开发日记】微信小程序getBackgroundAudioManager播放背景音乐提示播放失败
小程序在手机上打开,播放在线音频的时候会提示播放失败,但打印异常提示的是src为null,自己在打印的时候却没问题。并且在微信开发者工具中播放的时候也是正常的,只有手机上打开使用时提示异常。
2025-01-22 22:16:55
901
原创 【开发日记】记一次使用uniapp实现音视频通话打包的问题
经过长时间的问题排查后,我发现如果获取视频流的时候不要请求音频,则视频流就可以获取成功,所以判定问题就出在了麦克风上。所以我又检查了麦克风的权限,但权限确实也有了,但发现打包模块中没有把麦克风的原生依赖打到包中,加上麦克风的原生依赖后重新打包…由于是在获取摄像头视频流数据时发生的错误,所以一直的排查范围也是摄像头的问题,检查了摄像头权限、摄像头设备获取时机、获取摄像头的时机,甚至怀疑是不是因为打包时用了测试证书的原因。文件中的模块配置是不生效的,生效的一直只要权限部分,所以导致了这次问题。
2024-12-13 17:11:09
688
原创 【开发日记】uniapp开发APP时,web-view中的H5使用plus对象报错解决
uniapp开发APP时,使用了web-view来展示H5页面,在H5中使用了。对象,但提示plus对象未定义。
2024-12-13 13:51:47
699
原创 【开发日记】服务器使用Nginx作为Web服务入口,但无法加载css解决
*问题描述:**nginx配置Web服务,但是CSS却无法渲染,自己手动加载了一下是可以加载到的,但就是无法渲染到界面中。
2024-12-12 16:26:59
172
原创 【开发日记】如何让指定用户执行sudo命令时无需输入密码
在 Linux 系统中,sudo命令用于让普通用户以超级用户身份执行一些需要管理员权限的操作。默认情况下,执行sudo命令时系统会提示用户输入密码。如果希望让某个用户无需输入密码即可执行特定的命令。这可以通过编辑文件来实现。
2024-10-25 17:31:24
619
原创 【开发日记】Vue项目懒加载ECharts等JS脚本文件
项目使用了ECharts和WordCloud(词云图),并使用npm的方式安装,导致打包后echarts占了打包文件的一半以上,影响网页加载速度。所以就想着能不能让通过CDN的方式加载,而且是懒加载的方式,让ECharts的CDN文件在打开Vue组件时才开始加载。
2024-07-28 20:27:10
664
原创 【软件推荐】“聊崽”聊天机器人
什么是聊天机器人,将你自己的微信接入机器人系统,让你的微信能够具备智能客服、游戏交互、问题解答、气氛活跃等能力。同样的问题总是有不同的人反复在问,通过设置关键词自动回复,可以帮助我们降低很多重复劳动。无聊的时候不知道干点啥可以跟同事、同学、朋友一起在群里玩个游戏。
2024-07-26 10:27:17
476
1
原创 【开发日记】ElementUI表单使用原生@submit提交表单数据
【代码】【开发日记】Vue中使用ElementUI表单使用原生@submit提交表单数据。
2024-05-27 23:36:03
1108
原创 解决SpringBootAdmin部署到线上后无法访问
修改SpringBootAdmin相关配置如上,在访问时访问SpringAdminServer的地址。可能有其他的更好的解决办法,这是个笨办法。
2024-02-04 23:00:00
920
原创 【开发日记】换掉Nginx,使用HAProxy作为反向代理服务器
HAProxy,全称为 "High Availability Proxy",是一款开源的、高性能的负载均衡器和代理服务器。主要用于改善应用程序的可用性、可靠性和性能。与大众熟知的Nginx相比各有优缺点,如果你需要的是一个Web服务器,还是首选Nginx,虽然HAProxy也能实现相同效果,但却需要通过十分繁琐的配置才能达到与Nginx相同的水平。HAProxy最擅长的还是负载均衡、限流、反向代理,在这些方向HAProxy的性能是明显高于Nginx的。
2024-01-23 10:51:02
1636
原创 【Unity游戏开发入门】游戏资源商店资源导入
在专业的游戏开发环境中,游戏资源,主要包括游戏模型和材质,通常由专业的建模师制作。这些建模师负责创造游戏中的视觉元素,然后将它们交给游戏开发团队以整合到游戏中。对于个人开发者来说,制作这些资源可能既困难又耗时。幸运的是,我们可以轻松地从在线游戏资源商店购买或下载所需的资源。这些商店中提供了丰富的资源,包括许多高质量的免费游戏资源。对于正在学习和探索游戏开发的人来说,这些资源是极其宝贵的,因为它们不仅节省时间,还能提供专业级别的内容作为学习和实践的基础。下面是一个通过资源商店购买到使用免费资源的流程示例。
2024-01-19 15:52:16
2429
原创 【Unity游戏开发入门】认识编辑器
下图是Unity编辑器(UnityEditor)界面截图,图中我进行了一些标记,并且在下方对这些标记进行了一一描述。
2024-01-19 15:50:04
682
原创 【Unity游戏开发入门】Unity安装及环境配置
还是上面的设置路径,设置中文环境后,在【Appearance】下面有一个【许可证】,点击该界面中的【添加】即可申请个人许可证。③ 进入软件后,UnityHub会提示安装一个UnityEditor,也就是Unity,先点击跳过,后面可以自行安装。① 返回主界面,在主界面中选择【安装】会进入安装Unity编辑器界面,选择一个发行版进行安装,推荐安装长期支持版。还是在设置路径中,在【安装】和【Plastic SCM 网盘】中设置文件下载路径。② 点击【安装】后,需要选择添加的模块,下图为需要选择的模块。
2024-01-19 15:43:51
2017
原创 【软件分享】Navicat v16.2.11 免安装绿色版
软件简介:Navicat是一个数据库管理工具,它提供了一个直观的图形用户界面,使用户能够轻松地管理多种类型的数据库,包括MySQL、MariaDB、SQL Server、Oracle、PostgreSQL、Redis、MongoDB等。公众号【全栈开发日记】后台回复【Navicat】获取下载连接。软件来自互联网,仅可用来学习不可用于商业。将解压后的文件夹放到U盘中,可以在任何电脑上运行。下载后解压到本地,并进入解压后的目录,双击。软件名称:Navicat免安装绿色版。软件大小:91.8MB。
2024-01-19 15:08:44
8589
2
原创 【软件分享】微信防撤回v3.9.8.25
公众号【全栈开发日记】后台回复【微信防撤回】获取下载连接。软件来自互联网,仅可用来学习不可用于商业。插件简介:微信好友撤回消息后依然保留撤回的消息,并有好友撤回提示。拖入该文件夹,替换原文件即可。如果提示文件正在被使用,退出微信后重新拖入。③ 如果打开的是微信快捷图标所在位置,则继续右键该图标选择。适用版本:微信v3.9.8.25(截至发文时最新版)运行环境:Windows10/11。④ 直到打开的是如下界面,继续进入。插件名称:PC微信防撤回。插件大小:68.5MB。而来,无需担心病毒。
2024-01-19 15:03:06
2112
4
原创 【开发日记】Uncaught (in promise) SyntaxError: Unexpected non-whitespace character after JSON at position
我这里出现该报错是因为后端传递到前端的数据是经过AES加密的,前端需要先对数据进行解密后再用。,比如制表符、空格符等控制符,通过人眼是看不到的;也可能是字符编码问题等。我们需要将JSON字符串中的不可见或不合法字符去除掉,这样就问题解决了。出现以上情况的原因有多种,可能是JSON字符串中包含了。就是我们要进行处理的JSON字符串。JavaScript使用。通过肉眼无法看出问题。
2024-01-06 20:49:34
5179
原创 【开发日记】搭建日志系统LPG(Loki+Promtail+Grafana)时Loki容器报错:creating WAL folder at “/wal“: mkdir wal: permission
【代码】【开发日记】搭建日志系统LPG(Loki+Promtail+Grafana)时Loki容器报错:creating WAL folder at “/wal“: mkdir wal: permission。
2023-11-09 17:11:46
1032
原创 【开发日记】必须记录一下困扰我两天的问题 MyBatisPlus适配达梦insert时提示:无效的列
项目ORM框架使用的是MyBatisPlus,数据库原来使用的是MySQL,现在需要适配达梦数据库。项目ORM框架使用的是MyBatisPlus,数据库原来使用的是MySQL,现在需要适配。
2023-10-31 10:05:49
1476
原创 【开发日记】Docker搭建Maven私服
Maven私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。在公司的局域网内,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服下载所依赖的jar。私服还充当一个代理服务器的角色,当私服上没有jar包时会从Maven中央仓库自动下载。
2023-10-11 12:52:37
825
基于SSM框架的摄影系统的设计与实现
2025-08-09
基于AES加密算法的在线答疑小程序(系统)
2025-08-09
基于SpringBoot的博客系统
2025-08-09
基于艾宾浩斯记忆法的备忘录小程序
2025-08-09
基于SpringBoot+Vue的办公自动化系统
2025-08-09
基于多因素认证的身份验证系统的设计与实现
2025-07-28
内置代码生成器的二饭管理系统
2025-07-28
Java轻量数据库备份组件
2025-07-28
基于端口扫描的网络安全漏洞扫描工具
2025-07-25
Nginx反向代理缓存问题
2024-01-10
前端vue项目部署在nginx,部署之后前端访问不到boot后端的接口,如何解决?
2021-06-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人