<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2201_75550069的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2201_75550069</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2201_75550069]]></copyright><item><title><![CDATA[day14--项目优化]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149595005</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149595005</guid><author>2201_75550069</author><pubDate>Thu, 24 Jul 2025 10:19:47 +0800</pubDate><description><![CDATA[本文针对课程查询接口在高并发场景下的性能优化问题，提出了一套完整的优化方案。首先通过压力测试分析了接口性能指标，包括吞吐量、响应时间、QPS和错误率等。然后采用Redis缓存技术优化查询性能，并详细探讨了缓存穿透、雪崩和击穿三大问题的解决方案：使用空值缓存和布隆过滤器防止穿透，设置随机过期时间避免雪崩，采用分布式锁应对击穿。重点介绍了基于Redisson的分布式锁实现，通过加锁机制、看门狗自动延期和Lua脚本保证原子性操作，有效解决了高并发环境下的数据一致性问题。文章最后给出了优化后的课程查询接口实现代码，]]></description><category></category></item><item><title><![CDATA[day13--在线学习+项目部署]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149592294</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149592294</guid><author>2201_75550069</author><pubDate>Thu, 24 Jul 2025 09:41:55 +0800</pubDate><description><![CDATA[本文介绍了在线学习系统的功能实现与DevOps部署方案。系统实现了课程学习资格校验、视频点播、课程信息查询等功能，通过Nginx配置API路由，并开发了获取课程发布信息的接口。在部署方面，详细讲解了DevOps理念和CI/CD流程，包括使用Docker容器化部署、自动化构建测试、以及通过Jenkins实现代码提交后的自动构建。文章还提供了前端门户和机构端的前端部署步骤，包括Nginx配置和静态资源部署，最终实现了一个完整的在线学习系统从开发到部署的全流程解决方案。]]></description><category></category></item><item><title><![CDATA[day12--支付]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149527938</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149527938</guid><author>2201_75550069</author><pubDate>Wed, 23 Jul 2025 15:39:57 +0800</pubDate><description><![CDATA[本文详细介绍了在线教育平台支付系统的设计与实现。系统采用通用订单服务架构，支持微信支付和支付宝支付，主要流程包括：选课记录创建、订单生成、支付二维码生成、支付结果处理及消息通知。关键技术点包括：1. 支付流程设计，涵盖选课记录、订单创建、支付接口调用；2. 支付宝沙箱环境集成，实现测试支付功能；3. 消息队列实现支付结果异步通知；4. 支付结果验签与状态更新机制。系统采用RabbitMQ保证消息可靠性，通过生产者确认、持久化和消费者确认机制确保支付结果准确传递。该方案实现了支付功能与业务解耦，具备良好的扩展]]></description><category></category></item><item><title><![CDATA[day12--用户授权、添加选课]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149526551</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149526551</guid><author>2201_75550069</author><pubDate>Tue, 22 Jul 2025 09:56:01 +0800</pubDate><description><![CDATA[本文介绍了RBAC权限控制模型及其实施流程，包括基于角色和基于资源的两种授权方式，以及如何在资源服务内部通过注解实现细粒度授权。同时，详细阐述了教学机构用户授权流程，包括用户权限查询、异常处理和测试验证。此外，文章还介绍了学习中心服务的选课功能开发，包括免费课程和收费课程的不同处理逻辑，以及如何通过RPC调用内容管理服务获取课程信息。最后，提供了前后端联调测试的步骤，验证选课记录和我的课程表数据的正确性。整个系统实现了从用户认证、权限控制到课程选课的全流程功能。]]></description><category></category></item><item><title><![CDATA[day11--用户认证+微信扫码登录]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149507187</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149507187</guid><author>2201_75550069</author><pubDate>Mon, 21 Jul 2025 17:52:07 +0800</pubDate><description><![CDATA[本文详细介绍了基于SpringSecurity的用户认证系统设计与实现方案。系统采用模块化设计，主要包含以下核心功能： 多模式认证体系： 实现账号密码认证（支持BCrypt加密） 支持手机验证码认证 集成微信扫码登录（基于OAuth2协议） 关键技术实现： 通过自定义UserDetailsService连接用户中心数据库 扩展用户身份信息存储 开发独立验证码服务（支持图片验证码） 构建微信认证服务（包含令牌获取、用户信息同步）]]></description><category></category></item><item><title><![CDATA[day10--认证授权]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149485085</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149485085</guid><author>2201_75550069</author><pubDate>Mon, 21 Jul 2025 15:45:09 +0800</pubDate><description><![CDATA[本文介绍了认证授权模块的技术实现方案，主要内容包括： 认证授权基础概念：身份认证验证用户身份合法性，用户授权控制资源访问权限； OAuth2协议应用：采用授权码模式实现微信扫码登录，密码模式用于前端访问微服务； JWT令牌技术：通过JWT实现无状态认证，解决传统session认证的性能问题； 架构设计：网关负责统一认证（校验JWT合法性和白名单管理），微服务负责具体授权； 技术实现：基于Spring Security和OAuth2构建认证服务，使用JWTTokenStore存储令牌，网关通过过滤器实现统一认]]></description><category></category></item><item><title><![CDATA[day9--课程搜索]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149484423</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149484423</guid><author>2201_75550069</author><pubDate>Sun, 20 Jul 2025 16:55:04 +0800</pubDate><description><![CDATA[* 课程索引信息*]]></description><category></category></item><item><title><![CDATA[day8--课程审核、课程发布]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149466534</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149466534</guid><author>2201_75550069</author><pubDate>Sun, 20 Jul 2025 16:17:13 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了在线教育平台的课程审核与发布流程。课程状态包括&quot;未提交&quot;、&quot;已提交&quot;、&quot;已发布&quot;和&quot;下架&quot;等，通过预发布表解决审核与编辑冲突问题。发布流程涉及数据库、Redis、Elasticsearch和MinIO的多系统数据同步，采用分布式事务保证一致性。技术实现上使用消息表记录任务状态，通过SDK封装通用处理逻辑，结合XXL-JOB进行任务调度。系统设计了严格的校验机制，包括机构权限、课程完整度检查等，确保数据安全性和]]></description><category></category></item><item><title><![CDATA[day7--绑定媒资、课程发布]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149326863</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149326863</guid><author>2201_75550069</author><pubDate>Sat, 19 Jul 2025 16:28:40 +0800</pubDate><description><![CDATA["fileName": "22-Hmily实现TCC事务-开发bank2的confirm方法.avi",课程信息编辑完毕即可发布课程，发布课程相当于一个确认操作，课程发布后学习者在网站可以搜索到课程，然后查看课程的详细信息，进一步选课、支付、在线学习。下边是课程编辑与发布的整体流程：为了课程内容没有违规信息、课程内容安排合理，在课程发布之前运营方会进行课程审核，审核通过后课程方可发布。]]></description><category></category></item><item><title><![CDATA[面试题--xxl-job分布式任务调度]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149326681</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149326681</guid><author>2201_75550069</author><pubDate>Mon, 14 Jul 2025 11:37:23 +0800</pubDate><description><![CDATA[服务由调用中心和执行器组成，调用中心负责按任务调度策略向执行器下发任务，执行器负责接收任务执行任务。xxl-job的工作原理是什么？xxl-job是什么怎么工作？]]></description><category></category></item><item><title><![CDATA[day6--视频处理]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149308921</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149308921</guid><author>2201_75550069</author><pubDate>Mon, 14 Jul 2025 11:30:27 +0800</pubDate><description><![CDATA[视频处理与分布式任务调度方案摘要 本文介绍了视频处理与分布式任务调度的技术方案。主要内容包括：1）视频转码技术，使用FFmpeg工具进行视频格式转换；2）XXL-JOB分布式任务调度框架，实现任务分片广播、负载均衡和故障转移；3）视频处理具体方案，通过分片参数保证任务不重复执行，采用分布式锁防止并发冲突；4）任务状态管理，包括任务查询、执行状态更新和结果存储。系统采用多线程处理视频文件，支持弹性扩容，确保高可用性和任务幂等性，最终实现高效的分布式视频处理流程。]]></description><category></category></item><item><title><![CDATA[day5--上传视频]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149305985</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149305985</guid><author>2201_75550069</author><pubDate>Sun, 13 Jul 2025 13:20:49 +0800</pubDate><description><![CDATA[摘要：本文介绍了基于断点续传技术的视频上传系统设计与实现。系统采用分块上传方案解决大文件上传问题：1.前端将文件分块并校验分块状态；2.使用多线程上传未完成分块至MinIO；3.服务端合并分块并校验文件完整性。关键技术包括：分块算法（5MB/块）、MinIO存储、MD5校验机制、未完成文件清理（定时任务删除无效分块）。系统包含检查文件、上传分块、合并文件等核心接口，通过数据库记录文件状态，确保上传可靠性。该方案有效解决了网络中断导致重复上传的问题，提升了大文件传输的用户体验]]></description><category></category></item><item><title><![CDATA[day4--上传图片、视频]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149294376</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149294376</guid><author>2201_75550069</author><pubDate>Sat, 12 Jul 2025 17:13:05 +0800</pubDate><description><![CDATA[摘要： 本文详细介绍了基于MinIO的分布式文件系统设计与实现，用于解决海量文件存储与访问问题。主要内容包括： 分布式文件系统概述：通过多台计算机协同工作提升处理能力，确保数据高可用与就近访问。 MinIO技术选型：轻量级、兼容S3接口，支持多语言SDK，适合存储非结构化数据（如视频、图片）。 实现步骤： 环境搭建：Docker部署MinIO，配置公开访问的存储桶（如mediafiles）。 核心功能：文件上传、删除、查询的Java SDK集成，结合MD5校验确保数据完整性。 业务逻辑：课程图片上传流程，涉]]></description><category></category></item><item><title><![CDATA[day4--媒资管理模块（Nacos+网关）]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149288515</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149288515</guid><author>2201_75550069</author><pubDate>Sat, 12 Jul 2025 14:41:23 +0800</pubDate><description><![CDATA[摘要：本文介绍了在线教育平台的媒资管理系统（MAM）设计与实现，重点分析了系统架构与Nacos配置中心的搭建。系统功能包括视频/图片上传、转码处理、审核及课程绑定，采用微服务架构（内容管理、系统管理、媒资管理）并通过SpringCloudGateway网关统一路由。为解决多服务配置问题，使用Nacos作为服务发现和配置中心，实现环境隔离（dev/test/prod）和配置优先级管理（本地配置＞扩展配置＞共享配置）。网关配置采用负载均衡（lb://service-name）方式路由请求，通过路径匹配（如/co]]></description><category></category></item><item><title><![CDATA[day3--课程计划相关业务]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149224514</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149224514</guid><author>2201_75550069</author><pubDate>Wed, 09 Jul 2025 17:54:19 +0800</pubDate><description><![CDATA[文章摘要： 本文详细介绍了基于SpringBoot的课程管理系统开发过程，主要内容包括：1. JSR303参数校验实现，通过spring-boot-starter-validation在Controller层进行基础校验，并展示了分组校验的应用场景；2. 课程管理模块开发，包含新增、修改课程的接口设计与实现，重点说明了DTO设计、业务校验和异常处理；3. 课程计划管理功能，实现树形结构的课程大纲查询，通过自连接SQL查询和TeachplanDto扩展类构建树形数据；4. 新增/修改课程计划功能，处理不同层级]]></description><category></category></item><item><title><![CDATA[面试题--系统如何处理异常]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149204804</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149204804</guid><author>2201_75550069</author><pubDate>Tue, 08 Jul 2025 19:24:30 +0800</pubDate><description><![CDATA[*** 业务异常*/super(msg);捕获后端产生的异常信息/*** 全局异常处理器，处理项目中抛出的业务异常*/@Slf4j/*** 捕获业务异常* @return*/log.error("异常信息：{}", ex.getMessage());// 获取异常信息// 截取到username字段，将其封装成提示信息给前端提示用户// 将错误信息通过空格截取成数组// 获取数组的第三个元素 ：zhangsan。]]></description><category></category></item><item><title><![CDATA[day2--课程查询，新增，异常处理]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149195470</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149195470</guid><author>2201_75550069</author><pubDate>Tue, 08 Jul 2025 19:09:57 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了课程管理系统的开发过程，主要包括三个核心功能模块的实现。1）课程分页查询：使用MyBatis-Plus框架开发持久层，配置分页插件并完成单元测试；2）课程分类树形查询：通过递归SQL实现多级分类查询，前端以树形结构展示；3）新增课程功能：涉及课程基本信息和营销信息的联合操作，采用事务管理确保数据一致性。系统采用前后端分离架构，通过Swagger进行接口测试，并实现了全局异常处理机制。开发过程中解决了Node版本兼容、前后端联调等技术难点，最终完成了具备完整增删改查功能的课程管理系统。]]></description><category></category></item><item><title><![CDATA[java项目pom文件中＜dependencyManagement＞的作用]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149195673</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149195673</guid><author>2201_75550069</author><pubDate>Tue, 08 Jul 2025 12:42:29 +0800</pubDate><description><![CDATA[版本管理在微服务项目中非常常见，通常在父工程进行依赖管理，如果大家在写项目的时候发现依赖导入不进去，可以尝试把标签<dependencyManagement>注掉，进行刷新，当依赖全部导入之后再加上<dependencyManagement>标签就ok。可以在 dependencyManagement 中定义依赖项的版本号，避免在多个模块或项目中重复声明相同的版本。当需要升级依赖版本时，只需修改 dependencyManagement 中的版本号即可影响所有相关模块。]]></description><category></category></item><item><title><![CDATA[本人对Java就业前景感受：机遇、挑战与突围策略]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149179039</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149179039</guid><author>2201_75550069</author><pubDate>Mon, 07 Jul 2025 18:43:32 +0800</pubDate><description><![CDATA[Java作为一门拥有近30年历史的编程语言，在2025年依然保持着强大的生命力，但同时也面临着前所未有的挑战与变革。]]></description><category></category></item><item><title><![CDATA[day1--项目搭建and内容管理模块]]></title><link>https://blog.youkuaiyun.com/2201_75550069/article/details/149171618</link><guid>https://blog.youkuaiyun.com/2201_75550069/article/details/149171618</guid><author>2201_75550069</author><pubDate>Mon, 07 Jul 2025 18:08:09 +0800</pubDate><description><![CDATA[《学成在线内容管理模块开发总结》 本文详细记录了学成在线教育平台内容管理模块的开发过程。首先通过Maven搭建多模块项目结构，包括父工程xuecheng-plus-parent和基础工程xuecheng-plus-base，并配置了Spring Boot 3.5.3、MyBatis-Plus、Redis等核心依赖。 内容管理模块采用分层架构设计： 模型层(xuecheng-plus-content-model)定义课程相关数据模型 业务层(xuecheng-plus-content-service)实现核心]]></description><category></category></item></channel></rss>