自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(2337)
  • 资源 (19)
  • 收藏
  • 关注

原创 小工匠聊架构文章一览【不间断持续更新】

文章摘要 本文系统梳理了微服务架构与分布式技术的核心知识体系,包含三大板块: 微服务布道系列:详细解析从单体架构到服务化的演进路径,涵盖服务注册发现、RPC调用、监控追踪等12个核心主题; 分布式理论篇:深入剖析CAP定理、BASE理论、Paxos算法等分布式系统基石理论; 分布式实战篇:聚焦事务、服务、缓存、存储四大场景,提供两阶段提交、TCC模型、热点key治理等20余种解决方案。文中配有清晰的技术架构图,每个主题均附详细技术文章链接,形成完整的技术图谱。

2020-11-12 00:01:55 85731 10

原创 设计模式 - 备忘录模式:实现网页表单自动保存与状态恢复

摘要:表单自动保存的备忘录模式实现 备忘录模式通过"拍照-恢复"机制解决了长表单数据丢失问题。该模式包含三个核心组件:原始对象(表单数据)、备忘录(状态快照)和管理者(保存/恢复逻辑)。在表单场景中,通过深拷贝表单项实现状态保存,确保数据隔离性。关键实现步骤包括:1)设计表单项和表单数据结构;2)创建深拷贝的备忘录对象;3)实现定期自动保存机制;4)处理恢复时的版本冲突。该方案在保证封装性的同时,显著提升了表单填写的容错性和用户体验,适用于保险、医疗等长表单业务场景。

2025-09-01 06:30:00 466

原创 设计模式 - 中介者模式:一个“中间人”优雅地给代码“减负”

摘要:中介者模式通过引入中间协调层(如机场塔台)解决对象间复杂交互问题。文章以机场塔台控制系统为例,展示如何将飞机间的网状通信转变为星型结构:所有飞机仅与塔台交互,由塔台统一协调降落、起飞等请求。该模式包含抽象中介者、具体中介者、组件类等核心角色,能有效降低系统耦合度,提升可维护性。紧急情况下,塔台可优先处理特殊请求,体现了中介者对复杂交互的灵活管控能力。

2025-09-01 04:45:00 459

原创 设计模式 - 观察者模式:优雅地实现‘一个动作,N个响应’

摘要: 本文深入解析观察者模式(Observer Pattern),通过库存管理案例展示其实际应用。该模式通过定义对象间的一对多依赖关系,实现状态变更时自动通知所有依赖对象。核心角色包括Subject(被观察者)、Observer(观察者)及其具体实现。案例中,商品库存变化触发多个系统模块(如商品页、营销系统等)的联动更新,体现了松耦合设计优势。文章对比了观察者模式与发布-订阅模式的区别,并附UML类图说明结构关系,最后探讨了模式的适用场景与最佳实践。

2025-08-31 07:30:00 1279

原创 设计模式 - 状态模式:构建播放器状态机实战 (下)

本文介绍了如何运用状态模式设计视频播放器的状态管理系统。通过分析播放器的核心状态(缓冲中、播放、暂停)与显示模式状态(全屏、小窗)的正交关系,构建了一个灵活的状态机架构。文章详细展示了状态接口的定义与具体实现,包括缓冲中状态、播放状态等关键组件的代码实现,其中缓冲中状态只能通过bufferComplete()转移到播放状态,其他操作无效;而播放状态可以暂停或切换显示模式。该设计有效避免了传统if-else处理状态转换带来的维护困难,为视频播放器开发提供了清晰的解决方案。

2025-08-31 06:15:00 279

原创 设计模式 - 状态模式:构建播放器状态机实战 (上)

状态模式是一种行为设计模式,通过封装不同状态的行为到独立类中,使对象在状态改变时自动切换行为。本文以音乐播放器为例,详细展示了状态模式的实现过程:首先定义抽象状态接口(PlayerState),然后实现具体状态类(PlayingState、PausedState、StoppedState),最后通过上下文类(MusicPlayerContext)管理状态转换。该模式避免了复杂的条件判断,使状态转换更加清晰可维护,特别适合处理对象在不同状态下行为差异较大的场景。

2025-08-30 08:30:00 955

原创 设计模式 - 策略模式:构建灵活的任务调度系统

