<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Schengshuo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Schengshuo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Schengshuo]]></copyright><item><title><![CDATA[SpringBoot实现图形验证码]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160746341</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160746341</guid><author>Schengshuo</author><pubDate>Sun, 03 May 2026 21:27:50 +0800</pubDate><description><![CDATA[目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获取验证码验证码校验调整前端代码随着安全性的要求越来越高，目前许多项目中都使用了验证码，验证码也有各种类型，如 图形验证码、短信验证码、邮件验证码、人脸识别等，这些不同类型的验证码可以根据实际需求和安全性要求进行选择和应用，保护网站和用户免受恶意攻击在本篇文章中，我们来学习图形验证码的实现验证码的实现方式有很多，可以由前端实现，也可以由后端进行实现，也有很多的插件和工具包可以使用，在这里，我们使用 Hutool]]></description><category></category></item><item><title><![CDATA[Spring Boot 整合 log4j2 日志配置教程]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160744893</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160744893</guid><author>Schengshuo</author><pubDate>Sun, 03 May 2026 19:54:17 +0800</pubDate><description><![CDATA[在项目推进中，如果说第一件事是搭建 Spring 框架的话，那么第二件事情就是在 Sring 基础上搭建日志框架，此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别，按照从低到高为：All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制：如果一条日志信息的级别大于等于配置文件的级别，就记录All：最低等级的，用于打开所有日志记录。]]></description><category></category></item><item><title><![CDATA[Node.js实现WebSocket教程]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160743768</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160743768</guid><author>Schengshuo</author><pubDate>Sun, 03 May 2026 18:23:15 +0800</pubDate><description><![CDATA[WebSocket是一种在单个TCP连接上提供全双工通信的协议，允许服务器和客户端之间进行实时、双向通信。本教程将详细讲解如何在Node.js中实现WebSocket。]]></description><category></category></item><item><title><![CDATA[mysql中general_log日志详解]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160742552</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160742552</guid><author>Schengshuo</author><pubDate>Sun, 03 May 2026 16:52:46 +0800</pubDate><description><![CDATA[1.记录范围：这个log里面会记录MySQL所有的SQL语句，不管是查询语句，还是DML语句，还是DDL语句，还是DCL语句，这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。2.记录顺序：MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。]]></description><category></category></item><item><title><![CDATA[Java进阶07 嵌套类]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160741267</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160741267</guid><author>Schengshuo</author><pubDate>Sun, 03 May 2026 15:20:16 +0800</pubDate><description><![CDATA[嵌套类允许我们更好的组织类内部类实现了闭包转载于:https://www.cnblogs.com/ssjie/p/4754570.html。]]></description><category></category></item><item><title><![CDATA[FrankenPHP实践]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160713685</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160713685</guid><author>Schengshuo</author><pubDate>Sat, 02 May 2026 14:25:58 +0800</pubDate><description><![CDATA[它实际上是有两种运行模式：普通模式和worker模式，其中的普通模式类似于传统的LNMP容器，只是Nginx换成了Caddy Server，带来的提升并不特别明显。如果自建镜像扩展插件，需三思是否需要加Opcache，开启后 frankenphp 的watch功能（监控文件修改自动热启）将不能正常使用，但开启后，性能将提高40%左右。Frankenphp是一个先进的，结合了高性能Caddy服务器的PHP。，它允许用户只需要少量改动，就能让传统的php前端应用插上翅膀，享受到。]]></description><category></category></item><item><title><![CDATA[SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160356246</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160356246</guid><author>Schengshuo</author><pubDate>Tue, 21 Apr 2026 09:37:35 +0800</pubDate><description><![CDATA[由 Spring 提供，是 Spring 在 ES 官方接口基础之上的二次封装，使用简单，易于上手；缺点是更新太慢，SpringBoot 2.2.x 才提供对 es7.x 的支持，版本关联性很大，不易维护；不过在此还是讲一下 starter 启动器下的 集成步骤，万一官方更新速度加快了呢。Java High Level Rest Client方式 去集成 Elasticsearch（这个是目前公司常用的方式）就要遵守 自定义方法命名规范【自定义方法命名约定】：/**]]></description><category></category></item><item><title><![CDATA[Spring Boot 整合 Druid 并开启监控]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160351955</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160351955</guid><author>Schengshuo</author><pubDate>Tue, 21 Apr 2026 07:16:38 +0800</pubDate><description><![CDATA[如果默认配置不能满足你的需求，你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要，可以在这里添加更多配置，如过滤器、拦截器等@Bean@Bean通过以上步骤，我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池，并开启了其监控功能。这不仅提高了数据库访问的效率，还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。]]></description><category></category></item><item><title><![CDATA[Nginx之rewrite重写功能]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160351008</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160351008</guid><author>Schengshuo</author><pubDate>Tue, 21 Apr 2026 04:59:32 +0800</pubDate><description><![CDATA[访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能，它是以模块的形式存在于代码中的，其功能是对用户请求的 URI 进行 PCRE 正则重写，然后返回 30× 重定向跳转或按条件执行相关配置。]]></description><category></category></item><item><title><![CDATA[mysql WITH的多种用法与示例]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160349828</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160349828</guid><author>Schengshuo</author><pubDate>Tue, 21 Apr 2026 02:43:16 +0800</pubDate><description><![CDATA[在一个查询中可以定义多个 CTE，并在查询的其他部分引用它们。这些 CTE 可以相互引用，按顺序处理。WITH非递归 CTE用于分解复杂查询。递归 CTE用于层级数据查询。嵌套 CTE可以组合多个步骤的查询。简化查询逻辑：分解复杂的 SQL 逻辑，使查询更清晰易懂。CTE 是复杂查询中不可或缺的工具，有助于使代码简洁且易于维护。WITH RECURSIVE 举例说明，表结构是id和pid的指向 大概有五层。]]></description><category></category></item><item><title><![CDATA[DBeaver连接本地MySQL、创建数据库表的基础操作]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160348870</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160348870</guid><author>Schengshuo</author><pubDate>Tue, 21 Apr 2026 00:25:41 +0800</pubDate><description><![CDATA[此篇已完善！]]></description><category></category></item><item><title><![CDATA[SQL 建表语句详解]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160311937</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160311937</guid><author>Schengshuo</author><pubDate>Sun, 19 Apr 2026 18:33:21 +0800</pubDate><description><![CDATA[通过本文的讲解，我们详细介绍了 SQL 中的建表语句，包括基本语法、数据类型、约束、示例等内容。希望读者能够通过这些内容更好地理解和掌握 SQL 建表语句的使用方法。在实际应用中，根据具体需求选择合适的数据类型和约束，可以有效地保证数据的完整性和一致性。]]></description><category></category></item><item><title><![CDATA[Springboot 整合 Quartz（定时任务框架）]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160309216</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160309216</guid><author>Schengshuo</author><pubDate>Sun, 19 Apr 2026 15:41:48 +0800</pubDate><description><![CDATA[Quartz是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目，完全由 Java 开发，可以用来执行定时任务，类似于 java.util.Timer。持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;]]></description><category></category></item><item><title><![CDATA[redis命令详解]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160306327</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160306327</guid><author>Schengshuo</author><pubDate>Sun, 19 Apr 2026 13:03:34 +0800</pubDate><description><![CDATA[也是默认的持久化方式，这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。Redis支持五种数据类型：string（字符串），hash（哈希），list（列表），set（集合）及zset(sorted set：有序集合)。append key value 如果key存储的值是一个字符串，append命令将指定的value追加到key原来bvalue的末尾。Set 是 string 类型的无序集合。是通过哈希表实现的，所以添加，删除，查找的复杂度都是 O(1)。]]></description><category></category></item><item><title><![CDATA[mysql查看binlog日志]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160298291</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160298291</guid><author>Schengshuo</author><pubDate>Sun, 19 Apr 2026 10:17:12 +0800</pubDate><description><![CDATA[修改数据目录配置文件 ，例：C:ProgramDataMySQLMySQL Server 8.0my.ini（可见：SHOW VARIABLES LIKE ‘log_bin%’;]]></description><category></category></item><item><title><![CDATA[Java进阶（ElasticSearch的安装与使用）]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160289873</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160289873</guid><author>Schengshuo</author><pubDate>Sun, 19 Apr 2026 01:45:29 +0800</pubDate><description><![CDATA[环境要求：node.js python2, jdk。测试结果（9100）]]></description><category></category></item><item><title><![CDATA[如何快速搭建简单SpringBoot项目网页]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160264387</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160264387</guid><author>Schengshuo</author><pubDate>Sat, 18 Apr 2026 06:24:52 +0800</pubDate><description><![CDATA[【代码】如何快速搭建简单SpringBoot项目网页。]]></description><category></category></item><item><title><![CDATA[【Spring】配置文件的使用]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160262967</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160262967</guid><author>Schengshuo</author><pubDate>Sat, 18 Apr 2026 04:00:56 +0800</pubDate><description><![CDATA[Value适合读取单个简单属性。适用于一组相关的属性，可以是集合或Map，能更好地组织属性。配置文件的内容可以灵活地根据需要进行管理和访问，使得Spring应用程序的配置更为集中和清晰。]]></description><category></category></item><item><title><![CDATA[SQL注入（SQL Injection）攻击原理与防御措施]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160262325</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160262325</guid><author>Schengshuo</author><pubDate>Sat, 18 Apr 2026 01:37:28 +0800</pubDate><description><![CDATA[SQL是一种代码注入技术，可使攻击者修改应用程序向数据库提供的查询。迄今为止，最常见和最严重的应用 程序安全威胁总是隐藏在与数据库有某些连接的网络应用 程序中。通过这种 SQL 注入，攻击者可以绕过登录程序，获取、更改甚至更新数据库，执行管理程序，或进行其他变种操作。要解释什么 是 SQL 注入，就必须了解 SQL 的一些基本原理。事实上，它已成为处理和虚拟操作这些数据库的通用语言。它用于查询、插入、更新和删除数据库记录，几乎所有网络应用程序都使用它来访问数据库；]]></description><category></category></item><item><title><![CDATA[SpringBoot有几种获取Request对象的方法]]></title><link>https://blog.youkuaiyun.com/Schengshuo/article/details/160261452</link><guid>https://blog.youkuaiyun.com/Schengshuo/article/details/160261452</guid><author>Schengshuo</author><pubDate>Fri, 17 Apr 2026 23:48:41 +0800</pubDate><description><![CDATA[HttpServletRequest 简称 Request，它是一个 Servlet API 提供的对象，用于获取客户端发起的 HTTP 请求信息。例如：获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了，在 Spring Boot 中，获取 Request 对象的方法有哪些？常见的获取 Request 对象的方法有以下三种：通过请求参数中获取 Request 对象；通过 RequestContextHolder 获取 Request 对象；]]></description><category></category></item></channel></rss>