自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(241)
  • 资源 (6)
  • 收藏
  • 关注

原创 L05_后端_MinIO 安装使用入门指南(实战版)

本文介绍了MinIO对象存储的安装部署与Spring Boot集成方法。主要内容包括:1) 通过Docker或本地方式安装MinIO服务器(推荐Docker跨平台方案);2) 使用Web管理界面创建存储桶、设置访问规则并上传文件;3) 在Spring Boot项目中集成MinIO客户端,实现文件上传和删除接口。文章提供了详细的命令和代码示例,特别强调Docker部署的简便性(仅需一行命令)和实际开发中的注意事项(如端口配置、访问权限等)。该指南适合需要快速搭建轻量级对象存储服务的开发者参考。

2025-10-13 21:53:22 459

原创 后端_Redis 分布式锁实现指南

Redis分布式锁实践指南 本文介绍了基于Redis的分布式锁实现方案,重点讲解了Redisson和Lock4j两种框架的使用方式。主要内容包括: 核心原理:通过Redis原子命令实现加锁(SET NX EX)和解锁(Lua脚本),确保跨节点互斥和防死锁。 技术选型: Redisson:支持多种锁类型(可重入锁、公平锁、读写锁等),适合复杂场景 Lock4j:基于注解的声明式锁,简单易用 Redisson编程式锁实践: 环境配置:引入starter依赖,复用Redis连接 提供支付通知防重复处理案例,展示加

2025-10-08 22:16:36 1082

原创 后端_基于注解实现的请求限流

摘要: 本文介绍声明式请求限流技术,通过@RateLimiter注解实现高并发场景下的流量控制。核心原理采用AOP切面拦截请求,结合Redis计数器判断是否超限,支持全局、用户、IP等多维度限流。注解参数可配置时间窗口、请求上限及限流维度,并提供5种解析器满足不同场景需求。实战案例演示全局限流、用户/IP级限流及自定义维度的实现方式,超限时返回429错误。关键代码包括AOP切面逻辑和Redis计数操作,实现无侵入式的精准流量管控。

2025-10-08 22:15:28 662

原创 后端_异常处理:4 个代码片段,让前端永远拿到“同一句话”

摘要 本文展示了如何通过统一异常处理确保前端始终接收到标准化的响应格式。通过定义CommonResult通用响应类,封装了错误码、数据和提示信息,并提供错误处理、成功响应等方法。结合ServiceException异常体系,实现了: 统一的响应结构(code/data/msg) 错误码与异常信息的自动转换 参数化消息格式化功能 异常状态检查方法 这种设计保证了前后端交互的一致性,简化了错误处理流程,同时支持动态错误消息的生成。

2025-09-28 18:46:34 221

原创 后端_本地缓存:零抖动的极速缓冲层

本文介绍了本地缓存的核心价值与实现方案。通过将低频变更的热数据加载到JVM内存,可实现性能提升1-2个数量级。文章详细阐述了架构设计:基于Redis Pub/Sub实现多实例缓存同步,采用全量替换的幂等刷新策略。提供了完整的编码实现三步曲:接口定义、启动预热、广播刷新机制,并给出高级增强方案(局部/延迟/灰度刷新)和常见问题排查方法。该方案特别适合读多写少场景,能显著降低接口响应时间和数据库压力,建议遵循"数据不可变"和"幂等刷新"两大原则实施。

2025-09-28 18:44:44 454

原创 后端_看不见的隐私盾牌:一文读懂数据脱敏

本文介绍了基于Jackson框架的API敏感数据脱敏方案,通过自定义注解与序列化处理器实现数据保护。核心原理是在VO/DTO字段添加脱敏注解(如@MobileDesensitize),由StringDesensitizeSerializer调用对应的DesensitizationHandler进行脱敏处理。组件采用模块化设计,包含正则表达式和滑动窗口两种处理方式,支持手机号、身份证等常见敏感字段的默认脱敏规则,同时允许通过继承AbstractRegexDesensitizationHandler等抽象类实现

2025-09-25 19:40:23 793

原创 后端_HTTP 接口签名防篡改实战指南