本文介绍了策略模式在企业级任务调度系统中的应用。策略模式通过定义抽象策略接口(TaskSchedulingStrategy)和具体实现类(优先级调度、轮转调度、最短作业优先等),将算法与使用环境解耦。上下文类(SchedulingContext)持有策略引用,支持运行时动态切换策略。该设计避免了复杂的条件判断,使系统更易扩展和维护。通过任务调度场景的完整代码实现,展示了策略模式如何提升代码的灵活性和可扩展性。

2025-08-30 06:30:00 974

原创 设计模式 - 模板方法:实现同一模板框架下的算法扩展

模板方法模式是一种行为型设计模式,通过定义算法框架并将具体步骤延迟到子类实现,实现代码复用与扩展。其核心结构包含抽象父类(定义算法骨架和模板方法)和具体子类(实现特定步骤)。典型应用场景包括多个类共享相似算法流程、需要统一框架但允许步骤定制的情况,如持续集成发布系统等。该模式遵循"父类控制流程,子类定制细节"原则,既能保持算法结构稳定,又能灵活扩展具体实现。

2025-08-29 06:15:00 1327

原创 设计模式 - 访问者模式:对象级别的矩阵结构实现与实战指南

访问者模式是一种行为型设计模式,它通过将对象结构与操作逻辑分离,实现对稳定对象结构添加新操作而不修改原有类。该模式通过双分派机制(元素accept方法和访问者visit方法)实现运行时动态绑定。核心角色包括Visitor接口、ConcreteVisitor实现类、Element接口和ConcreteElement实现类。典型应用场景包括:需要为稳定对象结构添加频繁变化的操作、处理多种类型对象的统一操作、避免污染对象类代码等。文中通过Java代码示例和路由器系统适配案例,展示了访问者模式如何优雅解决对象操作扩

2025-08-29 05:00:00 1797

原创 设计模式 - 代理模式:优雅地控制和管理对象访问

代理模式:Java开发中的核心设计模式 代理模式是Java开发中应用最广泛的结构型设计模式之一,它通过提供一个替代对象来控制对真实对象的访问。代理模式的核心原理包含三个关键角色:抽象主题接口、真实主题类和代理类。这种模式在分布式系统、资源优化和权限控制等场景中发挥着重要作用。 代理模式的主要优势包括:实现远程对象访问、避免耗时操作阻塞主线程、控制访问权限等。其典型应用场景包括: 虚拟代理:延迟大对象初始化,如大图片加载 保护代理:实现权限控制,如管理员功能访问 远程代理:简化远程服务调用,如Dubbo框架

2025-08-28 06:15:00 693

原创 设计模式 - 享元模式:通过共享对象节省内存

摘要 享元模式是一种结构型设计模式,通过共享对象内部不变的状态(内部状态),结合外部可变状态(外部状态),有效减少内存消耗。该模式包含四个关键角色:享元接口、具体享元类、享元工厂和非共享享元类。其核心在于区分内部状态(可共享)和外部状态(不可共享),适用于系统中存在大量相似对象的场景,如文本编辑器中的字符处理、Java中的Integer缓存等。与缓存模式不同,享元模式主要目标是节省内存而非时间。通过案例演示了享元工厂管理对象池、按需创建/复用对象的实现过程,展示了如何通过该模式优化系统性能。(149字)

2025-08-28 05:15:00 688

原创 设计模式 - 门面模式:如何简化复杂的系统

门面模式:简化复杂系统的统一接口 门面模式是一种结构型设计模式,通过提供统一的高层接口来简化复杂子系统的调用。它包含两个核心角色:门面系统(Facade)负责协调请求分发,子系统(Subsystems)实现具体功能。该模式适用于简化复杂系统(如电商平台)、减少客户端处理的系统数量、扩展原有系统等场景。案例演示了智能家居系统中,通过HomeTheaterFacade门面封装灯光、恒温器和音响系统的操作,客户端只需调用简单方法即可实现"观影模式"等复杂功能。门面模式有效降低了系统间的耦合度,

2025-08-27 06:15:00 1143

原创 设计模式 - 装饰器模式:在不修改现有代码的情况下为对象添加新功能

