<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小扳手]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tingfeng__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tingfeng__]]></copyright><item><title><![CDATA[扣子AI：零代码打造治愈奶奶视频工作流]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/162493873</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/162493873</guid><author>Tingfeng__</author><pubDate>Thu, 02 Jul 2026 16:28:45 +0800</pubDate><description><![CDATA[十分钟让你学会使用国内 coze 平台通过工作流的方式，从而快速生成抖音爆火视频]]></description><category></category></item><item><title><![CDATA[LangChain+FastAPI打造全能AI助手]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/162277966</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/162277966</guid><author>Tingfeng__</author><pubDate>Thu, 25 Jun 2026 13:46:15 +0800</pubDate><description><![CDATA[本文介绍了基于LangChain和FastAPI构建的智能体服务框架，整合工具调用、知识检索、记忆管理和提示词模板四大核心模块。系统支持计算器、网页搜索、天气查询等工具调用，基于ChromaDB的RAG知识检索，会话级别的记忆管理，以及7种场景化提示词模板。文章详细阐述了各模块的技术实现，包括分层记忆结构设计、文档分块与向量化存储流程、工具调用机制（function calling）以及流式对话处理。该框架通过ReAct模式实现&quot;思考-行动-观察&quot;循环，支持同步和SSE流式响应，适用于构]]></description><category></category></item><item><title><![CDATA[SpringBootWeb 篇-深入了解 ThreadLocal 存在内存泄漏问题]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/151261639</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/151261639</guid><author>Tingfeng__</author><pubDate>Sat, 06 Sep 2025 21:02:02 +0800</pubDate><description><![CDATA[ThreadLocal的内存泄漏问题及解决方案。ThreadLocal为每个线程提供独立存储空间，其Map结构采用弱引用key以减少泄漏风险，但仍需手动remove清理。在线程池环境下，线程复用会导致ThreadLocalMap持续存在，若不及时清理将引发内存泄漏；而普通线程执行完毕后，ThreadLocalMap会随线程销毁自动回收。文章建议：1）使用后必须remove()；2）静态ThreadLocal实例需特别关注；]]></description><category></category></item><item><title><![CDATA[Web 毕设篇-适合练手的 Spring Boot Web 毕业设计项目：智驿AI系统（前后端源码 + 数据库 sql 脚本）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/148544220</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/148544220</guid><author>Tingfeng__</author><pubDate>Tue, 10 Jun 2025 21:55:16 +0800</pubDate><description><![CDATA[开发工具：IDEA、VScode服务器：Tomcat， JDK 17项目构建：maven数据库：mysql 8.0系统用户前台和管理后台两部分，项目采用前后端分离前端技术：vue3 + elementUI服务端技术：springboot + mybatis + redis + mysql]]></description><category></category></item><item><title><![CDATA[SpringAI 大模型应用开发篇-纯 Prompt 开发（舔狗模拟器）、Function Calling（智能客服）、RAG （知识库 ChatPDF）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/148159269</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/148159269</guid><author>Tingfeng__</author><pubDate>Sat, 24 May 2025 19:11:17 +0800</pubDate><description><![CDATA[本文介绍了大模型应用开发的四种主要技术框架：1. 纯Prompt模式：通过精心设计的提示词工程实现应用功能，详解了指令优化、任务拆解、输出格式控制等核心策略，以及防范提示注入、越狱攻击等安全措施。2. Function Calling模式：结合大模型与传统应用能力，通过定义工具函数实现业务逻辑，以智能客服案例展示了课程推荐与预约系统的完整实现流程。3. RAG模式（检索增强生成）：通过向量模型将知识库内容向量化存储，实现专业知识的检索与回答，包含PDF文档处理、向量数据库应用等技术细节。]]></description><category></category></item><item><title><![CDATA[SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/148142825</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/148142825</guid><author>Tingfeng__</author><pubDate>Thu, 22 May 2025 17:59:06 +0800</pubDate><description><![CDATA[SpringAI是一个基于Spring框架的AI开发工具，专为Java开发者设计，能够与Spring生态无缝集成。与基于Python的LangChain相比，SpringAI更适合使用Spring框架的Java项目。使用SpringAI需要JDK17和SpringBoot 3.x版本，而LangChain4j则支持JDK8。大模型应用开发通过API接口与模型交互，企业可以选择使用开放API、云平台部署或本地部署大模型。SpringAI的配置包括在pom.xml中添加依赖。]]></description><category></category></item><item><title><![CDATA[Java 面试篇-SSM 框架专题（什么是 AOP？Spring 中事务时如何实现的？事务失效的场景？Spring 中循环引用怎么解决？Springboot 的自动配置原理？Spring 常见注解？）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/145545501</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/145545501</guid><author>Tingfeng__</author><pubDate>Mon, 10 Feb 2025 16:16:59 +0800</pubDate><description><![CDATA[AOP，即面向切面编程，在 Spring 中用于将那些与业务无关但对多个对象产生影响的公共行为和逻辑抽取出来，实现公共模块复用，降低耦合。常见的应用场景包括公共日志保存和事务处理。]]></description><category></category></item><item><title><![CDATA[Java 面试篇-MySQL 专题（如何定位慢查询、如何分析 SQL 语句、索引底层数据结构、什么是聚簇索引？什么是非聚簇索引？知道什么是回表查询？什么是覆盖索引？事务的特性、并发事务带来的问题？）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/145509370</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/145509370</guid><author>Tingfeng__</author><pubDate>Sun, 09 Feb 2025 11:18:42 +0800</pubDate><description><![CDATA[可以在 MySQL 的系统配置文件中开启慢查询日志，并设置 SQL 执行时间超过多少就记录到日志文件中，比如说项目设置的是 2 秒，超过这个时间的 SQL 就会记录在日志文件中，我们就可以在日志文件中找到执行慢的 SQL 语句。在使用索引时，遵循索引创建原则，确保索引字段是查询频繁的，使用复合索引覆盖 SQL 返回值，避免在索引上进行运算或类型转换，以及控制索引数量。非聚簇索引则是数据与索引分开存储，B+ 树的叶子节点保存的是主键值，可以有多个非聚簇索引，通常可以自定义的索引都是非聚簇索引。]]></description><category></category></item><item><title><![CDATA[Java 面试篇-Redis 专题（Redis 常见的面试专题：缓存击穿、缓存雪崩、缓存穿透、什么是布隆过滤器、什么是延时双删、持久化的方式、Redis 分布式锁、I/O 多路复用等等）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/145438558</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/145438558</guid><author>Tingfeng__</author><pubDate>Fri, 07 Feb 2025 11:20:41 +0800</pubDate><description><![CDATA[缓存穿透是指查询一个一定不存在的数据，由于存储层查不到数据，因此不写入到缓存中，这将导致这个不存在的数据每次请求都要到 DB 去查询，可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话，一般来说有两种：第一种是缓存空对象；第二种是使用布隆过滤器来解决。布隆过滤器主要是用来检索一个元素是否在一个集合中。当时使用的是 Redisson 实现的布隆过滤器。它的底层原理是，先是初始化一个比较大的数组，里面存放的是二进制 0 或 1。]]></description><category></category></item><item><title><![CDATA[博客之星2024年度-技术总结：技术探险家小板的一年的征程]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/145290544</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/145290544</guid><author>Tingfeng__</author><pubDate>Tue, 21 Jan 2025 21:33:47 +0800</pubDate><description><![CDATA[欢迎来到 2024 年的技术回顾之旅！这一年，我就像一位勇敢的探险家，在技术的广袤世界中穿梭，从数据库的深渊到微服务的云端，从消息队列的迷宫到分布式事务的挑战。这趟旅程充满了惊喜和发现，也伴随着无数次深夜的“啊哈”时刻。今天，就让我们一起回味这段激动人心的技术冒险吧！        想象一下，我们正站在一个神秘的魔法森林前——这就是关系型数据库的世界。在这个充满魔力的地方，每一片树叶都代表着一条记录，每一棵大树都是一个表。而我们的任务是掌握这片森林的秘密，让数据如溪流般顺畅流动。]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解 XXL-JOB 分布式任务调度的具体使用（XXL-JOB 的工作流程、框架搭建）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144719853</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144719853</guid><author>Tingfeng__</author><pubDate>Wed, 25 Dec 2024 17:04:30 +0800</pubDate><description><![CDATA[具体是通过 JobHandler 来确定任务逻辑，指定 @XxlJob("demoJobHandler") 注解中的 demoJobHandler 来确定。启动服务之后，访问 "localhost:8080/xxl-job-admin"，默认端口号是 8080 ，默认的登录账号。定义一个逻辑任务，使用 @XxlJob("demoJobHandler") 注解，使用该注解标记到方法上，且。port：表示当前执行器的端口，主要作用是：给调用中心发送信息给执行器所用到的端口号。]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解 MinIO 文件服务器（你还在使用阿里云 0SS 对象存储图片服务？教你使用 MinIO 文件服务器：实现从部署到具体使用）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144676908</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144676908</guid><author>Tingfeng__</author><pubDate>Tue, 24 Dec 2024 10:07:07 +0800</pubDate><description><![CDATA[MinIO 是一个高性能的对象存储服务器，专门设计用来处理大规模的非结构化数据。它提供与 Amazon S3（简单存储服务）兼容的 API，使得开发人员和运维团队能够轻松实现数据存储和管理。以下是 MinIO 的一些关键特点和概述：        1）高性能：MinIO 具有极高的吞吐量，能够支持大规模的并发请求，适用于需要快速处理大量数据的应用场景，如机器学习和数据分析等。        2）易于部署：MinIO 可以在多种环境中部署，包括本地服务器、虚拟机、容器（如 Docker和 Kubernetes]]></description><category></category></item><item><title><![CDATA[Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目：教室信息管理系统（前后端源码 + 数据库 sql 脚本）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144492225</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144492225</guid><author>Tingfeng__</author><pubDate>Tue, 17 Dec 2024 15:15:36 +0800</pubDate><description><![CDATA[（1）用户信息管理：添加、修改、删除、查询等功能。（2）角色信息管理：添加、修改、删除、查询等功能。(1) 角色信息管理：添加、修改、删除、分配权限等功能。(1) 教室设施信息：添加、修改、删除、查询等功能。（1）教室使用记录：添加、修改、删除、查询等功能。(1) 教室管理：添加、修改、删除、查询等功能。(1) 教师管理：添加、修改、删除、查询等功能。(1) 课程管理：添加、修改、删除、查询等功能。(1) 设施管理：添加、修改、删除、查询等功能。(1) 课程安排：添加、修改、删除、查询等功能。]]></description><category></category></item><item><title><![CDATA[Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目：药品进销存信息管理系统（前后端源码 + 数据库 sql 脚本）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144491503</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144491503</guid><author>Tingfeng__</author><pubDate>Sun, 15 Dec 2024 20:32:36 +0800</pubDate><description><![CDATA[（1）用户信息管理：添加、修改、删除、查询等功能。（2）角色信息管理：添加、修改、删除、查询等功能。(1) 角色信息管理：添加、修改、删除、分配权限等功能。(1) 供应商信息管理：添加、修改、删除、查询等功能。(1) 采购登记管理：添加、修改、删除、查询等功能。(1) 销售记录管理：添加、修改、删除、查询等功能。(1) 退货记录管理：添加、修改、删除、查询等功能。(1) 库存变动管理：添加、修改、删除、查询等功能。(1) 药品管理：添加、修改、删除、查询等功能。对药品进行采购、销售、调整都会进行记录。]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解 Elasticsearch DSL 查询和 RestClient 查询、数据聚合（Bucket 聚合、带条件聚合、Metric 聚合）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144331278</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144331278</guid><author>Tingfeng__</author><pubDate>Wed, 11 Dec 2024 15:09:19 +0800</pubDate><description><![CDATA[导入了大量数据到 Elasticsearch 中，实现了数据的存储。不过查询数据时依然采用的是根据 id 查询，而非模糊搜索。        所以来研究下 Elasticsearch 的数据搜索功能。Elasticsearch 提供了基于 JSON 的 DSL（Domain Specific Language）语句来定义查询条件，其 JavaAPI 就是在组织 DSL 条件。举个例子：        查询所有数据：        以最简单的无条件查询为例，无条件查询的类型是：match_all]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD（Java 客户端连接 Elasticsearch 服务端）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144317465</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144317465</guid><author>Tingfeng__</author><pubDate>Mon, 09 Dec 2024 15:05:01 +0800</pubDate><description><![CDATA[微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD（Java 客户端连接 Elasticsearch 服务端）Index 就类似数据库表，Mapping 映射就类似表的结构。要向 es 中存储数据，必须先创建 Index 和 Mapping 。]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解 Elasticsearch 基础概念、Elasticsearch 倒排索引、IK 分词器（拓展词典）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144315124</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144315124</guid><author>Tingfeng__</author><pubDate>Sun, 08 Dec 2024 15:32:29 +0800</pubDate><description><![CDATA[数据库模糊查询随着表数据量的增多，查询性能的下降会非常明显，而搜索引擎的性能则不
会随着数据增多而下降太多。目前仅 10 万不到的数据量差距就如此明显，如果数据量达到百万、千万、甚至上亿级别，这个性能差距会非常夸张。其次，功能单一数据库的模糊搜索功能单一，匹配条件非常苛刻，必须恰好包含用户搜索的关键字。而在搜索引擎中，用户输入出现个别错字，或者用拼音搜索、同义词搜索都能正确匹配到数据。]]></description><category></category></item><item><title><![CDATA[微服务篇-深入了解 XA 模式与 AT 模式、分布式事务（部署 TC 服务、微服务集成 Seata )]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144256282</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144256282</guid><author>Tingfeng__</author><pubDate>Thu, 05 Dec 2024 11:31:49 +0800</pubDate><description><![CDATA[GlobalTransactional 注解就是在标记事务的起点，将来 TM 就会基于这个方法判断全局事务范围，初始化全局事务。首先，要在配置文件中指定要采用的分布式事务模式。Processing）标准，XA 规范描述了全局的 TM 与局部的 RM 之间的接口，几乎所有主流的数据库。册一下分支事务，属于哪个全局，然后才能去执行业务 sql，sql 执行完后，但是 XA 规范规定 sql。每一个分支事务就是传统的单体事务，都可以满足 ACID 特性，但全局事务跨越多个服务，]]></description><category></category></item><item><title><![CDATA[Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目：智行无忧停车场管理系统（前后端源码 + 数据库 sql 脚本）]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144248425</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144248425</guid><author>Tingfeng__</author><pubDate>Wed, 04 Dec 2024 20:36:07 +0800</pubDate><description><![CDATA[统计相关车辆的信息，使用柱状图和圆饼图来展示出来，会更加直观。用户根据正确的用户名、密码且通过正确的校验码进行登录。10.0 用户信息管理功能。4.0 车辆信息管理功能。6.0 入场登记管理功能。9.0 出场登记管理功能。5.0 停车位管理功能。2.0 用户登录功能。7.0 预约管理功能。8.0 收费规则功能。]]></description><category></category></item><item><title><![CDATA[微服务篇-微服务保护：使用 Sentinel 来实现请求限流、线程隔离、服务熔断和 Fallback 备用方案的使用]]></title><link>https://blog.youkuaiyun.com/Tingfeng__/article/details/144150377</link><guid>https://blog.youkuaiyun.com/Tingfeng__/article/details/144150377</guid><author>Tingfeng__</author><pubDate>Sat, 30 Nov 2024 15:50:39 +0800</pubDate><description><![CDATA[微服务保护的方案有很多，比如：请求限流、线程隔离、服务熔断。这些方案或多或少都会导致服务的体验上略有下降，比如请求限流，降低了并发上限；线程隔离，降低了可用资源数量；服务熔断，降低了服务的完整度，部分服务变的不可用或弱可用。因此这些方案都属于服务降级的方案。但通过这些方案，服务的健壮性得到了提升。]]></description><category></category></item></channel></rss>