自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Skill从零开始

来看一段官方(Anthropic)的解释:意思:skill是Anthropic官方发布的一套跨平台可移植性的开放标准原文链接:https://claude.com/blog/equipping-agents-for-the-real-world-with-agent-skills?Skill是一个被标准化封装、可被 AI Agent 主动调用,用于完成特定任务的能力单元翻译成人话『Skill 是给AI Agent写的一份说明文档』

2026-03-26 10:44:02 519

原创 RAG从零开始

RAG的本质,就是给大语言模型配一个外部知识库,让它不再依赖训练时的记忆,而是实时查阅资料后作答。现在市面上所有主流AI应用(如企业知识库、智能客服、AI搜索)背后几乎都有RAG的影子。核心流程:检索 → 增强 → 生成核心组件:嵌入模型 + 向量数据库 + LLM核心价值:Token消耗减少、实时更新、可解释RAG的架构深处,藏着比技术更深的生存智慧——检索、增强、生成,这何尝不是我们面对人生时的那套隐秘算法?

2026-03-25 15:24:40 438

原创 MCP从零开始

MCP(ModelContextProtocol)是一个为大型语言模型(LLM)提供外部工具和数据访问的开放标准协议。它通过JSON-RPC 2.0规范实现标准化通信,使用stdio或HTTP作为传输方式,使LLM能够执行代码、处理文件、访问实时数据等操作。MCP包含初始化、工具发现和工具调用三个核心流程,通过SDK简化开发。该协议突破了LLM的固有局限,使其从封闭系统转变为可扩展的智能服务。技术实现上演示了基于Node.js的MCP服务开发,包括工具注册、方法调用和错误处理等关键环节,最终展示了与AI应用

2025-11-22 16:02:09 1279

原创 node事件循环

Node.js 事件循环机制解析:单线程异步任务处理的核心机制。文章详细介绍了事件循环的6个阶段(timers、pending、poll等),任务队列分类(宏任务、微任务、process.nextTick),以及各阶段的执行顺序和特点。重点比较了setTimeout与setImmediate的执行差异,process.nextTick的特殊优先级,以及Node与浏览器事件循环的关键区别(阶段划分、任务类型、微任务处理等)。通过具体代码示例,展示了不同任务的执行优先级规则,帮助开发者深入理解Node.js的异

2026-05-03 16:03:53 389

原创 一把锁的故事

三年前,他在那个网站上发现了一扇没锁的门——用户主页能塞脚本,过滤不严。他把一串代码藏进自己主页,每个访客都会自动加他好友,代码还会复制到访客的主页上。不是撬锁——有人给银行职员发了封邮件,里面藏着一张看不见的图片,图片地址指向银行转账接口。以后想进仓库,光有钥匙不行,得报出当天数字——这数字只写在他和伙计的脑子里。他又想起更阴险的一种:网站页面的JavaScript从网址里读参数,直接写进网页,服务器全程不知情。他见过这种把戏:链接里的坏东西提交给服务器,服务器原封不动塞回页面,浏览器就执行了。

2026-04-20 17:24:24 187

原创 react19的新特性

任何存在组件重渲染性能瓶颈的 React 应用,尤其是大型列表过滤、复杂计算、深层组件树等场景,效果显著。通过 props 层层传递到表单内部控件的问题,让输入框、按钮等子组件可以直接读取表单的 pending 状态,从而实现更优雅的加载态展示。典型场景是搜索过滤:用户在输入框输入关键词,输入框自身的值更新是高优先级的(保证打字不卡顿),而根据关键词过滤大数据列表的操作放在。,这是一种基于控制流图(CFG)构建的内部表示,比传统的抽象语法树(AST)更能描述代码的执行逻辑。注意,如果你的组件需要。

2026-04-08 22:44:12 428

原创 从零手写mini-react

的作者,他用不到 300 行代码加上优雅丝滑的动画效果,把 React 内核讲得清清楚楚。这篇博客沿袭了他的思路,并引用了部分原文内容。遵循真实React代码的架构,但没有所有优化和非必需功能,一步步打造出 MiniReact。说明:本项目是对 React 极简化版的实现。真实 React 拥有合成事件、优先级调度、并发特性、服务端渲染等工业级能力,MiniReact 仅聚焦最核心的设计思想。

2026-04-07 21:40:02 458

原创 从零手写mini-vite

本文介绍了如何从零开始手写一个简化版 Vite (mini-vite),重点解析了 Vite 的核心原理。文章首先概述了 Vite 的工作流程,包括配置加载、依赖预构建和热更新等关键步骤。随后详细展示了实现过程:通过 esbuild 进行依赖预构建、处理裸模块导入的路径重写、创建 HTTP 服务器处理请求等。代码示例涵盖了配置合并、缓存目录创建、依赖预构建等核心功能实现,帮助开发者深入理解 Vite 如何利用浏览器原生 ESM 实现快速开发和构建。项目代码已开源,可作为学习现代前端构建工具原理的实践参考。

2026-04-04 14:11:50 425

原创 Function Calling 从零开始