装饰模式是一种结构型设计模式,它允许在不修改现有代码的情况下动态地为对象添加功能。该模式通过组合而非继承实现扩展,避免了子类数量爆炸问题。核心组件包括:定义行为的Component接口、实现基础功能的具体组件、以及包含Component引用的装饰器抽象类。具体装饰器通过重写方法在调用父类方法前后添加额外功能。装饰模式适用于需要动态扩展或撤销功能的场景,如API接口的加密、压缩功能组合,或者无法通过继承扩展的情况。文中以文件读写器为例,展示了如何通过装饰器动态添加加密和压缩功能,体现了装饰模式的灵活性和扩展性

2025-08-27 00:45:00 819

原创 SpringBoot - 大文件分片上传系统:从原理到实践的完整指南

本文介绍了一种基于SpringBoot的大文件分片上传解决方案。系统采用"化整为零"策略,将大文件分割为多个小块传输,解决了传统单文件上传存在的超时、内存溢出等问题。技术架构包含前端文件选择、MD5计算、分片上传、进度监控等模块,后端采用SpringBoot+MinIO技术栈,支持断点续传、并发传输和秒传功能。文章详细阐述了系统设计、技术选型、核心代码实现及安全机制,包括文件类型验证、HMAC签名验证等,为处理大文件上传提供了完整的技术方案。

2025-08-26 06:45:00 1766 1

原创 OpenSource - 用 Syncthing 打造你的专属去中心化同步网络

Syncthing是一款开源、去中心化的跨平台文件同步工具,支持Windows、macOS、Linux和Android等系统。其核心理念是保障数据主权与隐私安全,通过TLS加密实现端到端保护,避免依赖第三方服务器。项目特色包括P2P同步架构、版本控制、选择性同步及轻量化设计,适合老旧设备或服务器部署。用户可通过交换设备ID快速建立连接,并灵活配置文件夹同步规则。Syncthing在GitHub上获68.7K星,是隐私优先的高效同步解决方案。 开源地址: GitHub

2025-08-26 05:15:00 998

原创 SpringBoot - 轻量级配置热更新方案实战

本文介绍了一种零依赖、轻量级的SpringBoot配置热更新方案,通过结合Java NIO WatchService文件监听和Spring Environment配置管理,实现配置修改后秒级生效。该方案采用事件驱动架构,包含文件监听器、配置刷新处理器、环境更新和属性重新绑定等核心流程,支持无缝替换PropertySource并自动触发@ConfigurationProperties绑定。关键技术点包括:基于操作系统事件的文件监听机制、配置源动态替换、属性重新绑定处理以及事件通知机制。方案具有零外部依赖、实时

2025-08-25 06:30:00 460

原创 Spring Boot - Spring Boot + gRPC 实战指南

本文介绍了Spring Boot与gRPC的集成方案,通过高性能的Protocol Buffers协议提升微服务通信效率。主要内容包括:gRPC相比REST API的优势(二进制序列化、HTTP/2多路复用等);基于.proto文件定义服务接口的流程;Spring Boot项目配置gRPC所需依赖;服务端实现与客户端调用方法;以及REST接口集成方案。文章还提供了完整的技术架构图和Maven配置示例,帮助开发者快速实现高效的微服务通信。

2025-08-25 04:30:00 1140

原创 每日一博 - 使用rsync+lsyncd 打造企业级文件传输利器

摘要: rsync+lsyncd组合为企业级文件同步提供高效解决方案。rsync实现增量传输与断点续传,lsyncd通过inotify机制实时监听文件变动并触发同步,满足实时性、效率与可靠性需求。中心服务器配置rsync服务端接收文件,客户端通过lsyncd监控目录并调用rsync加密传输。最佳实践包括避免同步未写完文件、定时清理源文件及禁用远程删除以防数据丢失。该方案具备高效、稳定、节省带宽及灵活扩展等优势,适用于日志汇总、资源发布等场景。

2025-08-24 06:45:00 888

原创 SpringBoot 实战 - 基于【强加密主存 + HMAC 分片索引】的加密数据模糊查询方案

