- 博客(117)
- 资源 (7)
- 收藏
- 关注
原创 【基础】EGG.js Config 配置体系
框架采用“”方案,将多环境配置写入代码,启动时通过指定环境参数实现适配,优势在于支持应用包一次构建多环境部署,配置变更需经审核发布,保障稳定性。同时对比了另外两种常见方案的局限性:构建时嵌入环境配置:无法一次构建多部署,本地开发配置不便;启动时通过环境变量传配置:对运维要求高,本地开发存在相同痛点。
2025-11-24 23:30:00
318
原创 【基础】EGG Controller 总结
SSR 场景:服务端流式渲染 HTML 后返回前端。SSE 场景:借助 Server-Sent Events 实现前端与服务端实时通信(如 AI 对话)。依赖 HTTP 协议数据的场景:需使用 cookie 等 HTTP 协议相关数据处理业务逻辑。
2025-11-24 00:02:08
880
原创 【基础】Egg.js 插件的作用和使用
模式,按运行环境加载插件,仅应用层可用,框架层不可用。示例:开发环境专用插件。:对框架内置插件,可直接通过布尔值配置,无需指定 package/path。:通过 npm 安装,推荐使用。中配置,支持两种引入方式。:插件默认配置可在应用。
2025-11-23 21:53:53
301
原创 cURL(Client URL)
从那时起,cURL 从一个仅支持 HTTP 和 FTP 的小工具,成长为一个支持数十种协议、代码库超过 15 万行的庞然大物。:尤其是在 HTTP/2 和 HTTP/3 下,对多路复用、服务器推送等特性的性能进行持续优化。无论是通过命令行进行快速测试,还是通过 libcurl 为大型应用提供网络引擎,cURL 都将继续在未来数字世界的“数据传输”领域中扮演核心角色。cURL 从一个简单的个人项目,成长为互联网基础设施中不可或缺的“瑞士军刀”。的项目,这是一个简单的 HTTP 下载工具。
2025-11-22 17:14:00
45
原创 nodejs.Error: create “Watcher“ leader failed, the port:55310 is occupied by other
当前问题的核心是端口 55310 被占用,优先通过查找并杀死占用进程,重新启动即可;若端口频繁冲突,可在配置文件中指定自定义端口。如果执行上述步骤后仍报错,可能是 Egg.js 版本与模块不兼容,建议升级 Egg.js 到稳定版本(如2.x最新版),或检查项目依赖是否有冲突。
2025-11-21 14:20:43
640
原创 互联网 APP 开发:Push 推送与消息的区别
push(推送通知):Push 全称推送通知,是服务器主动向客户端传递信息的系统级技术方案。它依托手机厂商(苹果 APNs、华为 / 小米推送)或第三方服务(极光推送、个推)的专属通道实现,核心特点是突破 APP 运行状态限制 —— 无论 APP 处于前台、后台还是完全关闭,都能触达用户。
2025-11-17 15:37:34
986
原创 CSV(Comma-Separated Values)文件
默认无数据类型区分(如数字、字符串),需由读取方自行解析,这也导致复杂格式(如带格式的日期、多值字段)支持不足。:以**逗号(或制表符、分号等分隔符)**分隔不同单元格数据,每行代表一条记录,每列代表一个字段。:无特殊格式标记,可用记事本、Excel、Python等工具直接读写,跨平台兼容性极强。:常用于不同系统(如数据库、Excel、数据分析工具)之间的。,优势是简单、通用,适合小规模结构化数据的存储与交换。,是轻量级数据传输的常用格式。
2025-11-17 11:50:19
201
原创 如何保持自己的技术前沿性?
可以通过在线课程平台,如慕课网、网易云课堂等,学习当下热门的技术课程,像 React、Vue 等前端框架的高级应用课程,以及 Node.js 的最新特性与实践课程。比如,自己搭建一个基于 React 和 Node.js 的小型 Web 应用,从项目架构设计、开发到部署,全面锻炼自己对新技术的运用能力,并且可以将项目开源到 GitHub 上,与其他开发者交流学习。通过详细的技术方案和成本效益分析,展示新技术能够为公司带来的好处,如提升开发效率、优化产品性能等,推动公司逐步采用新的技术和流程规范。
2025-11-11 23:17:02
318
原创 Sequelize:获取器, 设置器 & 虚拟字段
Sequelize 允许为模型属性定义自定义获取器(Getter) 和设置器(Setter),还支持创建虚拟字段(Virtual Field)。虚拟字段仅存在于模型层,不在数据库表中实际存储,可简化自定义属性逻辑,提升代码简洁性。
2025-11-09 21:59:58
150
原创 告别复杂 SQL!ORM (Object-Relational Mapping,对象关系映射)帮你优雅操作数据库
是一种编程技术,用于在(如 JavaScript、Java、Python)和(如 MySQL、PostgreSQL、SQLite)之间建立桥梁,让开发者可以用更直观、更符合面向对象思维的方式操作数据库,而无需直接编写复杂的 SQL 语句。ORM 的核心思想是把数据库中的映射为程序中的,表中的映射为类的,表中的映射为类的。这样,你就可以通过操作对象来间接操作数据库,而不用关心底层的 SQL 实现。举个通俗的例子。假设你有一个User有 ORM(用 Sequelize)时,你先定义一个User。
2025-11-09 12:34:30
332
原创 MacOS 若要启用系统扩展,你需要在 “恢复” 环境中修改安全性设置
在使用mac电脑时,部分软件需要开启系统扩展才能正常使用。添加系统扩展时,系统提示若要启用系统扩展,您需要在“恢复”环境中修改安全性设置解决方法,如下图所示。按照提示,先选择关机。按住触控ID或电源按钮,至少10秒,将出现启动选项窗口。选中[选项],将出现[继续]按钮,点击此按钮。依次点击左上角的[实用工具]-[启动安全性实用工具]点击[安全策略]选择[降低安全性],勾选“允许用户管理来自被认可开发者的内核扩展”,点击[好]。设置成功之后,点击屏幕左上角的苹果标志重启电脑,重启即可。
2025-10-26 00:15:03
607
原创 AI智能体搭建工具/框架对比
AI智能体搭建指南:技术路径与核心组件解析 本文系统介绍了AI智能体的三种搭建路径:零代码平台(如Coze)适合快速原型开发(10-30分钟),低代码框架(如LangChain)平衡效率与灵活性(1-3个月),自主开发则提供完全控制(6-12个月)。技术选型需权衡开发门槛、成本(传统开发1/10至100%)和场景需求。核心组件包括:1)大语言模型选型(GPT/Claude等),通过推理前/时/后集成策略优化性能;2)分层记忆系统(Redis短期记忆+向量数据库长期记忆);3)向量数据库选型(Pinecone
2025-10-08 15:49:55
680
原创 npm、yarn、pnpm
● 依赖存储方式:npm 和Yarn 采用各自项目的 node_modules 目录进行依赖复制,而pnpm 则使用共享的全局存储区,并通过硬链接和符号链接来管理依赖。● 磁盘占用:pnpm 极大地减少了磁盘空间占用,因为相同的依赖不会在每个项目中重复存储。● 安装速度:pnpm 的共享存储和硬链接机制使其安装速度通常最快。● 依赖管理:pnpm 的非扁平化 node_modules 结构解决了幽灵依赖问题,提供了更严格的依赖管理。
2025-10-08 00:20:13
672
原创 AI 智能体的运行模式
不是的,这和模型的训练过程是没有关系的。随后,流程进入 “执行 - 调整” 的循环阶段:Agent 主程序将新生成的执行计划再次传递给执行 Agent,执行计划中的第一步(如 “查询 2025 年澳网男子冠军名字”),获取结果后加入历史执行记录,再将相关信息传给 Re-Plan 模型生成更新后的计划。这类模式暂无统一名称,各 Agent 实现存在差异,其中 LangChain 提出的 “Plan-And-Execute 模式” 较为典型,其核心是 “先规划,再执行,且能动态修改规划”,灵活性更高。
2025-10-03 18:07:50
927
原创 AI 智能体基本概念与架构
举两个具体例子:一是知名的编程 Agent “Cursor”,用户只需提交编程任务,它就会调用大模型和工具生成代码,直至任务完成,用户最多只需点击 “确定” 按钮;要解决这个问题,只需给大模型搭配对应的工具:像读写文件、查看文件列表、运行终端命令等工具,这些工具就像大模型的 “感官和四肢”。这种 “大模型 + 工具” 组合而成、能感知和改变外界环境的智能程序,就是 AI Agent,通常用 “机器人” 图标表示,与大模型的 “大脑” 图标形成对比,象征其具备 “独立做事” 的能力。4个模块如何协同运行?
2025-10-03 17:49:40
669
原创 【有空再整】TypeScript 进阶笔记
在 TypeScript 中,构造签名(Constructor Signatures) 用于描述 “构造函数” 的类型,定义了一个类或构造函数在被new关键字调用时应遵循的参数类型和返回值类型规则。它主要用于类型系统中约束和描述可实例化的对象(如类、构造函数)的结构。
2025-09-01 13:58:48
402
原创 【有空再整】Vue.js设计与实现
虚拟DOM渲染成真实DOM,需要用到渲染器编译器将模板进行编译为虚拟 DOM,最后放到script块对象中的render选项位置。之后渲染器将虚拟 DOM 转为真实 DOM 挂载到页面上,之后的更新及其系列操作也将由渲染器完成。
2025-09-01 13:57:19
715
原创 【源码分析】@vue/runtime-dom/src/apiCustomElement.ts 解析
源码来源于其他参考这段代码定义了一个可导出的泛型类型,用于描述能创建VueElement实例的构造函数类型,该构造函数可接收可选的任意属性对象作为初始参数,返回的实例同时具备VueElement类型和泛型参数P(默认空对象)所指定的类型特性,主要作用是在TypeScript中约束和描述Vue元素构造函数的参数和返回值类型,确保类型安全。这段代码定义了一个可导出的接口,用于规范自定义元素(通常是Vue自定义元素)的配置选项结构,包含可选的样式数组(styles)、是否启用影子DOM(shadowRoot。
2025-08-27 18:39:08
971
原创 Qiankun 隔离机制
基于 二次封装的成熟方案,核心逻辑仍围绕路由匹配展开 —— 通过配置子应用的激活路径(如 ),当浏览器路由命中该路径时,自动加载对应的子应用资源。它提供开箱即用的沙箱隔离(JS 沙箱支持 Proxy 代理与快照恢复两种模式)、样式隔离(自动添加 CSS 命名空间)与资源预加载能力。其核心优势在于生态完善,支持 React、Vue、Angular 等主流框架,适合中大型企业级应用。例如,某电商平台将商品、订单、支付等模块拆分为独立子应用,通过 qiankun 实现路由无缝切换与全局状态共享。在 Qianku
2025-08-22 15:23:39
1054
原创 前端基建:从规范到运维的全流程能力建设
前端基建是支撑前端研发全流程高效、高质量推进的“底层系统”,覆盖从需求启动到线上运维的完整周期,每个阶段都有细化且关键的建设内容。
2025-08-05 15:03:59
367
原创 【HTTP】Server-Sent Events(SSE)协议详解
服务器可以发送带有自定义事件类型的消息,客户端可以根据事件类型绑定不同的处理逻辑,实现多维度数据的分类处理。
2025-08-02 13:17:17
868
原创 强缓存与协商缓存详细解析
强缓存和协商缓存是互补的缓存机制:强缓存通过 “本地判断” 实现极速响应,适合稳定资源;协商缓存通过 “服务器验证” 保证资源新鲜度,适合动态资源。实际开发中需根据资源特性组合使用,同时利用文件指纹、缓存头优先级等技巧,在性能和实时性之间取得平衡。理解二者的工作原理,是优化 Web 加载速度的关键一步。
2025-07-30 01:27:32
594
原创 CSS 重排与重绘详解
重排和重绘是浏览器渲染页面的必要过程,但过度频繁的操作会严重影响性能。批量处理样式修改,避免零散操作;优先使用transform和opacity实现动画;减少强制重排的场景,合理规划 DOM 结构。通过以上优化,可显著降低页面的性能消耗,提升用户体验,尤其在移动端和复杂交互场景中效果明显。
2025-07-30 00:06:15
805
原创 【工程化】浅谈前端构建工具
前端构建工具是辅助开发者将源代码转换为浏览器可直接运行的静态资源的工具集合。随着前端技术的发展,源代码往往包含浏览器无法直接解析的语法(如 TypeScript、Sass)、模块化规范(如 ES Modules、CommonJS)以及需要优化的资源(如未压缩的图片、冗余代码),构建工具通过一系列自动化处理(转译、打包、压缩、优化等),降低开发复杂度并提升应用性能。构建工具的核心价值体现在三个方面:一是语法转换,将高级编程语言或语法(如 ES6+、JSX)转换为浏览器兼容的代码;二是资源整合。
2025-07-26 18:11:04
1130
1
原创 HTML5 新特性:MutationObserver 详解
在一些具有编辑功能的应用中,如在线文档编辑、绘图工具等,通过 MutationObserver 监测文档或绘图区域的 DOM 变化,记录每次操作,从而实现撤销和重做功能。高效性:相比传统的轮询方式,MutationObserver 只有在真正的 DOM 变化发生时才触发回调,极大地提高了资源利用效率,减少了不必要的计算和资源消耗。:监测表单输入字段的变化,实时进行验证。精准监测:可以通过配置精确指定要监测的 DOM 变化类型,如仅关注特定属性的变化或特定子树内的节点增减,避免了不必要的监测开销。
2025-07-26 13:18:48
882
原创 JavaScript 中 let 在循环中的作用域机制解析
闭包捕获变量引用:闭包保存的是变量的引用,而非创建时的值。let的块级作用域:在循环头或循环体中使用let,会为每次迭代/执行创建独立作用域。var的函数作用域:所有闭包共享同一个变量,导致捕获最终值。这一特性是ES6对JavaScript作用域机制的重要改进,避免了传统闭包陷阱,使代码逻辑更符合直觉。
2025-07-26 00:07:33
439
原创 JavaScript 中的 Window 对象详解
Window 对象是浏览器环境中 JavaScript 的全局对象,它代表一个浏览器窗口或标签页,是 JavaScript 运行时环境的核心载体。所有全局变量、函数和对象都以 Window 对象为宿主,同时它还提供了与浏览器窗口交互的各种方法和属性。在浏览器中,window是一个顶层对象,不需要通过其他对象引用即可直接访问,例如可以直接简写为alert()。Window 对象是浏览器环境中 JavaScript 的全局对象,所有全局变量和函数都是它的属性和方法。
2025-07-24 13:47:39
741
原创 基于 Qiankun 的微前端实践案例:电商平台多模块整合方案
本案例通过 Qiankun 实现了电商平台的微前端改造,核心价值体现在:技术栈解耦:Vue、React、Angular 子应用共存,团队可自主选择技术栈;独立迭代:各模块每周独立发布,发布周期从原来的 2 周缩短至 1 天;用户体验一致:路由切换无刷新,全局状态实时同步,保持单页应用的流畅性;成本可控:原有模块无需重写,通过最小改造接入微前端架构。路由分发式微前端适合以页面路由为核心的应用场景,而 Qiankun 凭借成熟的沙箱机制与丰富的生态支持,成为这类场景的优选方案。
2025-07-23 21:45:27
1230
原创 浅谈微前端
子应用的样式通过 Shadow DOM 实现隔离(样式仅作用于自定义元素内部),容器与子应用的通信通过自定义事件(CustomEvent)机制完成(容器监听子应用派发的事件,或子应用监听容器触发的事件)。将应用拆分为比子应用更细粒度的功能模块(如 “用户登录”“数据报表”),通过模块注册中心管理所有模块的元信息(如名称、版本、资源地址、依赖关系)。这类实现方式已形成成熟的框架生态,以下是基于路由分发的主流框架,它们均遵循路由驱动子应用加载的核心逻辑,同时在隔离机制、接入成本等方面各有侧重:。
2025-07-23 17:49:37
514
原创 基于 iframe 的微前端完整实践案例:企业级系统整合方案
该方案适用于技术栈异构、隔离要求高、交互简单的企业级系统整合场景,尤其适合作为遗留系统的过渡方案。若未来需要更深度的系统集成,可逐步迁移至路由分发式微前端架构。本案例通过 iframe 实现了企业级系统的微前端整合,核心在于利用 iframe 的原生隔离能力与的跨域通信机制,在最小化改造现有系统的前提下,实现了统一门户、身份同步与基础交互。实践表明,尽管 iframe 存在性能与体验上的局限性,但在特定场景下(如强隔离需求、多技术栈整合)仍是性价比极高的选择。
2025-07-23 12:57:50
1020
原创 HTML5 跨文档通信机制:postMessage API 详解与应用
postMessage 作为跨源窗口通信的标准解决方案,其核心价值在于在保障安全性的前提下,实现不同源文档之间的可控交互。通过遵循严格的来源验证、消息校验等规范,可有效规避安全风险,广泛应用于微前端架构、跨域组件集成、多窗口协同等场景。深入理解其特性与使用规范,是构建复杂前端系统时处理跨域通信的基础。
2025-07-23 12:17:42
1041
原创 JavaScript 中的事件循环
JavaScript 作为单线程语言,其执行模型的核心机制便是事件循环(Event Loop)。单线程意味着在同一时间只能执行一个任务,若所有操作都以同步方式执行,遇到耗时操作(如网络请求、文件 I/O 等)时,主线程会被阻塞,导致页面卡顿甚至无响应。事件循环的出现,正是为了在单线程架构下实现非阻塞的异步操作,保障程序的高效运行。事件循环的核心原理是通过将任务划分为不同类型,在特定的时机按规则执行,从而实现异步逻辑。
2025-07-17 12:51:02
281
原创 JavaScript 中的闭包
当外部函数执行结束后,其执行上下文会被销毁,但由于内部函数仍然引用着它的作用域,所以该作用域不会被垃圾回收机制回收,内部函数也就能够继续访问其中的变量。不过,使用闭包也需要注意一些问题。闭包指的是这样一种现象:当一个函数内部定义的函数被外部引用时,这个内部函数会保留其定义时所处的外部函数的作用域,使得即便外部函数已经执行完毕,内部函数依然能够访问和操作外部函数作用域中的变量。在 JavaScript 中,闭包是一个重要且独特的概念,它与函数的作用域特性紧密相关,深刻影响着代码的执行逻辑和变量的生命周期。
2025-07-16 19:20:11
270
原创 JavaScript 中的作用域
作用域链是 JavaScript 中用于解析标识符(变量和函数名)的动态层次结构,其本质上是由一系列词法环境(Lexical Environment) 组成的链式结构,每个词法环境包含一个用于存储变量绑定的环境记录(Environment Record) 和一个指向外层词法环境的外部引用(Outer Reference)。闭包是指函数在定义时链接其外层词法环境中的环境记录,即引用了外部作用域的变量或者函数,即便该外部函数已经执行完毕,内部函数依然能访问和使用这些变量的机制。
2025-07-16 19:18:07
369
原创 JavaScript 的执行上下文
当 JS 引擎处理一段脚本内容的时候,它是以怎样的顺序解析和执行的?脚本中的那些变量是何时被定义的?它们之间错综复杂的访问关系又是怎样创建和链接的?要解释这些问题,就必须了解 JS 执行上下文的概念。JavaScript引擎是一个计算机程序,它接收JavaScript源代码并将其编译成CPU可以理解的二进制指令(机器码)。JavaScript引擎通常是由浏览器供应商开发的,每一个主流浏览器都有一个自己开发的引擎。
2025-07-15 20:20:02
762
IEEE Standard for Local and metropolitan area networks Part 15.6: WBANs
2020-10-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