OpenAI Function Calling 是一种让大语言模型与外部系统交互的技术,通过结构化函数调用实现数据获取。核心流程包括:用户提问→模型判断需调用函数→返回函数名和参数→应用执行函数→回传结果→模型生成最终回答。代码演示展示了如何定义天气查询工具,并通过多步对话完成请求处理。该技术扩展了模型能力,使其能访问实时数据并执行复杂任务。

2026-04-02 15:59:00 437

原创 从零开始手写mini-webpack

本文介绍了一个从零手写的mini-webpack实现,通过解析模块依赖关系构建依赖图谱,将ES6代码转换为ES5。核心步骤包括:读取文件内容、构建AST语法树、收集依赖模块、代码转换、生成依赖图谱。该项目简化了Webpack的核心流程,使用Babel工具链处理代码转换,最终输出模块的ID、代码、路径和依赖关系。完整代码已开源,帮助开发者理解Webpack的工作原理。

2026-04-01 19:55:47 437

原创 Transformer的核心——注意力机制

让每个词通过Q、K、V的分工协作,找到和自己最相关的词,按重要程度提取信息,最终读懂上下文,支撑模型完成理解、生成等任务。输入X(词嵌入向量)→ 分别乘以3个差异化可学习矩阵 → 得到Q、K、V→ 算匹配度、缩放、归一化 → 按比例提取V的核心内容 → 输出融合了上下文的新表示再次提醒:文中用到的 W^Q 、W^K 、W^V是我们手动模拟出来的,只是为了演示。真实场景中,这些学习矩阵是模型自己从海量数据里学出来的,会根据任务自动调整。

2026-03-30 16:48:37 411

原创 HTTP的血泪进化史

HTTP 的进化史,就是一部不断将“队头阻塞”从应用层推向传输层,最终在传输层彻底解决的历史。版本队头阻塞位置核心解决手段遗留的“世纪难题HTTP/1.1应用层持久连接、管道化(失败)响应必须按序返回,导致慢请求阻塞所有请求。HTTP/2传输层二进制分帧、多路复用基于 TCP,一个数据包丢失,阻塞整个连接上的所有流。HTTP/3无基于 UDP 的 QUIC 协议QUIC 流独立多路复用,一个流的丢失不影响其他流。彻底解决!

2025-11-22 22:59:02 927 2

原创 BFC—块级格式化上下文

BFC(块级格式化上下文)是CSS中解决布局问题的关键机制,它创建独立渲染区域隔离内外元素的影响。BFC能解决高度塌陷、外边距合并和浮动元素重叠三大经典问题。触发方式包括设置浮动、定位、溢出属性或特定display值,推荐使用副作用最小的display:flow-root。BFC的应用哲学体现了"边界带来自由"的东方智慧,暗示人生也需要建立清晰界限来实现内在秩序。这种技术概念与精神修养的类比,揭示了在数字与现实中构建自洽系统的重要性。

2025-11-09 20:48:40 986

原创 彻底打通任督二脉:JavaScript 执行上下文、作用域与 this 指向的底层机制深度剖析

本文深度剖析了JavaScript中执行上下文、作用域与this指向的底层机制。执行上下文(EC)是代码执行时的核心对象,包含词法环境、变量环境和ThisBinding三个组件。词法环境实现静态作用域规则,通过[[Environment]]属性形成作用域链。变量环境处理var变量提升,而this绑定根据调用方式动态确定。文章通过对象结构模拟和图示,展现了全局函数调用时这些机制的运作过程,最终通过代码示例追踪变量查找和this指向的实际变化,帮助开发者彻底理解JavaScript的底层执行原理。

2025-11-05 20:33:34 952

原创 TCP三握四挥&TLS握手

摘要:本文深入解析TCP与TLS协议的握手机制。TCP通过三次握手建立可靠连接(同步序列号,验证收发能力),四次挥手优雅关闭(支持半关闭特性)。TLS1.2需四次往返完成身份验证和密钥协商,而TLS1.3优化为一次往返,强制前向保密并移除不安全特性。这些协议设计体现了网络通信在可靠性、安全性和效率之间的精妙平衡,其严谨的交互逻辑蕴含着超越技术层面的生活智慧,展现了在数字时代建立信任的仪式感与边界意识。

2025-11-05 14:27:41 1182

原创 从零实现React Scheduler调度器

本文介绍了React团队开发的Scheduler任务调度器,通过生动类比(如"厕所排队")解释其核心原理。Scheduler采用五级优先级系统(ImmediatePriority到IdlePriority),使用最小堆管理任务队列,实现时间切片(默认5ms)调度机制。核心功能包括:优先级任务调度、任务中断/恢复、主线程让出等。文章从零实现调度器,包含14个模块:优先级定义、最小堆、时间工具、状态管理、工作循环等,完整还原了React Scheduler的核心逻辑。该调度器能有效解决前端应

2025-10-31 22:13:34 1081

原创 JS 原型与继承——看完不会你报警