本文提出了一种敏感信息加密存储与模糊查询的创新方案——分片存储。该方案通过双表设计(主业务表+分片索引表)和双层加密(AES-256-GCM+HMAC-SHA256)实现数据安全与查询效率的平衡。核心原理是将敏感信息切片生成HMAC指纹索引,查询时先匹配索引再回表解密,形成"索引先行,密文回表"的闭环。相比明文匹配、数据库函数解密和ES检索等方案,分片存储在10万到千万级数据场景下,兼具安全性、性能和维护简便性优势,是合规性要求严格的业务场景的理想选择。

2025-08-24 05:30:00 746

原创 LLM - Agent核心架构:四大“身体”部件

Agent核心架构由四大部件构成:1)LLM作为决策中枢,需平衡性能、成本与时延;2)记忆系统包含短期工作记忆和长期经验库;3)工具箱决定Agent的行动能力,需精确设计工具接口;4)驱动循环通过"思考-行动-观察"机制实现任务推进。交互设计需突破传统问答模式,建立分层协作机制,包括目标对齐、计划透明化、关键动作确认和决策可视化。Agent本质是融合目标、能力、记忆与反馈的智能系统,其设计需在功能性与用户体验间取得平衡。

2025-08-23 16:05:17 573

原创 LLM - MCP-powered AI 智能体

本文探讨了基于模型上下文协议(MCP)的新型AI智能体架构,旨在解决现有ReAct模式在复杂任务处理中的三大痛点:记忆断层、工具适配混乱和决策不可追溯。MCP作为协同中枢,通过标准化通信、结构化存储、动态工具发现和决策跟踪四大功能,为智能体提供稳定支撑。文章详细阐述了分层架构设计,包括用户层、MCP客户端/服务端、工具层和存储层,并通过旅行规划案例展示了任务处理流程。该架构显著提升了智能体的开发效率、稳定性和扩展性。

2025-08-23 15:36:17 1122

原创 大模型开发 - MCP客户端与服务端的轻量认证设计与POC实现

本文介绍了MCP系统的API密钥鉴权机制实现。服务端采用拦截器设计,通过X-Api-Key请求头验证客户端身份,未授权访问返回401错误。客户端通过McpSyncClientCustomizer接口实现认证,利用反射机制动态添加请求头。该方案为MCP系统提供了基础安全防护,防止未授权访问敏感数据和服务。

2025-08-22 19:52:01 828

原创 Vibe Coding - CodeBuddy:你的AI编程搭子

CodeBuddy是一款AI编程助手,能通过自然语言指令直接生成高质量代码,大幅提升开发效率。实测显示,用户只需用简单语言描述需求(如用Vue3和Tailwind CSS创建电商商品卡片),系统即可自动生成完整可运行的代码,包含悬停动画等交互效果。该工具特别适合开发者快速生成模块代码、初学者学习编程实现方式,以及非技术人员搭建简单页面。它能处理高频开发场景,如页面搭建、脚本生成和代码调试,将程序员从重复劳动中解放,专注核心业务逻辑。CodeBuddy并非取代开发者,而是作为智能编程伙伴提升工作效率。

2025-08-20 19:16:48 915

原创 大模型开发 - 深入掌握模型上下文协议_通过 MCP 暴露提示词(SyncPromptRegistration )

本文介绍了如何利用Spring AI的MCP(模型上下文协议)支持,在服务端和客户端应用中实现AI工具与提示词的自动发现和使用。MCP标准化了AI模型与外部数据源的交互,解决了客户端重复实现AI工具的问题。通过两个Spring Boot应用示例(person-mcp-service和account-mcp-service),演示了服务端如何通过@Tool注解暴露数据库查询工具,客户端如何自动发现并使用这些工具。服务端配置包含工具注册、端口设置和MCP元数据,客户端则通过依赖注入调用远程工具。这种架构提高了A

2025-08-20 06:30:00 1188

原创 LLM - 借助记忆Memeory-控制Control-规划Planning 实现 AI Agent

本文介绍了如何构建基于MCP(记忆-控制-规划)范式的商业级编程智能体(AI Agent)。MCP范式通过三个核心模块解决传统代码生成工具的局限性:记忆模块建立三层知识体系(短期/长期/外部记忆),控制模块确保代码质量与安全合规,规划模块实现复杂任务的智能拆解与执行。文章还详细阐述了技术架构设计,包括混合模型部署、多模态交互和知识治理,并以Spring AI为例展示了金融API开发智能体的实现方案。这种智能体通过系统化设计,能够像人类开发者一样理解需求、规划任务并持续优化,为企业研发提效提供新范式。

