- 博客(234)
- 资源 (3)
- 收藏
- 关注
原创 puppeteer 系列模块的系统性、详细讲解
名称是否带浏览器是否支持插件适用场景puppeteer✅❌快速开发❌❌(需要手动集成)自定义浏览器❌✅插件化抗检测✅(插件)绕过反爬虫检测。
2025-07-28 21:58:21
342
原创 Java中配置两个r2db连接不同的数据库
在实际项目中不可避免的存在使用两个数据库的情况,下面将系统地讲解相关配置方案,包含配置文件、数据库配置类、注解原理、常见错误排查等维度。
2025-07-26 14:35:29
439
原创 Java中缓存的使用浅讲
缓存是提高系统性能的常用手段,但其实现和使用需要根据具体需求来选择合适的缓存类型和工具。在Java中,常见的缓存工具包括本地缓存(如 HashMap、Guava)、分布式缓存(如 Redis)、以及集成式缓存(如 Spring Cache)。通过合理的缓存策略,可以有效减轻数据库负担,提高系统的响应速度。
2025-07-19 21:24:20
868
原创 Spring SseEmitter 系统详细讲解
/ 不超时,或设置时间,如30_000Ltry {i <= 5;i++) {emitter.send("第 " + i + " 条消息");// 关闭连接});.data("这是自定义事件")console.log("收到自定义事件:", event.data);});特性支持情况异步发送✅多用户并发✅超时与关闭管理✅自定义事件类型✅应用场景实时推送、轻量通知。
2025-07-03 21:30:26
604
原创 MCP 协议使用核心讲解
MCP 协议的核心在于:通过结构化的工具定义(tools)、模型调用请求(tool_calls)以及工具结果反馈(tool),实现大模型的可控、结构化、插件化调用闭环。
2025-07-01 22:42:35
366
原创 Lombok 与 Jackson 注解详解(基础 + 深入)
注意:默认 @Builder 生成的是 静态内部类,使用 类名.builder() 调用构建器。实现 Builder 模式,用于优雅地构造对象,特别适合字段多的类,避免构造函数参数混乱。Jackson 不知道如何用 Builder 构造对象。
2025-07-01 21:20:14
432
原创 Three.js 中自定义 UV 坐标贴图详解
该段代码的最终目标是:✅使 XY 平面上的任意不规则几何体,都能准确、完整地显示一张贴图(通常是一张地图或图案)项目内容📌 目的将纹理按照 XY 平面贴满整个面🔧 原理将 XY 坐标归一化为 [0,1] 区间作为 UV🎯 效果保证纹理不变形、无缝、完整地显示🔍 场景地图贴图、建筑贴图、非规则面纹理贴图📐 重点UV 反映的是“纹理坐标”,不是世界坐标。
2025-06-23 22:10:48
1049
原创 算法-栈相关讲解
表示就是后进入的元素,第一个弹出栈空间。类似于自动餐托盘,最后放上的托盘,往往先把拿出去使用。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。如下图所示:先进后出,后进先出。
2025-06-16 22:49:40
447
原创 浏览器实现跨系统交互
技术是否支持跨域优点缺点✅ 是安全、灵活、被广泛支持需要双端配合❌ 否简单跨域受限window.name + 重定向✅ 是旧方案,少见复杂、支持差部分跨域多窗口广播消息跨域支持有限。
2025-06-16 22:40:33
961
原创 图数据库neo4j部分用法浅讲
Neo4j 是基于图结构的数据存储系统,与传统的关系型数据库(如 MySQL、PostgreSQL)不同,它使用节点(Node)、关系(Relationship)和属性(Property)来存储和查询数据。
2025-06-15 15:53:31
1223
原创 IPC(进程间通信)详解
场景推荐 IPC 方式编辑器插件(如 VSCode LSP)stdio或socket网络服务(浏览器通信)WebSocketHTTPsocket容器间通信socket或高速大数据通信semaphore简单脚本交互pipe或stdioIPC 是实现多进程协作的核心机制。不同 IPC 方式适配不同场景:性能、同步、跨主机是主要考量维度。在前后端协作、服务编排、本地 AI 工具调用中,IPC 是不可或缺的基础设施。
2025-06-09 10:54:55
891
原创 本地 IPC(进程间通信)StdioClientTransport 详解
是在本地进程间高效通信场景下非常常见的传输机制。它依赖父子进程之间的 stdin/stdout 管道实现通信,常用于 AI 工具链、编辑器插件、脚本封装、语言服务等场景。它与 SSE/WebSocket 属于完全不同类别—— SSE 用于服务器推送给浏览器,Stdio 是本地 IPC(进程间通信)。
2025-06-09 10:54:10
676
原创 基于 HTTP 的单向流式通信协议SSE详解
✅ 简单、轻量级、易于实现和部署(基于 HTTP)✅ 适合实时监控、系统通知、数据流更新❌ 不适合需要客户端发消息或二进制传输❌ 兼容性上需考虑 IE 或企业内网浏览器情况。
2025-06-09 10:53:03
1392
原创 前端打包工具简单介绍
作用:将打包后的代码拆分成多个小块(chunk),按需加载,提高页面首屏加载速度。Webpack 和 Rollup 都支持动态导入 import(),实现按需加载。Vite 和 esbuild 也支持基于 Rollup 的代码分割。Rspack 和 Rolldown 也具备类似特性。
2025-06-08 18:00:44
1333
原创 算法中队列相关浅讲
分析:传入一组数据集合和设定的数字 number,循环遍历数组内元素,遍历到的元素为指定数字 number 时将该元素删除,直至数组剩下一个元素。队列(Queue)是一种运算受限的线性表,特点:先进先出。
2025-06-07 22:55:32
392
原创 MCP详解及协议的使用(python版本和Node版本)
MCP 是一种统一协议,使得 语言模型(LLM)能以结构化方式与外部系统进行交互,支持多轮、多工具、多模态(文本、图像、音频等)调用。它类似于一种“操作系统中的系统调用协议”,让模型不只是聊天,而是真正地“调用”外部服务。
2025-06-07 22:45:26
1065
原创 更新 Docker 容器中的某一个文件
场景推荐方法临时快速更新docker cp手动测试或调试配置文件经常改动使用-v卷挂载固化到镜像(发布)重建镜像。
2025-06-04 21:33:49
728
原创 Node.js 项目调试指南
调试方式推荐场景难度快速测试低debug日志分类调试中VSCode 调试开发断点、变量跟踪中高命令行调试高winston日志归档、记录中APM 工具生产环境监控高。
2025-06-02 22:02:39
758
原创 Function Calling 与 MCP 的关系详解
Function Calling 是桥梁,MCP 是大脑。模型通过 Function Calling 决定调用 MCP,MCP 实际执行任务并返回结构化结果,再由模型生成用户可读回答。
2025-06-02 16:23:00
458
原创 Node.js 中使用 Express 框架系统详细讲解
{console . log(` ${ req . method } ${ req . url } 时间: ${ new Date() . toISOString() } `);next();// 调用 next 传递控制权 });console . log(` ${ req . method } ${ req . url } 时间: ${ new Date() . toISOString() } `);next();// 调用 next 传递控制权 });
2025-06-02 14:40:52
1242
原创 LLM 使用 MCP 协议及其原理详解
语言 → 工具调用 → 响应 → 再语言化的闭环自动执行链。高扩展性:任意模块可接入低耦合:模型与模块解耦高智能性:语言驱动自动调度。
2025-05-30 15:02:32
998
原创 前端流式接收数据讲解
传统方式:前端发起请求,后端准备好完整数据后一次性返回。流式方式:后端逐步返回数据片段(chunk),前端逐块接收和处理,实现边接收边处理。技术单向/双向控制能力浏览器支持用例单向强新版浏览器AI回答、实时日志等单向中较好(除IE)消息推送、状态通知WebSocket双向强好聊天、游戏、协同编辑单向很强较新浏览器分段解析、关键词处理等。
2025-05-30 14:03:59
1605
原创 JavaScript 中 this 指向详解
调用方式this 指向普通函数全局对象(非严格);undefined(严格)对象方法该对象箭头函数定义时的外层作用域构造函数(new)新创建的实例对象显式传入的对象事件监听器(function)触发事件的 DOM 元素事件监听器(箭头)外层作用域全局对象class 方法调用者(需手动绑定)
2025-05-27 21:20:12
501
原创 在vue中重复组件导入简化方案
方法优点使用场景支持 Options API支持 Setup API简单、常用Options API 项目✅❌插件注入模块化清晰中大型项目✅❌自动导入插件零导入体验现代组合式项目(Vite)❌✅封装 composables更符合组合式风格通用✅(手动引入)✅。
2025-05-25 17:14:50
548
原创 python中Web框架Flask vs FastAPI 对比分析
如果你刚入门 Python Web 开发,或者项目比较简单,推荐使用Flask。如果你追求性能开发效率高自动化文档,且能接受一定的学习曲线,推荐使用FastAPI。团队开发/协作场景中,FastAPI 的数据校验和文档优势明显。
2025-05-24 21:49:17
1756
原创 页面实现渲染大量 DOM 元素
虚拟列表是一种按需渲染技术。你只渲染当前屏幕中可见的元素,其他元素并不会真实存在于 DOM 中。这样即使你有 100 万个数据项,页面中也只存在几十甚至更少的 DOM 节点方案渲染性能用户体验DOM 数量优点缺点setTimeout分批渲染中等容易卡顿高实现简单容易丢帧,主线程阻塞较好比较平滑高更流畅DOM 太多仍然卡虚拟滚动✅非常好极为流畅极低性能极佳,真实可用实现稍复杂,需要计算映射关系非常好非 DOM 场景0可视化强,不卡顿。
2025-05-24 20:44:23
1115
原创 数据库事务浅讲
若此时 Connection 没有被关闭,还可能被重复使用,则需要恢复其自动提交状态 setAutoCommit(true)。尤其是在使用数据库连接池技术时,执行 close()方法前,建议恢复自动提交状态。Mysql 支持 4 种事务隔离级别。【案例:用户 AA 向用户 BB 转账 100】
2025-05-18 20:54:30
686
原创 向量数据库Qdrant多向量插入和查询
创建一个支持多个向量字段的集合(collection),其中每个字段都支持指定维度和相似度计算方式。字段名向量维度相似度方式test1例如 384Cosine 相似度test2例如 384Cosine 相似度test3例如 384Cosine 相似度。
2025-05-14 13:40:51
851
原创 编译后的js文件如何跟进调试
打开 DevTools → Sources 面板找到对应 .js 文件,点击 {}(Pretty Print) 格式化代码虽然变量名可能混淆了,但仍可以设置断点、查看调用栈、变量值等。
2025-05-10 21:48:08
367
原创 JS较底层的用法,几类简单介绍
本文介绍了JavaScript中一些较为底层的用法和特性,这些特性虽然不常用于日常开发,但对理解语言原理、优化性能或构建框架和库非常重要。主要内容包括: 对象属性底层操作:通过Object.defineProperty()定义属性的细粒度行为。 原型链控制:使用Object.create()和手动设置__proto__来控制原型链。 拦截对象操作:利用Proxy和Reflect拦截和自定义对象操作。 函数底层机制:通过call、apply和bind改变函数的执行上下文。 作用域与闭包:理解闭包和作用域链的底
2025-05-10 21:26:13
809
原创 在js中大量接口调用并发批量请求处理器
每个 worker 会不断从共享的 this.index 中取任务,直到任务取尽。调用 _requestWithRetry() 尝试处理该项。如果请求失败,则根据剩余重试次数,指数退避式延迟后重试。最多重试 retry 次,失败则抛出错误交由上层处理。启动多个“工人(worker)任务”并行处理数据。更新完成数量,并触发进度回调。从共享索引中取出当前任务项。可选的节拍等待,避免请求过快。处理完成或失败后记录结果。
2025-05-09 21:29:50
495
原创 二叉树的基本操作
二叉树的图长这样:二叉树是每个结点最多有两个子树的树结构,常被用于实现二叉查找树和二叉堆。二叉树是链式存储结构,用的是二叉链,本质上是链表。二叉树通常以结构体的形式定义,如下,结构体内容包括三部分:本节点所存储的值、左孩子节点的指针、右孩子节点的指针。当然,我们也可以为我们的的树节点结构体重新定义一下名字,使用 C 语言中的 typedef 方法就可以了。
2025-05-08 20:53:53
1481
逐条请求 + 并发控制 + 重试 + 节拍式延迟
2025-05-09
在eclipse中关于arcgis for Android的配置
2017-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人