本文介绍了开放API接口签名机制的核心原理与实战集成方法。签名机制基于对称加密、参数排序和时效校验实现,通过AOP切面自动拦截校验请求,无需侵入业务代码。核心流程包括调用方生成签名和服务端校验签名,确保数据传输安全性和完整性。集成签名功能分为三步:配置调用方密钥、启用接口签名校验、按规则调用接口。文中还提供了签名失败排查步骤和复杂场景解决方案,帮助开发者快速落地安全可靠的API对接方案。

2025-09-21 12:01:56 1180

原创 前后端_时间参数传递及格式化

本文全面介绍了项目中时间参数的处理方法,涵盖基础场景和自定义格式化。主要内容包括:1)Query和Request Body两种时间传参方式的后端接收与前端传递实现;2)默认采用Long时间戳的优势及实现原理;3)通过Jackson配置全局和局部时间格式的方法。文章提供了完整的代码示例,帮助开发者根据业务需求选择合适的时间处理方案,确保前后端高效协作。

2025-09-19 22:17:49 886

原创 后端_API 参数校验

本文介绍了在Spring Boot项目中集成Hibernate Validator进行参数校验的实战指南。

2025-09-19 13:04:30 1171

原创 运维_Mac环境单体服务Docker部署实战手册

Mac下如何部署前后端,前端nginx容器,后端docker容器

2025-02-09 14:46:16 1834

原创 L04_MySQL知识图谱

MySQL 高频知识点图谱梳理

2024-07-07 17:58:38 1124 1

原创 L03_Redis知识图谱

这些Redis 知识点你都掌握了吗?大家可以对着问题看下自己掌握程度如何?对于没掌握的知识点,大家自行网上搜索,都会有对应答案,本文不做知识点详细说明,只做简要文字或图示引导。

2024-06-29 17:22:52 1094

原创 L02_并发编程知识图谱

这些知识点你都掌握了吗?大家可以对着问题看下自己掌握程度如何?对于没掌握的知识点,大家自行网上搜索,都会有对应答案,本文不做知识点详细说明,只做简要文字或图示引导。

2024-06-23 15:33:19 1015

原创 L01_JVM 高频知识图谱

这些知识点你都掌握了吗?大家可以对着问题看下自己掌握程度如何?对于没掌握的知识点,大家自行网上搜索,都会有对应答案,本文不做知识点详细说明,只做简要文字或图示引导。

2024-05-25 23:51:38 454

原创 研发安全(二)——后端开发必须掌握的SQL注入漏洞与防护

SQL 注入对于我们研发人员来说,应该基本都听说过,甚至还在开发功能过程中不知不觉引入了SQL注入漏洞,只是没被发现而已。所以,本文会系统的介绍下SQL注入漏洞的危害以及我们开发过程中如何进行防护。

2024-03-24 18:58:13 341 1

原创 MySQL调优之SQL语句

在开发中,我们要尽量写出高性能的 SQL 语句,但也无法避免一些慢 SQL 语句的出现,或因为疏漏,或因为实际生产环境与开发环境有所区别,这些都是诱因。面对这种情况,我们可以打开慢 SQL 配置项,记录下都有哪些 SQL 超过了预期的最大执行时间。//开启慢SQL日志//记录日志地址//最大执行时间除此之外,很多数据库连接池中间件也有分析慢 SQL 的功能。

2024-03-17 23:26:54 877

原创 研发安全(一)——研发人员必须掌握的安全开发常识

掌握安全开发常识对于研发人员来说至关重要。通过树立正确的安全开发意识、遵循安全原则、实施数据安全与隐私保护、进行输入验证与过滤、管理漏洞与风险、遵循安全编码规范、进行安全测试与验证、持续学习与跟踪最新安全动态、跨领域合作与沟通以及遵守合规性与法规要求等多方面的努力,研发人员可以有效提升软件的安全性,为用户提供更加安全、可靠的服务。

2024-03-17 11:37:22 1085

原创 一个简单的转账场景示例带你了解并发安全?

本文转帐场景主要参考来自于极客时间 王老师的 《Java 并发编程实战》

2024-01-17 23:52:42 1500

原创 Docker 安装 MySQL5.7