2025-08-20 05:15:00 1212

原创 LLM - AI 的短期记忆STM与长期记忆LTM

本文探讨了人工智能中短期记忆(STM)和长期记忆(LTM)的概念及其应用。短期记忆用于保存临时会话信息,保证对话连贯性;长期记忆则存储用户偏好和习惯,实现个性化服务。文章通过日程管理案例展示了二者的协同:短期记忆处理即时请求,长期记忆提供历史参考。最后指出未来可能发展的动态记忆迁移、多模态记忆等方向。这种记忆系统的结合使AI助手既能快速响应,又能持久"理解"用户需求。

2025-08-19 06:00:00 1859

原创 LLM - MCP协议风险与应对指南_构建端到端的安全体系

MCP协议作为AI生态的标准化接口,在推动大语言模型应用落地的同时,也面临多重安全挑战。本文系统性分析了MCP协议从供应链到运行时的安全风险:供应链环节存在工具描述投毒、代码后门等攻击;运行时面临权限滥用、流量劫持等威胁;终端交互则需防范会话劫持和敏感数据泄露。针对这些风险,文章提出了可信市场审核、精细权限管控、AI网关部署等防御策略,为构建安全可靠的MCP生态系统提供了技术指南。

2025-08-19 05:15:00 1227

原创 LLM - MCP传输协议解读:从SSE的单向奔赴到Streamable HTTP的双向融合

摘要: Model Context Protocol (MCP) 通过优化传输协议提升大模型(LLM)与客户端的交互效率。早期采用SSE(Server-Sent Events)实现单向流式推送,结合HTTP POST实现逻辑双向通信,但面临会话恢复难、长连接资源压力大等痛点。新一代Streamable HTTP通过统一端点、按需流式传输(支持SSE或普通HTTP响应)、引入会话ID(Mcp-Session-Id)实现无状态设计,显著提升兼容性和扩展性,尤其适配云原生架构。其核心改进包括简化协议、增强断线恢复

2025-08-18 20:15:00 1801

原创 Web安全 - 构建安全可靠的API:基于国密SM2/SM3的文件上传方案深度解析

一套基于国密算法(SM2/SM3)的安全文件传输方案,解决分布式系统中身份认证、数据完整性、防重放等核心安全问题。方案通过HTTPS保障传输加密,结合SM3文件摘要校验内容完整性,利用SM2非对称签名实现身份鉴权与防篡改。详细设计了密钥管理、签名生成(A端字典序拼接参数+SM2签名)与验签流程(B端校验nonce、SM3摘要及签名),并覆盖密钥轮换、防DoS等扩展场景。该方案兼顾安全性与易用性,符合国密合规要求,适用于高敏感文件传输场景。

2025-08-18 18:45:00 1059

原创 大模型开发 - Spring AI_统一封装McpRequest和McpResponse

Spring AI框架通过@Tool和@ToolParam注解实现大语言模型调用本地方法的能力。在MCP项目中,三个核心组件协同工作:McpRequest封装请求参数并提供类型安全转换;MCPResponse统一响应格式,支持成功/错误两种状态;BookingServiceFacade作为工具提供者,使用注解暴露方法并处理业务逻辑。典型流程是:AI通过注解识别方法→McpRequest解析参数→BookingService执行业务→MCPResponse封装结果,形成完整的工具调用闭环。该机制通过类型安全、

2025-08-16 06:45:00 995

原创 大模型开发 - Spring AI_MCP Server 基于约定实现动态工具注册

本文介绍了基于Spring AI 1.0.0构建的MCP Server项目,实现智能图书管理服务的技术架构。采用分层设计原则,包括数据模型层、业务服务层、MCP工具门面层和自动化配置层。核心创新点是通过@Tool注解将业务方法暴露为MCP工具,并利用约定优于配置原则实现工具的自动发现与注册。系统提供多维度图书检索、智能推荐等8种查询方式,支持模糊搜索和精确查询,通过@ToolParam注解增强AI理解能力。该架构具有声明式工具定义、参数语义化、调用链路追踪等技术特色,兼顾扩展性和易用性。

