<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bugMaker_0621的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bugMaker_0621</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bugMaker_0621]]></copyright><item><title><![CDATA[两种办法解决响应体时间类型显示问题]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150664510</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150664510</guid><author>bugMaker_0621</author><pubDate>Tue, 26 Aug 2025 01:21:19 +0800</pubDate><description><![CDATA[本文介绍了两种解决Java后端返回时间格式不标准。方法1使用@JsonFormat注解，简单但需要为每个时间字段添加注解。方法2通过扩展消息转换器实现全局配置：1）在WebMvcConfiguration中设置扩展消息转换器；2）自定义JacksonObjectMapper，配置LocalDateTime等类型的序列化格式。该方法统一处理所有时间类型转换，推荐作为项目级解决方案。]]></description><category></category></item><item><title><![CDATA[阿里云OSS文件上传_对象存储服务全流程]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150659925</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150659925</guid><author>bugMaker_0621</author><pubDate>Mon, 25 Aug 2025 22:38:52 +0800</pubDate><description><![CDATA[阿里云OSS是一款安全可靠、低成本的云存储服务，适用于存储各类文件。本文介绍了OSS的核心优势：可扩展性、数据持久性、成本效益和简化管理，并重点讲解了图片上传等典型场景的接入流程。详细步骤包括开通OSS服务、创建Bucket、配置权限、集成Java SDK、编写上传工具类等，最后通过示例演示了文件上传功能。文章为开发者提供了从零开始接入OSS的完整指南，适合需要快速实现云存储功能的项目参考。]]></description><category></category></item><item><title><![CDATA[SpringBoot项目通过自定义注解根据请求头注入用户会话信息_企业级方案]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150471217</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150471217</guid><author>bugMaker_0621</author><pubDate>Wed, 20 Aug 2025 00:36:43 +0800</pubDate><description><![CDATA[本文介绍了一种通过自定义注解@UserSession实现用户会话信息自动注入的方法。通过实现HandlerMethodArgumentResolver接口创建参数解析器，从请求头获取用户ID、姓名等信息，并使用建造者模式构建UserSessionInfo对象。该方案将用户会话信息处理逻辑从业务代码中抽离，业务方法只需添加注解即可自动获取会话信息，并通过ThreadLocal实现线程安全共享。]]></description><category></category></item><item><title><![CDATA[SpringBoot项目配置国际化]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150470865</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150470865</guid><author>bugMaker_0621</author><pubDate>Tue, 19 Aug 2025 00:32:32 +0800</pubDate><description><![CDATA[本文系统介绍了Spring Boot项目中国际化的实现方案。通过MessageSource+LocaleResolver组合，将文案抽离到i18n资源文件，实现运行时自动切换语言。包括：1)创建i18n目录及多语言properties文件；2)配置basename指定资源文件前缀；3)改造响应体和异常码使用MessageSource获取消息；4)自定义LocaleResolver实现请求头语言解析；5)通过MessageUtils工具类实现消息动态切换。文章还预告了后续将实现的用户会话信息自动注入功能。]]></description><category></category></item><item><title><![CDATA[SpringBoot项目企业级全局异常处理]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150470583</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150470583</guid><author>bugMaker_0621</author><pubDate>Mon, 18 Aug 2025 00:04:09 +0800</pubDate><description><![CDATA[本文介绍了SpringBoot项目中全局异常处理的实现方法,统一捕获并处理Controller层的异常。文章详细展示了业务异常类、通用错误码枚举的实现，以及全局异常处理器的代码示例。该方法能有效避免代码重复，统一异常响应格式。同时预告了后续将更新的国际化支持和用户会话信息自动注入功能，包括根据请求头语言返回不同响应消息，以及通过@UserSession注解自动注入用户信息的实现方案。]]></description><category></category></item><item><title><![CDATA[SpringBoot项目自定义统一响应体设计_附上完整测试代码]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150469977</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150469977</guid><author>bugMaker_0621</author><pubDate>Sun, 17 Aug 2025 19:23:57 +0800</pubDate><description><![CDATA[文章摘要：本文详细介绍了自定义响应类Result的设计与实现，通过泛型支持多种数据类型返回，配合响应码枚举类ResultCodeEnum实现统一接口响应格式。提供了完整的Java代码示例，包括Controller、Service、Mapper等层级实现，演示了订单查询和保存接口。文章还预告了后续将更新的全局异常处理、国际化支持及用户会话自动注入功能，展示了如何通过@UserSession注解简化用户信息获取。]]></description><category></category></item><item><title><![CDATA[算法：leetcode_146_LRU 缓存]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150150946</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150150946</guid><author>bugMaker_0621</author><pubDate>Sun, 10 Aug 2025 19:01:19 +0800</pubDate><description><![CDATA[本文详细介绍了LRU（最近最少使用）缓存的设计与实现。通过双向循环链表和哈希表的结合，实现了O(1)时间复杂度的get和put操作。核心实现包括：1）使用双向链表维护访问顺序；2）利用哈希表实现快速查找；3）定义disconnect和pushFront方法维护链表结构；4）处理容量满时的淘汰策略。]]></description><category></category></item><item><title><![CDATA[算法：leetcode_92_反转链表Ⅱ]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150119239</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/150119239</guid><author>bugMaker_0621</author><pubDate>Sun, 10 Aug 2025 01:23:10 +0800</pubDate><description><![CDATA[本文介绍了如何实现LeetCode第92题&quot;反转链表II&quot;，即在链表中局部反转从第left到第right位置的节点。文章通过图示和代码详细讲解了实现步骤, 并且预告了下一次要更新的题目：LRU缓存, 请观看吧, 么么哒！]]></description><category></category></item><item><title><![CDATA[算法：leetcode_206_反转链表]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149993224</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149993224</guid><author>bugMaker_0621</author><pubDate>Thu, 07 Aug 2025 03:18:15 +0800</pubDate><description><![CDATA[本文以幽默风格讲解链表反转算法，类比游戏角色技能帮助理解。核心思路是使用pre、cur、next三个指针：pre记录前驱节点（初始null），cur为当前节点（初始head），next暂存后继节点。关键步骤是：1)保存cur.next；2)将cur.next指向pre实现反转；3)pre和cur向后移动。循环直到cur为null时，pre即新链表头节点。文章提供了Java、C++、JS实现代码，并推荐链表打印工具辅助调试。通过生动比喻（如&quot;领导head不干活&quot;）和详细注释，使反转链表这一]]></description><category></category></item><item><title><![CDATA[算法：leetcode_113_路径总和Ⅱ]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149885058</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149885058</guid><author>bugMaker_0621</author><pubDate>Sun, 03 Aug 2025 21:22:36 +0800</pubDate><description><![CDATA[本文详细讲解了LeetCode 113题&quot;路径总和II&quot;的解法，这是112题的进阶版本。文章采用深度优先搜索(DFS)和回溯算法，重点介绍了如何记录所有满足条件的路径。特别强调了在将路径加入结果列表时需要创建新对象以避免引用问题。文章还分享了本地调试时使用的二叉树构造工具类，并通过debug过程展示了问题排查的思路。最终给出了完整的实现代码并成功提交力扣。]]></description><category></category></item><item><title><![CDATA[算法：leetcode_112_路径总和]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149883209</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149883209</guid><author>bugMaker_0621</author><pubDate>Sun, 03 Aug 2025 18:35:24 +0800</pubDate><description><![CDATA[本文介绍了力扣112题&quot;路径总和&quot;的解题思路，采用回溯算法进行求解。作者建议将此题与129题&quot;求根节点到叶节点数字之和&quot;结合练习，并预告后续将更新进阶题目113题&quot;路径总和II&quot;的解法。全文以通俗易懂的方式讲解了回溯算法的应用，适合算法初学者学习]]></description><category></category></item><item><title><![CDATA[20分钟速刷十道二叉树层序遍历题]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149762388</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149762388</guid><author>bugMaker_0621</author><pubDate>Thu, 31 Jul 2025 01:00:44 +0800</pubDate><description><![CDATA[本文通过10道二叉树层序遍历题目，系统讲解了广度优先搜索（BFS）的核心思想与实现模板。]]></description><category></category></item><item><title><![CDATA[算法：leetcode_129_求根节点到叶节点数字之和]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149729387</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149729387</guid><author>bugMaker_0621</author><pubDate>Tue, 29 Jul 2025 01:41:18 +0800</pubDate><description><![CDATA[本文介绍了LeetCode第129题&quot;求根节点到叶节点数字之和&quot;的解题方法。题目要求计算二叉树中从根节点到所有叶子节点路径所表示数字的总和。文章采用递归回溯的方法，通过维护路径变量path和结果变量result，深度优先遍历二叉树。]]></description><category></category></item><item><title><![CDATA[打印节点(链表或者二叉树)工具]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149686944</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149686944</guid><author>bugMaker_0621</author><pubDate>Sun, 27 Jul 2025 13:11:24 +0800</pubDate><description><![CDATA[摘要：本文介绍了一个用于LeetCode刷题时打印链表和二叉树结构的Java工具类。该工具包含链表节点(ListNode)和二叉树节点(TreeNode)的定义类，以及一个PrintUtils工具类，可通过数组输入自动构建对应数据结构并格式化输出。工具支持两种数据结构类型：链表(0)和二叉树(1)。打印功能包括链表的箭头连接显示和二叉树的分层可视化输出，帮助开发者更直观地调试。并且本文给出了两种数据结构的做题演示。]]></description><category></category></item><item><title><![CDATA[算法：leetcode_5_最长回文子串]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149674551</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149674551</guid><author>bugMaker_0621</author><pubDate>Sun, 27 Jul 2025 01:58:20 +0800</pubDate><description><![CDATA[摘要：本文介绍了两种求解最长回文子串的方法：动态规划和中心扩散法。动态规划通过构建二维dp表记录子串状态，从下到上、从左到右遍历字符串，时间复杂度较高但思路清晰。中心扩散法则以每个字符（或相邻字符对）为中心向两边扩展寻找回文，更高效且代码简洁。]]></description><category></category></item><item><title><![CDATA[shardingsphere实操]]></title><link>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149620083</link><guid>https://blog.youkuaiyun.com/bugMaker_0621/article/details/149620083</guid><author>bugMaker_0621</author><pubDate>Fri, 25 Jul 2025 02:10:05 +0800</pubDate><description><![CDATA[本文实操数据库分表框架shardingsphere入门示例。]]></description><category></category></item></channel></rss>