如果你安装了 docker-desktop,点击图标进入命令窗口。整个 pull 过程需要花费一些时间,耐心等待。#启动容器,并设置mysql忽略大小写。#输入命令,并按提示输入密码root。

2023-10-13 22:56:27 928

原创 IEDA 自动生成类注释和方法注释

类注释 【快捷键:cls + TAB】

2023-10-13 21:32:08 355

原创 实践_定时任务开发规范

定时任务开发经验规范总结

2023-06-30 07:33:21 368

原创 实践_Redis开发规范

Redis 开发规范总结

2023-06-29 19:43:39 583

原创 实践_技术文档结构规范

技术文档规范示例说明,技术文档该怎么写

2023-06-28 12:50:27 663

原创 实践_数据库规范

数据库设计与开发规范

2023-06-27 19:04:49 299

原创 并发编程_SimpleDateFormat 线程安全问题

SimpleDateFormat 线程安全问题

2023-05-09 21:13:33 223

原创 【项目实战】—— 我们应该如何正确得创建线程池?

spring项目实践中,如何正确选择与创建线程池?

2023-05-08 22:58:58 1878

原创 思维导图之规范与重构

规范与重构

2022-11-29 22:02:53 288

原创 思维导图之设计原则

设计原则

2022-11-29 22:00:25 546

原创 Shell脚本速查手册

Shell脚本入门手册

2022-11-25 20:57:14 3089

原创 L01_一条SQL查询语句是如何执行的?

MYSQL执行流程

2022-06-19 18:24:14 150

原创 L07_Spring 生命周期

导读1、BeanFactory 是怎样处理 Bean 生命周期?BeanFactory 的默认实现为 DefaultListableBeanFactory,其中 Bean生命周期与方法映射如下:(1) BeanDefinition 注册阶段 - registerBeanDefinition(2) BeanDefinition 合并阶段 - getMergedBeanDefinition(3) Bean 实例化前阶段 - resolveBeforeInstantiation Instantiati

2022-04-05 20:38:38 164

原创 L06_Spring 依赖来源

导读1、依赖查找的来源1.1、BeanDefinition元数据:BeanDefinition注册:BeanDefinitionRegistry#registerBeanDefinition类型:延迟和非延迟顺序:Bean 生命周期顺序按照注册顺序<bean id="user" class="com...User">@Bean public User user(){...}BeanDefinitionBuilder1.2、单例对象来源:外部普通 Java 对象(

2022-04-05 12:00:58 156

原创 L04_spring依赖查找

spring 依赖查找1、单一类型依赖查找单一类型依赖查找接口 - BeanFactory(1)根据 Bean 名称查找:getBean(String)(2)根据 Bean 类型查找 :getBean(Class)getBeanProvider(Class)( Spring 5.1 Bean 延迟查找)(3)根据 Bean 名称 和类型查找:getBean(String,Class)2、集合类型依赖查找集合类型依赖查找接口 - ListableBeanFactory(1)根据 Bean

2022-04-05 10:22:33 431

原创 L05_spring依赖注入

spring 依赖注入1、依赖注入的模式和类型1.1、Setter 方法注入实现方法(1)手动模式XML 资源配置元信息<bean class="com.injection.UserHolder"> <property name="user" ref="user"></property></bean>Java 注解配置元信息API 配置元信息(2)自动模式#byName <bean class="injecti

2022-04-05 10:20:13 439

原创 2022-03_shell 如何编写定时任务?

导读crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。1. crontab 使用步骤(1)、编写定时任务需求脚本,如以下脚本 处理vertica ros to many 问题。脚本需要在 vertica 需要放在vertica mpp 服务器执行。ros_mergetout_task.sh 如下所示:#!/bin/sh#Au

2022-03-31 21:45:00 2594

原创 2022-03_arthas 如何热更新线上代码?

导读当线上出问题,可能因为一个简单的判断逻辑写错或者业务逻辑有问题,需要及时修复验证,修改代码,打包上线时间周期长,有没有快速的修复解决办法呢?那今天就主要来介绍下 如何使用 arthas 工具热更新线上代码?1. 什么是Arthas?Arthas 是Alibaba开源的Java诊断工具。详情见http://arthas.gitee.io/2. 如何使用 arthas 工具热更新线上代码?热更新步骤:(1)jad 命令反编译出内存中的字节码,生成class文件。(2) 使用 sc 查找类加载器