2025-08-16 04:45:00 940

原创 大模型开发 - Spring AI 工具调用:`internalToolExecutionEnabled` 的自动与手动模式解析

本文深入探讨了Spring AI框架中internalToolExecutionEnabled参数的核心作用,该参数决定了工具调用流程的控制权归属。手动模式(false)赋予开发者完全控制权,需编写循环逻辑处理工具调用、结果整合和上下文更新,适用于需要精细控制的复杂场景;自动模式(true)则交由框架全权处理,通过单次调用完成所有交互,大幅简化代码但灵活性较低。文章通过代码示例对比两种模式的工作流程,并从流程控制、代码复杂度、调试能力等维度进行详细比较,为开发者根据业务需求选择合适模式提供决策依据。

2025-08-15 06:00:00 1078

原创 大模型开发 - 使用Spring AI和模型上下文协议(MCP)构建智能AI助手 (下)

本文介绍了基于Spring AI和模型上下文协议(MCP)构建智能AI助手的项目架构。项目包含三个核心模块:mcp-server(工具服务端)、mcp-client(基础客户端)和mcp-tool-client(带UI的复杂客户端)。重点解析了mcp-tool-client的分层架构设计,包括前端交互层、业务控制层和服务集成层。通过MCP协议实现AI模型与外部工具的标准化交互,配置文件中详细设定了OpenAI接口、MCP服务连接及开发环境参数。项目演示了如何构建可扩展的AI应用平台,支持工具发现、调用和可视

2025-08-15 04:45:00 1565

原创 Shell - Spring Boot可视化服务管理运维脚本

本文介绍了一套基于Shell的SpringBoot服务可视化管理系统,旨在解决传统部署方式中操作繁琐、状态不明、日志分散等问题。该系统提供彩色终端界面集中管理多服务,支持智能启停、资源监控、日志查看和批量操作功能,并配套自动化部署脚本实现一键发布和安全回滚。通过配置驱动方式管理服务,结合健康检查与状态监控,显著提升了微服务场景下的运维效率和可靠性。文末还提供了完整的脚本实现,适用于单机多服务和小规模集群的管理需求。

2025-08-14 19:51:36 837

原创 大模型开发 - 基于Spring AI 的 MCP Server 开发(中)

本文介绍了MCP协议及其在AI应用开发中的应用。MCP协议作为连接LLM与外部数据源的标准化接口,由Anthropic公司发起并得到行业支持。文章详细解析了MCP Server的角色与功能,包括提供资源、工具和提示三种核心能力,并探讨了基于Spring AI框架开发MCP应用的两种方式:构建MCP客户端或服务器。最后通过图书管理系统案例,展示了如何利用Spring AI的MCP功能实现智能图书查询和推荐服务。该方案将图书服务方法通过@Tool注解暴露为AI可调用的工具,实现了AI与业务系统的深度集成。

2025-08-14 05:45:00 1414

原创 Maven - Spring Boot 项目打包本地 jar 的 3 种方法

本文介绍了在Spring Boot项目中引入本地JAR文件的解决方案。针对无法从仓库获取的第三方JAR,通过<scope>system</scope>声明依赖,配合maven-resources-plugin将JAR复制到BOOT-INF/lib目录,确保打包时能包含在最终的可执行JAR中。方案包含详细配置示例、构建流程图和验证步骤,适用于临时集成、离线部署等场景。同时指出system scope的局限性,建议长期方案应使用本地仓库或私服管理依赖。

2025-08-14 05:00:00 915

原创 Maven - Manual Maven JAR Installation:用 `mvn install:install-file` 安装本地 JAR 的实用指南

摘要: 本文介绍了使用Maven的install:install-file命令手动将本地JAR包安装到Maven仓库的方法。通过解析命令参数(如-Dfile、-DpomFile),说明如何将未发布到公共仓库的第三方库或私有组件(如示例polaris-1.0.jar)注册为本地依赖,并在项目中直接引用。对比其他方案(如system scope依赖)后,提出最佳实践:优先使用pomFile保留完整信息、搭建内部仓库管理团队依赖,并规范命名坐标。适用于临时依赖管理、本地库快速迭代等场景,确保构建灵活性与可复现性。

