<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luosuss的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luosuss</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luosuss]]></copyright><item><title><![CDATA[大规模语言模型预训练全链路深度解析：从语料工程到自回归推断]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/159616668</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/159616668</guid><author>luosuss</author><pubDate>Sun, 29 Mar 2026 20:02:59 +0800</pubDate><description><![CDATA[本文系统梳理了大规模语言模型（LLM）预训练的核心技术流程，涵盖语料工程、子词分词、Transformer训练及推断策略四大模块。重点解析了多级语料治理Pipeline（URL过滤、正文提取、去重等）、BPE分词算法原理、基于Transformer的自监督训练范式，以及温度调节和Top-p采样等推断技术。通过GPT-2和LLaMA3.1等实例，揭示了从原始数据到BaseModel的完整转化过程，并指出BaseModel需经后训练才能成为对话助手。全文兼具算法深度与工程实践视角，为LLM预训练提供了系统性技术]]></description><category></category></item><item><title><![CDATA[动态配置中心的搭建]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/155751921</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/155751921</guid><author>luosuss</author><pubDate>Tue, 09 Dec 2025 20:22:59 +0800</pubDate><description><![CDATA[本文实现了一个基于Spring Boot的动态配置中心系统，通过Redis实现配置的集中管理和实时更新。系统包含以下核心功能： 启动时配置注入：通过实现BeanPostProcessor接口，在Bean初始化后检查@DDCValue注解字段，从Redis获取配置值或使用默认值初始化。 运行时动态更新：通过监听Redis消息通道，当配置变更时自动更新相关Bean的字段值。 配置管理：使用Redisson客户端与Redis交互，实现配置的存储、读取和发布订阅功能。 多系统隔离：通过属性类区分不同应用的配置，确保]]></description><category></category></item><item><title><![CDATA[Agent表设计]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/155713949</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/155713949</guid><author>luosuss</author><pubDate>Mon, 08 Dec 2025 21:08:33 +0800</pubDate><description><![CDATA[本文介绍了构建AI智能体系统的数据库设计和实现方案。系统采用分层架构设计，包括API配置层(ai_client_api)、模型配置层(ai_client_model)、工具配置层(ai_client_tool_mcp)、客户端配置层(ai_client)和智能体层(ai_agent)。通过关联表(ai_client_config)实现各层间的灵活组合，支持动态配置AI智能体的功能组件。系统支持多数据源配置，包括MySQL和PostgreSQL向量数据库，为AI智能体提供数据存储和检索能力。实现方案包含完整的]]></description><category></category></item><item><title><![CDATA[SpringAI]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/150011320</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/150011320</guid><author>luosuss</author><pubDate>Thu, 07 Aug 2025 22:24:40 +0800</pubDate><description><![CDATA[SpringAI技术应用摘要 本文详细介绍了使用SpringAI框架整合大语言模型(LLM)的技术实现方案，主要包括以下核心功能： 基础对话功能：通过ChatClient实现普通对话和流式对话两种交互方式，支持JDK21和SpringBoot3.3.8环境配置 增强功能： 日志记录(SimpleLoggerAdvisor) 对话记忆(MessageChatMemoryAdvisor) 会话历史管理(InMemoryChatHistoryRepository) 高级应用： Function Calling技术]]></description><category></category></item><item><title><![CDATA[nexus的使用]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/146248533</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/146248533</guid><author>luosuss</author><pubDate>Fri, 14 Mar 2025 14:52:16 +0800</pubDate><description><![CDATA[仓库默认代理的是maven的中央仓库，这里会管理从中央仓库下载下来的依赖。]]></description><category></category></item><item><title><![CDATA[mysql的锁--＞一篇读懂所有锁机制]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/146162078</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/146162078</guid><author>luosuss</author><pubDate>Mon, 10 Mar 2025 22:52:31 +0800</pubDate><description><![CDATA[全局锁表级锁：表锁 意向锁 元数据锁 AUTO-INC锁行级锁：记录锁，间隙锁，next-key锁(记录锁加间隙锁)意向锁和行锁是息息相关的，我们在对行数据进行加锁时，会先产生一个表级别的意向锁，共享读行锁产生意向共享锁，排斥写行锁产生意向排斥锁。意向锁之间也不会发生冲突意向共享锁读可以兼容共享读表锁，与排斥写表锁不兼容（读读锁共享）意向排斥写锁与共享读表锁不兼容，与排斥写表锁不兼容（写读锁不共享，写写锁不共享）]]></description><category></category></item><item><title><![CDATA[分布式日志和责任链路]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145970005</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145970005</guid><author>luosuss</author><pubDate>Sun, 02 Mar 2025 22:18:42 +0800</pubDate><description><![CDATA[GrayLog是一个轻量型的分布式日志管理平台，一个开源的日志聚合、分析、审计、展示和预警工具。在功能上来说，和 ELK类似，但又比 ELK要简单轻量许多。依靠着更加简洁，高效，部署使用简单的优势很快受到许多公司的青睐。其基本框架如图：基本思路就是每一个微服务把自己的日志发送给GrayLog然后将日志数据存入mongoDB或者es中，最后提供一个浏览器进行操作微服务中的GrayLog客户端发送日志到GrayLog服务端GrayLog把日志信息格式化，存储到Elasticsearch。]]></description><category></category></item><item><title><![CDATA[物流信息的二级缓存]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145936413</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145936413</guid><author>luosuss</author><pubDate>Fri, 28 Feb 2025 22:50:49 +0800</pubDate><description><![CDATA[由上图可以看出，在用户的一次请求中，可以设置多个缓存以提升查询的性能，能够快速响应。浏览器的本地缓存使用Nginx作为反向代理的架构时，可以启用Nginx的本地缓存，对于代理数据进行缓存如果Nginx的本地缓存未命中，可以在Nginx中编写Lua脚本从Redis中命中数据如果Redis依然没有命中的话，请求就会进入到Tomcat，也就是执行我们写的程序，在程序中可以设置进程级的缓存，如果命中直接返回即可。如果进程级的缓存依然没有命中的话，请求才会进入到持久层查询数据。]]></description><category></category></item><item><title><![CDATA[hutool工具类的DateUtil和LocalDateTimeUtil]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145862034</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145862034</guid><author>luosuss</author><pubDate>Tue, 25 Feb 2025 21:53:39 +0800</pubDate><description><![CDATA[这里可以直接使用DateUtil工具类的parse方法解析这个日期字符串对象，我们进入源码查看，可以发现可以解析四种类型的数据。：推荐在需要精确日期时间操作、格式化或需要与 Java 8 及以上版本的新日期时间 API 集成的场景中使用。同时包含日期和时间信息，但功能较为有限，且存在一些设计上的缺陷（如月份从 0 开始）。它是不可变的、线程安全的，并且专注于本地日期和时间（不包含时区信息）。包中的一个类，属于新的日期时间 API（JSR-310）。是 MySQL 中用于存储日期和时间的字段类型，格式为。]]></description><category></category></item><item><title><![CDATA[spring-data-mongoDB]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145773742</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145773742</guid><author>luosuss</author><pubDate>Mon, 24 Feb 2025 21:23:23 +0800</pubDate><description><![CDATA[这里介绍以下spring-data-mongoDB的用法。]]></description><category></category></item><item><title><![CDATA[MongoDB]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145763811</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145763811</guid><author>luosuss</author><pubDate>Fri, 21 Feb 2025 11:32:16 +0800</pubDate><description><![CDATA[MongoDB是一个基于分布式文件存储的数据库由C++语言编写，旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品，是非关系数据库当中功能最丰富，最像关系数据库的。它支持的数据结构非常松散，是类似json的bson格式，因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大，其语法有点类似于面向对象的查询语言，几乎可以实现类似关系数据库单表查询的绝大部分功能，而且还支持对数据建立索引。]]></description><category></category></item><item><title><![CDATA[id生成系统和mp条件简化]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145704759</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145704759</guid><author>luosuss</author><pubDate>Tue, 18 Feb 2025 19:02:33 +0800</pubDate><description><![CDATA[Leaf 取号段的时机是在号段消耗完的时候进行的，也就意味着号段临界点的ID下发时间取决于下一次从DB取回号段的时间，并且在这期间进来的请求也会因为DB号段没有取回来，导致线程阻塞。如果请求DB的网络和DB的性能稳定，这种情况对系统的影响是不大的，但是假如取DB的时候网络发生抖动，或者DB发生慢查询就会导致整个系统的响应时间变慢。现在我们的业务需要生成特定格式的id，如生成一个运单id，需要加HL(前缀)+13个数字 ，显然雪花算法生成的19为数字id是不符合的，所以我们使用美团leaf。]]></description><category></category></item><item><title><![CDATA[JSONObject,TreeUtil,EagelMap,BeanUtil使用]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145640108</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145640108</guid><author>luosuss</author><pubDate>Sat, 15 Feb 2025 15:11:39 +0800</pubDate><description><![CDATA[在将transportLine的成员变量的值拷贝给transportLineDate数据时，不会把transportLine值为空的成员变量进行拷贝，也不会把值覆盖到transportLineDate原来的type，startOrganId，startOrganName，endOrganId，endOrganName。获取数组类型的值，使用getJSONArray()方法，然后获取下标为0的值，并且强转为JSONObject类型。获取boolean类型的值，使用getBool()方法。]]></description><category></category></item><item><title><![CDATA[封装neo4j的持久层和服务层]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145620770</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145620770</guid><author>luosuss</author><pubDate>Fri, 14 Feb 2025 18:59:22 +0800</pubDate><description><![CDATA[这里指定泛型为AgencyEntity类，和id属性为Long类AgencyEntity类是与neo4j中AGENCY标签一一对应的实体类通过实现getAgencyType()抽象方法来区别不同的机构实体类/*** 网点数据操作*/@Data@Override@Data@Id@ApiModelProperty(value = "父节点id", required = true)@ApiModelProperty(value = "业务id", required = true)]]></description><category></category></item><item><title><![CDATA[Spring Data Neo4j使用]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145589625</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145589625</guid><author>luosuss</author><pubDate>Thu, 13 Feb 2025 10:36:01 +0800</pubDate><description><![CDATA[我们现在可以发现基础已经提供好的curd很少，我们也可以自定义一些简单一些的操作。JPA自定义方法规则只要我们在接口中所写的方法名字与下表中的格式一致，neo4j也会自动帮我们生成cql语句KeywordSampleAfterBeforeInBetweenEndingWithExistsTrueFalseIsNotNullNullLessThanLikeNotLikeNearRegexAndOr。]]></description><category></category></item><item><title><![CDATA[Neo4j入门]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145538158</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145538158</guid><author>luosuss</author><pubDate>Wed, 12 Feb 2025 10:12:13 +0800</pubDate><description><![CDATA[Neo4j是用Java实现的开源NoSQL图数据库。从2003年开始开发，2007年正式发布第一版，其源码托管于GitHtb。Neo4j作为图数据库中的代表产品，已经在众多的行业项目中进行了应用，如：网络管理、软件分析、组织和项目管理、社交项目等方面。Neo4j实现了专业数据库级别的图数据模型的存储，提供了完整的数据库特性，包括ACID事务的支持、集群的支持、备份和故障转移等。]]></description><category></category></item><item><title><![CDATA[xxl-job的分片广播]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145530209</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145530209</guid><author>luosuss</author><pubDate>Sun, 09 Feb 2025 14:24:53 +0800</pubDate><description><![CDATA[XXL-JOB是一个分布式任务调度平台，其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线，开箱即用。]]></description><category></category></item><item><title><![CDATA[工厂模式+枚举类的json序列化+redisson的使用]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145500266</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145500266</guid><author>luosuss</author><pubDate>Fri, 07 Feb 2025 21:41:37 +0800</pubDate><description><![CDATA[我们如何写这个程序呢，一般的方法肯定就是使用(if-else if)的方式进行判断使用哪一种应用进行学些，这是一种很简单的方式，但是如果我们又添加了几种学习方式呢，如大学搜题酱等，我们又得在原有代码上进行添加(else if)操作，这样就显得十分麻烦，且需要频繁的去修改原有的代码。redisson加的锁的value是一个hash结构，大key是我们自己定义的，用来区别不同的锁，而小key是生成的客户端uuid+线程id，value值就是加锁的次数。最后就可以返回具体的学习方式进行的学习操作的处理器。]]></description><category></category></item><item><title><![CDATA[实现支付宝easy-sdk和微信支付功能以及异步通知]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/145444543</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/145444543</guid><author>luosuss</author><pubDate>Wed, 05 Feb 2025 13:48:14 +0800</pubDate><description><![CDATA[2、后台通知交互时，如果微信收到商户的应答不符合规范或超时，微信会判定本次通知失败，重新发送通知，直到成功为止（在通知一直不成功的情况下，微信总共会发起多次通知，通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m）这里通知发送可能会多台服务器进行发送，且发送时间可能会在几秒内，但微信不保证通知最终一定能成功。body 异步接收微信支付结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。]]></description><category></category></item><item><title><![CDATA[使用支付宝通用sdk在沙箱环境下完成支付交易]]></title><link>https://blog.youkuaiyun.com/luosuss/article/details/144276725</link><guid>https://blog.youkuaiyun.com/luosuss/article/details/144276725</guid><author>luosuss</author><pubDate>Tue, 04 Feb 2025 18:37:19 +0800</pubDate><description><![CDATA[为什么不可逆：因为不同数的哈希值可能相同，导致哈希冲突，所以哈希值不可逆（如，3和9的模三都是0），因此使用哈希算法加密后的数据只能通过匹配的方法来判断数据是否相同。，Hutool是一个Java工具包类库，对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装，组成各种Util工具类。这种加密算法通常用于数据库中存放的支付密码数据，对支付密码数据进行不可逆加密，这样一来及时数据库泄露，支付密码数据也不会被解密出来。例如，在 HTTPS 中，服务器的公钥用于加密客户端生成的对称密钥。]]></description><category></category></item></channel></rss>