<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lifelong learning]]></title><description><![CDATA[总结学习笔记、工作中遇到的问题 也包括自己的随想]]></description><link>https://blog.youkuaiyun.com/weixin_43847283</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_43847283]]></copyright><item><title><![CDATA[国产银河麒麟系统安装mongodb副本集]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/155882767</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/155882767</guid><author>weixin_43847283</author><pubDate>Sat, 13 Dec 2025 11:55:51 +0800</pubDate><description><![CDATA[本文介绍了在麒麟操作系统上部署MongoDB 7.0.6副本集的过程。采用一主两从架构，在两台服务器上部署三个节点（服务器A运行主节点，服务器B运行两个从节点）。详细说明了安装前的准备工作，包括目录结构创建、配置文件编写（包含复制集配置、存储引擎等关键参数）以及启动脚本设置。文章重点描述了集群初始化步骤，包括使用mongosh连接、执行rs.initiate()配置复制集、创建系统用户和数据库用户，并授予集群监控权限。最后通过rs.status()命令验证集群状态，确认主从节点选举成功。]]></description><category></category></item><item><title><![CDATA[基于时间轮实现百万级定时任务]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/150955716</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/150955716</guid><author>weixin_43847283</author><pubDate>Thu, 28 Aug 2025 16:41:27 +0800</pubDate><description><![CDATA[本文介绍了实现消息延迟3分钟推送的5种方案，重点对比了基于内存的本地延迟队列和时间轮算法两种方案。本地延迟队列使用Java的DelayQueue实现简单但性能较低，而Netty的HashedWheelTimer时间轮算法具有O(1)的时间复杂度、固定时间槽和更稳定的延迟表现。最终选择方案5（时间轮算法）作为实现方案，并详细说明了其环形结构设计原理、参数配置优化（512槽位、1秒精度）以及线程池整合策略。文中还提供了Netty时间轮的具体实现代码示例，包括线程池配置和异步任务处理机制，确保系统在高吞吐量下仍能]]></description><category></category></item><item><title><![CDATA[apache commons常用方法]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/150486852</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/150486852</guid><author>weixin_43847283</author><pubDate>Mon, 18 Aug 2025 11:20:29 +0800</pubDate><description><![CDATA[Apache Commons 是一套由 Apache 基金会维护的开源 Java 工具集，包含多个实用组件。主要组件包括：Lang（基本对象操作）、Collections（集合扩展）、IO（文件操作）、Codec（编码处理）等。这些工具简化了开发中常见任务，如StringUtils.isNotBlank()替代空判断、FileUtils.readFileToString()简化文件读取、CollectionUtils.filter()实现集合过滤等。该工具集经过20年生产验证，稳定性高，能有效避免重复造轮子]]></description><category></category></item><item><title><![CDATA[Spring AI Image Model、TTS，RAG]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/148372396</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/148372396</guid><author>weixin_43847283</author><pubDate>Sun, 01 Jun 2025 23:56:01 +0800</pubDate><description><![CDATA[Spring AI Alibaba 适配阿里云通义大模型，为开发者提供国内大模型集成方案。该项目基于Spring Boot 3.x（需JDK17+），包含聊天模型和图像生成功能实现。聊天模型通过ChatClient与DashScope交互，支持上下文记忆和日志记录；图像模型提供统一API抽象，简化不同AI模型的图像生成操作，包括ImagePrompt请求封装和ImageResponse处理。使用前需在阿里云百炼平台申请API密钥。相比Spring AI官网支持的有限模型，Spring AI Alibaba更]]></description><category></category></item><item><title><![CDATA[Spring AI调用Ollama+DeepSeek]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/148372348</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/148372348</guid><author>weixin_43847283</author><pubDate>Sun, 01 Jun 2025 23:53:52 +0800</pubDate><description><![CDATA[Spring AI的聊天模型API为开发者提供了一条便捷通道，能够将强大的AI驱动的聊天完成功能无缝集成到各类应用中。借助预先训练的语言模型，如广为人知的GPT，它能够依据用户输入生成自然流畅、类人化的回复。这一API不仅工作机制高效，而且设计理念极为先进，旨在实现简单易用与高度可移植性，让开发者能以极少的代码改动在不同AI模型间自由切换，充分契合Spring框架一贯秉持的模块化与可互换性原则。]]></description><category></category></item><item><title><![CDATA[Spring AI 核心概念整理]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/148351024</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/148351024</guid><author>weixin_43847283</author><pubDate>Sat, 31 May 2025 12:41:56 +0800</pubDate><description><![CDATA[摘要：本文介绍了AI模型的核心概念与应用技术，包括模型类型（如GPT）、提示工程（Prompt与模板）、嵌入向量（Embedding）的数据表示、Token的计算与经济性、结构化输出处理，以及如何整合外部数据（通过微调、RAG技术和函数调用）。重点探讨了检索增强生成（RAG）的实现流程和函数调用机制如何扩展模型能力，并强调Spring AI框架在简化开发中的作用（如模板渲染、函数调度）。全文系统梳理了AI开发中的关键术语与实践方法。]]></description><category></category></item><item><title><![CDATA[基于netty实现视频流式传输和多线程传输]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/148189283</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/148189283</guid><author>weixin_43847283</author><pubDate>Sat, 24 May 2025 12:07:02 +0800</pubDate><description><![CDATA[多终端设备通过HTTP协议向外部数据服务器发送视频数据，经安全平台中转后传给内部服务器供应用系统使用。主要难点在于高频小包传输效率低：200台设备每秒发送30000个数据包（每包1024字节）。解决方案是客户端批量组包（200包/批次）发送，平衡延迟与吞吐量，类似Kafka的batch.size和linger.ms参数优化思路。数据格式采用固定头+小端序长度字段，服务端通过Netty实现TCP流式传输，使用长度域解码器拆分合并包，并设置队列长度限制（如10000）防止内存溢出。需定期重连以更新认证信息，确保]]></description><category></category></item><item><title><![CDATA[结构体在Java中的应用]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/143213200</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/143213200</guid><author>weixin_43847283</author><pubDate>Thu, 24 Oct 2024 16:46:58 +0800</pubDate><description><![CDATA[Javolution 是一个开源的 Java 库，旨在支持高性能计算 (HPC) 和科学应用。它提供了一系列工具和算法，帮助开发者优化他们的应用程序性能，尤其是在并行处理、内存管理以及数学运算方面。Javolution 特别适合那些对计算性能要求极高的场景，如金融建模、物理仿真、大数据分析等。]]></description><category></category></item><item><title><![CDATA[构建 effet.js 人脸识别交互系统的实战之路]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/143058374</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/143058374</guid><author>weixin_43847283</author><pubDate>Fri, 18 Oct 2024 17:13:00 +0800</pubDate><description><![CDATA[effet.js 是一个轻量级的人脸样式框架，专注于为网页带来生动的面部动画效果。通过简单的API，开发者可以轻松实现眨眼、张嘴、摇头等动态表情，使用户界面更加互动和生动。effet.js 适用于需要增强用户体验的各种应用场景，特别是在前端项目中集成复杂的人脸动态效果。]]></description><category></category></item><item><title><![CDATA[MongoDB高并发性能问题解决方案]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/141535914</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/141535914</guid><author>weixin_43847283</author><pubDate>Mon, 26 Aug 2024 06:00:00 +0800</pubDate><description><![CDATA[MongoDB是一个流行的开源文档型数据库，它使用类似 JSON 的文档模型存储数据，这使得数据存储变得非常灵活。 MongoDB 是一个基于文档的 NoSQL 数据库，由 MongoDB Inc. 开发。 MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。]]></description><category></category></item><item><title><![CDATA[selenium-java自动化教程]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/139559930</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/139559930</guid><author>weixin_43847283</author><pubDate>Sun, 09 Jun 2024 11:59:34 +0800</pubDate><description><![CDATA[Selenium是一个自动化测试工具，可以模拟用户操作web端浏览器的行为，包括点击、输入、选择等。也可以获取交互界面上的指定元素的内的数据，也就是爬虫。]]></description><category></category></item><item><title><![CDATA[C#新语法（持续更新）]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136976370</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136976370</guid><author>weixin_43847283</author><pubDate>Sun, 24 Mar 2024 06:30:00 +0800</pubDate><description><![CDATA[顶级语句、全局using 指令、Using资源管理、文件范围的命名空间声明、可空的引用类型、记录(record)类型]]></description><category></category></item><item><title><![CDATA[EF Core关系配置]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136972114</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136972114</guid><author>weixin_43847283</author><pubDate>Sat, 23 Mar 2024 18:11:22 +0800</pubDate><description><![CDATA[EF Core关系配置一对多、一对多关系数据的获取、获取指定字段、只获取外键id、导航属性、
引用的组织结构树、一对一、多对多、基于关系的复杂查询、有了IEnumerable还要IQueryable、IQueryable的延迟执行
IQueryable的复用、IQueryable底层是如何读取数据的、EF Core中的异步方法如何异步遍历IQueryable、EF Core执行非查询原生SQL语句
执行实体相关查询原生SQL语句、执行任意原生SQL查询语句、EFCore如何跟踪实体数据变化、EF Core优]]></description><category></category></item><item><title><![CDATA[.NET日志系统 NLog、Serilog、exceptionless]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902716</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902716</guid><author>weixin_43847283</author><pubDate>Fri, 22 Mar 2024 08:30:00 +0800</pubDate><description><![CDATA[.NET日志系统 NLog、Serilog、exceptionless]]></description><category></category></item><item><title><![CDATA[.NET EF Core（Entity Framework Core）]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902858</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902858</guid><author>weixin_43847283</author><pubDate>Thu, 21 Mar 2024 11:10:26 +0800</pubDate><description><![CDATA[.NET EF Core（Entity Framework Core）]]></description><category></category></item><item><title><![CDATA[.NET 依赖注入和配置系统]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902381</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136902381</guid><author>weixin_43847283</author><pubDate>Thu, 21 Mar 2024 10:59:29 +0800</pubDate><description><![CDATA[1、依赖注入是有“传染性”的，如果一个类的对象是通过DI创建的，那么这个类的构造函数中声明的所有服务类型的参数都会被DI赋值；但是如果一个对象是程序员手动创建的，那么这个对象就和DI没有关系，它的构造函数中声明的服务类型参数就不会被自动赋值。2、.NET的DI默认是构造函数注入。3、第三方DI容器：Autofac等。Autofac优点：支持属性注入、基于名字注入、基于约定的注入等。]]></description><category></category></item><item><title><![CDATA[LINQ常用扩展方法、委托、Lambda、yield]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136901972</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136901972</guid><author>weixin_43847283</author><pubDate>Thu, 21 Mar 2024 10:51:05 +0800</pubDate><description><![CDATA[LINQ常用扩展方法、委托、Lambda、yield]]></description><category></category></item><item><title><![CDATA[.NET 异步编程(异步方法、异步委托、CancellationToken、WhenAll、yield)]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136858821</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136858821</guid><author>weixin_43847283</author><pubDate>Tue, 19 Mar 2024 23:42:12 +0800</pubDate><description><![CDATA[.NET 异步编程(异步方法、异步委托、CancellationToken、WhenAll、yield)]]></description><category></category></item><item><title><![CDATA[NuGet程序包管理器]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/136792051</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/136792051</guid><author>weixin_43847283</author><pubDate>Sun, 17 Mar 2024 22:34:24 +0800</pubDate><description><![CDATA[NuGet是.NET平台上的包管理器，它可以帮助开发者轻松地安装、更新和卸载第三方库和工具。 NuGet可以提高项目的开发效率和质量，因为它可以让开发者复用已有的优秀的代码，而不需要自己从头编写或者手动管理依赖关系。]]></description><category></category></item><item><title><![CDATA[数据库开发中比较少用的功能]]></title><link>https://blog.youkuaiyun.com/weixin_43847283/article/details/135180157</link><guid>https://blog.youkuaiyun.com/weixin_43847283/article/details/135180157</guid><author>weixin_43847283</author><pubDate>Sat, 30 Dec 2023 07:30:00 +0800</pubDate><description><![CDATA[数据库是结构化信息或数据的有序集合，一般以电子形式存储在计算机系统中。 通常由 数据库管理系统 (DBMS) 来控制。 在现实中，数据、DBMS 及关联应用一起被称为数据库系统，通常简称为数据库。]]></description><category></category></item></channel></rss>