- 博客(239)
- 资源 (16)
- 收藏
- 关注
原创 日志敏感信息脱敏处理
在维护的项目中,日志输出包含敏感信息,公司要求对其进行脱敏处理。为最小化改动,采用日志框架的自定义布局(Layout)方案,通过正则表达式匹配并替换敏感字段。具体实现包括新增一个脱敏类SensitiveDataPatternLayout.java,并修改日志配置文件logback.xml。脱敏类通过正则表达式对手机号、身份证、邮箱和银行卡号等敏感信息进行脱敏处理,确保日志输出时敏感信息被替换为星号。最终,日志输出格式保持不变,但敏感信息已得到有效保护。
2025-05-16 10:41:26
765
原创 Spring & Spring Boot 常用注解整理
Spring 和 Spring Boot 中的注解是简化开发的重要工具,通过注解可以告诉框架如何处理类、方法或变量。核心概念是注解类似于“便利贴”,用于标记代码的特殊用途,让框架自动处理对象的创建、依赖注入等任务。在 IOC(控制反转)和 DI(依赖注入)中,常用注解包括 @Component、@Service、@Repository、@Controller 等,用于标记不同类型的组件,并由 Spring 容器管理。@Autowired 用于自动注入依赖,@Qualifier 用于指定注入的 Bean 名称
2025-05-13 09:26:29
1459
原创 蓝绿发布实现步骤详解
蓝绿发布是一种零停机的部署策略,通过同时维护两套相同的生产环境(蓝色和绿色),逐步切换流量来实现平滑升级和快速回滚。蓝色环境是当前运行的稳定版本,绿色环境是新版本部署的待验证环境。核心逻辑是通过流量切换(如负载均衡器、路由规则)将用户请求从蓝色环境瞬间切换到绿色环境,若新版本异常,可立即切回蓝色。实现步骤包括准备两个环境、配置负载均衡器、验证绿色环境、切换流量到绿色环境以及监控与回滚。在Kubernetes中,可以通过调整Service的标签选择器实现蓝绿发布。关键注意事项包括数据兼容性、资源成本和测试策略
2025-05-09 09:06:58
520
原创 蓝绿发布与金丝雀发布
蓝绿发布和金丝雀发布是两种常见的软件部署策略,各有优缺点和适用场景。蓝绿发布通过同时维护新旧两个独立环境,实现秒级全量切换,适合确定性高的全量更新,但需要双倍资源。金丝雀发布则通过逐步将少量用户流量引入新版本,逐步验证功能稳定性,适合不确定性高的功能验证,但发布周期较长且需要复杂的流量控制工具。蓝绿发布操作简单,适合紧急修复,而金丝雀发布风险分散,适合探索性功能。选择哪种策略取决于具体需求和资源情况。
2025-05-08 22:21:33
648
原创 SpringBoot+Dubbo+Zookeeper实现分布式系统步骤
SpringBoot+Dubbo+Zookeeper实现分布式系统步骤,在使用Spring Boot、Dubbo和Zookeeper构建微服务架构时,你需要整合这三个组件来创建分布式服务。下面我将详细介绍如何通过Spring Boot集成Dubbo和Zookeeper,以实现服务的注册与发现。
2025-05-08 21:28:41
1934
1
原创 金丝雀发布实现步骤详解
是一种逐步将新版本软件部署到生产环境的策略,目的是通过逐步暴露新版本给少量用户或流量,验证其稳定性,再逐步扩大范围。其名称来源于矿工用金丝雀检测矿井中有毒气体的做法——如果金丝雀出现问题,说明环境有风险。版本的 Web 应用,现需上线。
2025-05-08 11:26:28
771
原创 【代码优化篇】强缓存和协商缓存
强缓存通过设置长时间 `max-age` 实现,适用于静态资源;协商缓存通过 ETag/Last-Modified 验证,适用于动态数据。Vue2 利用打包哈希 + 服务器配置,Spring Boot 通过响应头控制实现。
2025-05-07 21:47:20
610
原创 六个仓库合并为一个仓库,保留master和develop分支的bat脚本
利用git subtree可以实现多个仓库合并为一个仓库,手动操作起来太麻烦了,今天花了点时间写了一个可执行的脚本,现在操作起来就方便多了。下面是六个代码仓库(在远程仓库,需要拉取)拉取合并为一个仓库的脚本,根据实际情况修改合并后目录、仓库地址等。6、合并后,同事又继续提交代码到旧仓库,所以就又写了一个更新代码的脚本,命名为。5、查看了下提交的代码,做了两次commit提交,感觉。2、用编辑器打开(我用的是Notepad++),就完成合并为一个仓库的任务。,源码放在下面,执行步骤跟。
2025-05-07 20:40:35
451
原创 使用 git subtree 方法将六个项目合并到一个仓库并保留提交记录
通过保留完整历史:每个子项目的提交历史独立且完整。非侵入式:主仓库与子项目无强耦合,子项目仍可独立开发。灵活同步:可随时拉取或推送子项目的更新。
2025-05-06 22:38:31
604
原创 【Spring Boot】Spring Boot + Thymeleaf搭建mvc项目
ComponentScan(自动扫描当前包及其子包下的组件(如 @Controller, @Service, @Repository。Spring Boot 的启动类(Main Class)是整个应用程序的入口点,负责初始化 Spring 上下文并启动应用。@EnableAutoConfiguration(启用 Spring Boot 的自动配置机制);@SpringBootConfiguration(标记当前类为 Spring Boot。下新建一个Java类。下新建一个Java类。
2025-05-05 13:18:45
1279
原创 使用 IDEA + Maven 搭建传统 Spring MVC + Thymeleaf 项目的详细步骤
【代码】使用 IDEA + Maven 搭建传统 Spring MVC + Thymeleaf 项目的详细步骤。
2025-05-05 10:13:40
1619
原创 使用 IDEA + Maven 搭建传统 Spring MVC 项目的详细步骤(非Spring Boot)
Application Context:设置上下文路径(如 /myapp,默认可能为 Artifact 名)1、点击 Run/Debug Configurations 下拉框 → 选择配置好的 Tomcat 配置。URL:访问路径可以是http://localhost:8080/项目名/,这里没有配置项目名。4、访问 http://localhost:8080/你的上下文路径 测试。Application Server:选择已配置的 Tomcat。JRE:这里采用系统配置好的,如果没有配置的,这里配置下。
2025-05-04 13:08:02
1384
原创 Spring AOP 典型应用场景
应用场景核心注解通知类型关键实现技术日志记录@Loggable@AroundSlf4j + 方法元数据获取权限校验@Before权限上下文 + 条件判断性能监控无(使用execution)@Around时间计算 + 方法过滤缓存处理@Cacheable@Around本地缓存(ConcurrentHashMap)重试机制@Retry@Around循环控制 + 异常捕获事务管理@Around事务管理器模拟接口限流@RateLimit@Around。
2025-05-04 11:34:04
491
原创 【Spring】idea+maven从零搭建注解日志示例代码
第3步:创建项目结构第4步:创建自定义注解第5步:创建AOP切面第6步:创建服务类第7步:配置Spring第8步:配置日志第9步:测试运行创建测试类第10步:运行结果执行MainApp后,控制台会显示类似以下日志:关键点解释:@EnableAspectJAutoProxy:启用Spring的AOP代理功能@Around注解:环绕通知可以控制方法执行前后行为ProceedingJoinPoint:可以获取方法签名、参数等信息SLF4J+Logback:主流的日志解决
2025-05-04 01:08:26
681
原创 用Maven定位和解决依赖冲突
通过系统化的依赖管理和冲突解决策略,可以显著提升项目的稳定性和可维护性。建议在大型项目中建立定期的依赖审查机制,并使用自动化工具持续监控依赖健康状况。
2025-05-03 23:22:53
1158
1
原创 【Spring】Spring中8种常见依赖注入使用示例
构造器注入:推荐用于强制依赖,确保对象不可变。Setter/字段注入:适合可选依赖或需要灵活性的场景。集合注入:处理多实现类的统一管理。条件注入:通过@Qualifier@Primary或@Profile解决歧义。循环依赖:优先通过设计避免,或改用 Setter 注入。外部化配置:结合@Value动态注入属性值。条件化 Bean:根据环境或业务规则动态装配。具体选择取决于项目需求,Spring Boot 进一步简化了配置(如自动配置、
2025-05-03 11:35:31
407
原创 【Spring】依赖注入
依赖注入,英文单词是Dependency Injection,简写为:DI。Spring的依赖注入主要有两种方式:基于XML配置和基于注解的配置。
2025-05-03 04:22:39
368
原创 【Spring】idea + maven 从零创建Spring IoC容器示例
idea编辑器jdk1.8+maven① 打开IDEA → New Project → Maven → Next② 填写项目信息:Groupld:vip.buddhaArtifactId: spring-ioc-demoVersion: 1.0.0③ 点击Finish,项目结构如下:3. 添加依赖手动添加完毕依赖,点击idea右侧maven面板的刷新按钮,下载依赖4.2 实现接口UserServiceImpl5. 配置Spring IoC容器在src/main/resources
2025-05-03 03:31:49
634
原创 采用小程序远程控制LED灯亮灭
关键技术栈:SpringBoot + uniapp + MQTT + micropython + docker。③、订阅了MQTT服务的ESP32,根据收到的订阅信息更新对应端口状态(这里就是控制LED灯亮灭)1、Docker方式安装MQTT服务端(Mosquitto),MQTT作为发布订阅消息队列。2、SpringBoot后端作为MQTT的一个客户端,处理小程序端发过来的控制信息。②、后端把控制信息存储更新到数据库同时把控制信息发布到MQTT;3、ESP32订阅MQTT,根据订阅信息,更新端口状态。
2025-04-08 10:59:55
454
原创 MicroPython开发ESP32,采用Pycharm编辑器,实现代码自动补全
MicroPython开发ESP32采用Thonny编辑器,代码不会自动补全,很难受!Python3.10环境+vscode/Pycharm又安装不了machine模块,折腾了阵子,解决了这问题,记录下!
2025-03-24 22:41:01
270
原创 证书真实性核实查询系统 证书查询系统 活动颁奖电子核实查询系统
用户预算150元,想要一个最简单证书查询系统。前台能查询证书、后台管理员能登录能修改密码,证书能够手动输入修改删除、批量导入导出删除数据、查询搜索。能够兼容苹果、安卓、PC三端浏览器,最后帮忙部署到云服务器上。用户预算不多,功能也不复杂,用PHP手搓一个系统给他了。
2025-03-13 15:48:35
386
原创 ThinkPHP8.0+MySQL8.0搭建简单实用电子证书查询系统
客户花了100元买了一个系统,开始不能导入,到处找人帮忙解决。给解决能导入了,不能修改,满足不了用户的需求。用户一狠心,花200块钱,叫我给他定制了一个电子证书查询系统。还免费给部署到服务器。惭愧惭愧…
2025-03-11 00:26:48
294
原创 低代码开发直聘管理系统
低代码 + DeepSeek 组合的方式开发直聘管理系统,兼职是开挂的存在。整个管理后台系统 + 小程序端接口的输出,只花了两个星期不到。
2025-03-07 15:50:44
499
1
原创 华为OD上机考试真题(Java)——字符串分割
求:是否存在两个节点,使得字符串被这两个节点分成三个部分,每个部分的 ASCII 码的值之和都相等。如果存在输出两个节点下标,以逗号隔开。下标从 0 开始,如果不存在,则输出 0,0。如果存在答案,则是唯一解。说明:以位置2和5作为分割点,将字符串分割为ac,bb,ca三个子串,每一个的子串权重都为196,输出为:2,5。给定一个字符串,只包含小写字母,字符串长度是 5-30。说明:找不到符合条件的分割点,输出为0,0。
2025-01-14 17:36:49
436
原创 华为OD上机考试真题(Java)——排队游戏
对于非刺头同学,如果发现他前面有比自己高的同学,他不满程度就增加,增加的数量等于前面能力值比他大的同学的个数。如果整个班级累计的不满程度超过 ( k ),那么老师就没有办法教这个班级了。新来的老师给班里的同学排一个队,每个学生有一个能力值。一些学生是刺头,不会听老师的话,自己选位置;非刺头同学在剩下的位置按照能力值从小到大排。
2025-01-14 14:59:07
393
原创 2025年华为OD上机考试真题(Java)——数组连续和
第一行的3表示第二行数组输入3个数,第一行的7是比较数,用于判断连续数组是否大于该数;组合为 3 + 4;3 + 4 + 7;都大于等于指定的7;给定一个含有N个正整数的数组,求出有多少个连续区间(包括单个正整数),他们的和大于等于x。可以使用滑动窗口的方法来解决这个问题。所有元素的和小于10000,所以返回0。
2025-01-09 14:32:23
471
原创 2025年华为OD上机考试真题(Java)——判断输入考勤信息能否获得出勤奖
【代码】2025年华为OD上机考试真题(Java)——判断输入考勤信息能否获得出勤奖。
2025-01-09 13:27:31
543
原创 2025年华为OD上机考试真题(Java)——整数对最小和
给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。输入两行数组array1、array2,每行首个数字为数组大小size(0 < size
2025-01-09 01:45:10
525
原创 Java开发技术经理面试题
技术面试题:1、你擅长的开发设计模式及应用场景和优缺点?2、微服务下需要导出50万条交易明细,数据来源不同服务联合查询结果,如订单、商品、会员、活动,如何实现?3、Saas会员产品从技术架构上需要哪些功能模块及职能是什么?4、常用数据结构应用场景及亮点?5、从技术层面描述开发质量核心管理办法?
2025-01-02 10:49:43
1297
原创 单片机从入门到放弃教程001
单片微型计算机(Single Chip Microcomputer)简称单片机,是典型的嵌入式微处理器(Micro Controller Unit简称MCU),是一种将中央处理器(CPU)、内存、输入输出接口以及其他功能模块集成在单一芯片上的微型计算机。
2025-01-01 20:26:57
655
1
原创 国产数据库OceanBase从入门到放弃教程
是由蚂蚁集团(Ant Group,原蚂蚁金服)自主研发的分布式关系型数据库。它旨在解决海量数据存储和高并发访问的问题,特别适合金融级应用场景,如支付宝等对数据一致性、可靠性和性能有极高要求的服务。
2024-12-31 15:30:16
1146
原创 Error response from daemon: Get “https://quay.io/v2/“: dial tcp: lookup quay.io on 192.168.111.2:53:
如果配置了DNS配置好了,还是不能正常拉取镜像,可以参照这个博客设置修改镜像源试下。有可能是系统DNS配置错误,可以参照如下修改。doker pull 镜像,报如下错误。再拉去镜像,就成功了。
2024-12-31 11:19:14
551
原创 国产数据库TiDB从入门到放弃教程
TiDB 是一个开源的分布式 NewSQL 数据库,兼容 MySQL 协议。它结合了传统关系型数据库(RDBMS)和 NoSQL 数据库的优点,旨在提供水平扩展、强一致性和高可用性。TiDB 由 PingCAP 公司开发,并得到了社区的广泛支持。
2024-12-26 10:42:32
1755
原创 C语言从入门到放弃教程
C语言是一种广泛使用的高级编程语言,由Dennis M. Ritchie(丹尼斯·里奇,C语言之父)在20世纪70年代初于贝尔实验室开发。它最初是为设计UNIX操作系统而创建的,但后来因其高效性、灵活性和跨平台特性而成为世界上最流行的编程语言之一。MinGW(Minimalist GNU for Windows)是一个用于 Windows 操作系统的开源编译器工具链,它基于 GNU 工具集(包括 GCC 编译器、GDB 调试器等),但专门为 Windows 环境进行了优化和定制。Visual Studio
2024-12-23 15:25:31
8442
8
原创 普中51单片机——LED流水灯模块
LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光,电流越大,其亮度越强,但若电流过大, 会烧毁二极管,一般我们控制在3 mA-20mA之间,通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极管的电流不要太大,因此这些电阻又可以称为“限流电阻”。当发光二极管发光时,测量它两端电压约为 1.7V,这个电压又叫做发光二极管的“导通压降”。
2024-12-03 16:52:37
961
原创 gin框架引入处理views视图层
在 templates 目录下创建一个简单的 HTML 文件 index.html,并引用 CSS 和 JavaScript 文件以及图片。在 static 目录下创建相应的 CSS、JavaScript 和图片文件。随便放一张二维码图片代表logo.png。
2024-12-02 23:00:00
335
原创 go语言读取yaml配置文件内容
go语言定义结构体匹配yaml内容import ("fmt""log""os""gopkg.in/yaml.v2" // 或者 "github.com/go-yaml/yaml"
2024-12-02 21:00:00
642
原创 使用 GORM 与 SQLite3 数据库进行交互来实现增删改查(CRUD)操作
定义一个简单的模型,例如 Product,用于映射到数据库表。gorm.ModelPrice uint这里的 gorm.Model 包含了 ID、CreatedAt、UpdatedAt 和 DeletedAt 字段。
2024-12-02 16:38:18
522
学习Linux系统从0到1实用使用教程
2024-07-15
Docker容器化从0到1使用教程,docker介绍、安装、镜像、容器、仓库、web环境搭建
2024-07-15
抓包工具fiddler 学习测试使用开发工具 app开发调试工具 app测试调试工具.rar
2020-08-01
人力资源管理系统概要设计 demo概要设计模板
2020-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人