2022-03-31 21:30:00 1001

原创 L03_什么是 BeanDefinition

什么是 BeanDefinition?BeanDefinition 是SpringFreamwork 定义配置元信息的接口。包含:• Bean 的类名• Bean 行为配置元素,如作用域、自动绑定的模式,生命周期回调等• 其他 Bean 引用,又可称依赖• 配置设置,比如 Bean1、BeanDefinition 元信息属性说明ClassBean 全类名NameBean 名称或 IDScopeBean 作用域范围Constructor ArgsB

2022-03-25 09:03:58 317

原创 L02_什么是IoC容器?

导读Spring IoC 容器负责创建对象、管理对象,装配对象、配置对象、并且管理这些对象的生命周期。本文涉及代码均为部分代码,仅仅供个人学习记录参考。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hc0YzrMq-1647929291235)(./images/L02.png)]1、IoC 依赖查找根据 Bean 名称查找根据 Bean 类型查找根据 Bean 名称 + 类型查找根据Java 注解查//根据名称-实时查找User user = (Us

2022-03-22 14:09:28 159

原创 L04_什么是数组

导读在大部分编程语言中,数组都是从 0 开始编号的,但你是否下意识地想过,为什么数组要从 0 开始编号,而不是从 1 开始呢? 从 1 开始不是更符合人类的思维习惯吗?1、什么是数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。2、数组的操作实现2.1、随机访问数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。2.2、插入如果在数组的末尾插入元素,那就不需要移动数据了,这时的时间复杂度为 O(1)。但如果在数组的开头插入元素,那

2022-03-13 22:30:46 934

原创 L03_如何评估算法的好坏

导读我们都知道,数据结构和算法本身解决的是“快”和“省”的问题。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。1、什么是复杂度分析复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。2、为什么要进行复杂度分析复杂度分析有不依赖执行环境*、成本低、效率高、易操作、指导性强的特点。掌握复杂度分析,有利于编写出性能更优的代码,降低系统开发和维护成本。3、如何进行复杂度分析3.1、大O表示法

2022-03-13 22:20:07 683

Java编码规范总结

文中部分节选 1.整型实例。 修复建议:使用Integer.valueOf()替代new Integer。 2.switch语句包含太少分支。 修复建议:分支比较少的时候建议使用if else。原因:switch用来处理多分支的情况。 3.Switch语句应该包含一个default。 4.多线程错误 - 错误的延迟初始化和更新静态属性。 5.错误用法 - 集合转换为数组元素时发生的类型转换错误。 修复建议:使用c.toArray(new String[c.size()])。 6.不良实践 - 方法返回boolean类型返回了null。 7.错误用法 - "."用作正则表达式。 修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到的字符需要转义,如:句点符号“.”,美元符号“$”,乘方符号“^”,大括号“{}”,方括号“[]”,圆括号“()” ,竖线“|”,星号“*”,加号“+”,问号“?”等等,这些需要在前面加上“\\”转义符

2017-11-18

WebService

Web Service, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据 通俗的讲,Web Service就是一个部署在Web服务器上的一个,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web Service 的应用程序叫做客户端,发布这个web服务的机应用程序器称为Web Service服务器

2018-02-13

MobaXterm_Portable_v20.3.zip

支持各种连接SSH,FTP 如何使用? 1. 解压后,直接双击 .exe文件 2. 创建一个新的session,输入主机IP,用户名和密码即可登录远程主机

2020-07-21

Dark-Reader 浏览器阅读插件

Dark-Reader 浏览器阅读插件

2021-05-15

图片截图工具,拖动不影响屏幕切换

图片截图工具,方便快速,且可节省空间,方便快速,推荐。

2019-02-14

my-report.zip

运行单元测试TestReport,就会根据模版自动生成自动化报告文件,生成在项目目录中report_result_02.html,支持搜索功能

2020-06-29

空空如也

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

TA关注的人

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