这篇文章用生动直白的语言解析了JavaScript原型链的核心概念。作者首先明确区分了__proto__(对象的原型指针)、prototype(构造函数原型对象)和原型链的本质,然后详细讲解了new操作符的四步执行过程,并手动实现了一个模拟new的函数。文章重点分析了五种继承方式的优缺点,特别推荐了"寄生组合继承"和ES6的extends语法。最后通过几道典型题目验证理解,承诺"如果看完还不懂就报警"。全文用幽默风格将复杂的原型概念具象化,既系统全面又通俗易懂。

2025-10-20 21:28:48 897

原创 Promise

本文详细解析了JavaScript Promise的实现原理,通过8个步骤从零构建了一个基础Promise类。核心内容包括:Promise的三种状态(pending/fulfilled/rejected)管理、回调存储机制、then方法的链式调用实现,以及处理各种返回值类型的核心逻辑。重点分析了then方法如何通过返回新Promise实现链式调用,以及如何处理普通值、Promise对象和thenable对象。文章通过代码示例展示了Promise从同步到异步场景的处理方式,揭示了Promise将复杂异步逻辑转

2025-10-17 23:03:14 906

原创 JS 的V8引擎原理

现代JavaScript引擎采用即时编译(JIT)技术,结合了解释执行与编译优化的优势。以V8引擎为例,其工作流程包括:解析JS代码生成AST,解释器将其转换为字节码 mechanized 执行,同时收集热点代码;优化编译器将热点代码编译为高效机器码;若假设不成立则进行反优化。内存管理采用分代策略,新生代使用Scavenge算法快速回收,老生代采用标记-清除/整理算法,并通过增量标记和三色标记enst减少停顿时间。这种架构使JS兼具快速启动和高执行效率,支持复杂应用场景ieważ。

2025-10-11 15:50:51 1068

原创 浏览器渲染原理

摘要:浏览器渲染流程分为八个阶段:HTML解析、样式计算、布局、分层、绘制、分块、光栅化和画。其中CSS不会阻塞HTML解析,而JS会阻塞解析。主线程依次完成DOM树构建、样式计算、布局和分层,然后生成绘制指令。合成线程负责后续分块、光栅化工作,最终由GPU完成屏幕成像。整个过程采用流水线作业模式,各阶段紧密衔接,特别优化了transform等操作效率。(150字)

2025-10-09 21:58:52 611

原创 基于XLSX库封装的excel表导入导出工具函数

(1)(2)在src/utils下,创建ExportExcelAsJson.js文件 和 ExportExcelFile.js。

2025-06-02 19:36:34 619

原创 this指向问题,看这一篇就够了!

的时候,他就自动捕获其。

2025-06-01 21:45:51 1897

原创 什么是JS垃圾回收机制?

JS 的垃圾回收就像妈妈(GC)帮你打扫房间,但如果你乱扔垃圾(内存泄漏),再牛的清洁工也救不了你!,也就是 JS 引擎如何自动清理那些不再使用的内存,防止你的网页变成“内存泄漏”的重灾区。JavaScript 的垃圾回收(GC)是自动内存管理机制,主要采用。每个对象身上挂个小本本(计数器),记录有多少变量引用它。(GC),帮你默默打扫内存,防止你的代码变成“垃圾堆”。垃圾,但 JS 很贴心(或者说很懒),它自带。想象一下,你是个富二代程序员,每天都在疯狂。,如果不清理,内存迟早爆炸!

2025-05-28 22:32:49 2009

原创 什么是Cookie、localStorage、sessionStorage,应用场景?

sessionStorage 就像你去超市带的购物袋,结账前东西都在,回家(关标签页)就清空了。:localStorage 就像你家冰箱,东西能放很久,但得自己记得清理过期食品。:Cookie 就像你裤兜里的小纸条,方便但容易丢,还占口袋空间。(毕竟1994年就存在了,爷爷级技术🤣)。(每次请求都带,尤其是存多了的时候)。(比Cookie安全,关页就消失)。(如用户主题设置、离线数据)。(缓存API响应减少请求)。(比如购物车商品ID)。(独立背包,各背各的)。(防止页面刷新丢失)。

2025-05-26 22:51:43 555

原创 HTTP缓存:从“失忆症”到“过目不忘”的进化史

相信看完这篇有趣的博客,你应该对http缓存有了更深刻的认识😁 End!HTTP/1.1 推出了 Cache-Control。终于,HTTP/1.0 引入了 Expires。早期的互联网就像个健忘的打工人——,但缓存时间还没到,怎么办?,哪怕内容一模一样。

2025-05-26 22:23:43 908

原创 事件循环、宏任务微任务看这一篇就够了!

​ 同步代码放入执行栈中,异步代码等待时机成熟由宿主环境将其放入任务队列排队。**当执行栈里的任务执行完毕后,它会去任务队列看是否有异步任务,有就送到执行栈执行,反复循环查看执行,**这个过程是事件循环(eventloop)​ JS是单线程,防止代码阻塞,我们把代码(任务)分为:同步任务和异步任务,同步代码给js引擎执行,异步代码交给宿主环境(调度)​ 当执行栈任务执行完后,将会监听任务对列,此时,如果有微任务,就先将微任务压入执行栈先执行,当微任务执行完后才执行宏任务。,微任务优先于宏任务!

2025-05-26 21:42:51 2386

空空如也

空空如也

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

TA关注的人

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