2025-08-13 20:42:22 606

原创 大模型开发 - 基于Spring AI 借助MCP Client 通过STDIO和SSE协议调用MCP Server (上)

MCP-Client是基于Spring AI框架的模型上下文协议客户端,采用分层架构设计,包含Web控制层、服务层、集成层和工具层。核心功能包括统一工具调用和上下文管理,技术栈基于Spring Boot 3.x和Spring AI。项目采用多模块结构,父工程管理依赖版本,子模块如mcp-client集成Spring Web和OpenAI模型支持。通过Mermaid图表展示了架构设计,并提供了Maven POM配置示例,适用于构建标准化AI应用开发框架。

2025-08-13 04:30:00 857

原创 Redis - 使用 Redis HyperLogLog 进行高效基数统计

摘要:本文介绍了如何在Spring Boot中使用Redis的HyperLogLog(HLL)实现高效基数统计。HLL是一种概率算法,能以约12KB内存估算大规模数据集的唯一元素数量,误差率约0.81%。文章详细讲解了HLL的工作原理、Spring Boot集成Redis的配置方法,并提供了完整的实战示例,包括日活跃用户统计、多日数据合并等功能实现。通过性能测试验证了HLL在10万级数据量下误差率仅0.56%左右,同时分析了适用场景(如用户分析、广告统计)和优化技巧(键名设计、管道批处理)。这种方案特别适合

2025-08-10 19:51:18 998

原创 Zread:把 GitHub 仓库“一键变说明书”的体验与实战指南

摘要: 智谱AI的Zread工具能够一键生成GitHub项目的结构化使用手册,显著提升代码仓库的可读性。该工具通过解析README、代码注释及配置文件,自动生成包含项目概览、安装指南、使用示例等模块的文档,并以目录树和可视化图表优化阅读体验。核心价值在于降低新手上手门槛,但需注意生成内容依赖源码质量,需人工验证步骤准确性。建议将Zread作为文档草稿工具,结合CI流程定期更新,并配套完善注释与示例以实现最佳效果。适用于技术审查、教程编写等场景,是提升开源项目可维护性的实用辅助方案。

2025-08-09 17:47:20 1195 1

Redis 8.0.3 是高性能的 Key-Value 缓存数据库,本版本为社区适配的 Windows 平台编译版本,适用于开发环境或测试用途

Redis 8.0.3 基于官方 Linux 源码移植编译,具有以下特点: 高性能:基于 IOCP(I/O Completion Ports)异步模型,充分利用多核和异步网络能力。 易部署:提供单一可执行文件,无需额外依赖,支持以服务模式运行。 开发友好:与 Linux 版本协议兼容,可在本地 Windows 环境进行功能测试与性能验证。

2025-07-12

版本 8.0.3 国产4种架构 x86arm64loongarchmips

## 8. 通用四种架构支持 ### 8.1 x86(Intel / AMD) * **架构类型**:标准 x86\_64(也兼容 x86\_32,编译时默认关闭 32 位) * **OS 支持**:主流 Linux 发行版(CentOS、Ubuntu、Debian)、Windows(社区版) * **编译选项**: ```bash make BUILD_TLS=openssl CFLAGS="-march=x86-64-v2 -O2" LDFLAGS="" ``` * **优化建议**: * 启用 `jemalloc`:`make BUILD_TLS=openssl MALLOC=jemalloc` * 开启 CPU 指令集优化:`-march=x86-64-v3` 或更高 * 调整 `tcp-backlog`(如 4096)与 `net.core.somaxconn` 系统参数 * **注意事项**: * Windows 社区版仅支持 x86\_64,可用命令行模式或服务模式运行 * 在老旧 CPU(不支持 AES-NI)上,AOF 加密和 SSL 性能会受影响

2025-07-11

国产 四种架构 Keepalived

国产 四种架构 Keepalived

2025-07-11

Redis 7.4.1 Windows 版本

Redis 7.4.1 Windows 版本

2024-10-10

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

Scalable IO in Java

NIO - Scalable IO in Java

2023-11-10

腾讯万亿级 Elasticsearch 架构实践

腾讯万亿级 Elasticsearch 架构实践

2023-07-24

实时分析引擎&实时分析引擎

实时分析引擎

2023-07-24

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除