摘要:
前言 数组特点 存储区间是连续,且占用内存严重,空间复杂也很大,时间复杂为O(1)。 优点:是随机读取效率很高,原因数组是连续(随机访问性强,查找速度快)。 缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中要往后移的,且大小固定不易动态扩展。 链表特点 区间离散,占用内存宽松,空间
阅读全文
posted @ 2021-02-04 23:14
龙陌
阅读(550)
推荐(0)
摘要:
除了 Access-Control-Allow-Origin,服务器通常还需要设置以下关键响应头来完整支持CORS: 必需头 Access-Control-Allow-Methods 定义允许的HTTP方法(如 GET, POST, PUT, DELETE, OPTIONS)。 示例:Access-
阅读全文
posted @ 2026-02-05 15:01
龙陌
阅读(1)
推荐(0)
摘要:
在标准 Web 安全策略下,前端无法直接修改 fetch 请求的 Origin 请求头。Origin 是由浏览器自动生成并添加的,其值由请求的协议、域名和端口决定,开发者无法通过 JavaScript 直接覆盖或修改。 关键限制: 浏览器控制:Origin 属于 禁止修改的请求头(forbidden
阅读全文
posted @ 2026-02-05 15:00
龙陌
阅读(1)
推荐(0)
摘要:
不一定。仅设置: add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; 并不能保证预检请求(OPTIONS)会返回 200,原因如下: ❌ 问题核心:Nginx 默认不会处理 OPTIONS 请求 在 Nginx
阅读全文
posted @ 2026-02-05 10:31
龙陌
阅读(5)
推荐(0)
摘要:
浏览器跨域与同源策略 🔒 跨域问题源于浏览器的同源策略,目的是保障用户安全,脱离浏览器环境(如服务器间通信)不存在跨域 🌐 “同源”指两个 URL 的协议、域名、端口完全相同,路径不同不影响同源判断 ⚠️ 跨域请求仍会被发送至服务器并获得响应,但浏览器在校验响应头后若不通过(如缺少 CORS 头
阅读全文
posted @ 2026-02-05 10:20
龙陌
阅读(2)
推荐(0)
摘要:
浏览器在发送 跨域请求(CORS 请求) 时,某些特定条件下会先发送一个 预检请求(Preflight Request),这是一个 OPTIONS 方法的 HTTP 请求,用于询问服务器是否允许即将发送的实际请求。 ✅ 浏览器不会发送预检请求的情况(“简单请求”) 只有满足以下所有条件的请求才是 简
阅读全文
posted @ 2026-02-05 10:04
龙陌
阅读(3)
推荐(0)
摘要:
以下是专为「视频内容 → 高效闪记卡」设计的精准提示词,已优化结构、防幻觉、适配多学科场景,可直接用于 AI 工具(如 Claude/GPT): # 角色 你是一名认知科学专家 + 学科内容提炼师,精通费曼学习法与间隔重复原理。你的任务是将视频文字稿转化为**可直接导入 Anki/Quizlet 的
阅读全文
posted @ 2026-02-04 22:58
龙陌
阅读(4)
推荐(0)
摘要:
即使服务器设置了 Access-Control-Allow-Origin: *,浏览器仍报跨域错误,根本原因通常是:CORS 配置不完整 + 浏览器安全策略的严格校验。以下是高频原因与精准排查方案: 🔍 高频原因速查表(按发生概率排序) 排名 原因 浏览器典型报错关键词 解决方案 🥇 1 请求携
阅读全文
posted @ 2026-02-04 21:52
龙陌
阅读(28)
推荐(0)
摘要:
这是一个在前后端分离架构中非常常见的设计争议点。简单来说,这种“完全原子化”的设计有其合理性,但也带来了显著的前端开发复杂度,需要根据具体场景来评判是否“合理”。 下面我们从正反两面和最佳实践来详细分析。 一、为什么后端会这样设计?(合理性 / 优点) 接口复用性极高 每个接口只做一件事,功能纯粹。
阅读全文
posted @ 2026-02-04 15:04
龙陌
阅读(7)
推荐(0)
摘要:
在 JSDoc 中,@function 和 @description 是完全不同的两类标签,作用维度截然不同: ✅ 核心区别速览 标签 类型 作用 是否必需 典型位置 @function 结构标签(声明“这是什么”) 显式声明标识符为函数,解决解析器识别问题 ❌ 通常不需要(现代工具可自动识别) 注
阅读全文
posted @ 2026-01-29 23:32
龙陌
阅读(5)
推荐(0)
摘要:
在 JSDoc 中,@private、@protected、@public 和 @readonly 分属两个完全不同的控制维度,且标准性与工具支持差异显著。以下是精准对比: ✅ 核心区别总览表 标签 控制维度 标准性 作用 TS 关键字 是否互斥 典型场景 @private 访问权限 ✅ JSDoc
阅读全文
posted @ 2026-01-29 22:44
龙陌
阅读(6)
推荐(0)
摘要:
在 JSDoc 中,@constant 和 @readonly 都用于表示“值不可变”,但它们的语义、使用场景和官方推荐度有重要区别。以下是详细对比: ✅ 1. @readonly 官方状态:✅ 推荐使用(JSDoc 官方当前标准) 语义: 表示该成员初始化后不应被修改,强调“只读”行为。 典型使用
阅读全文
posted @ 2026-01-29 22:39
龙陌
阅读(3)
推荐(0)
摘要:
在 JSDoc 中,@link 和 @see 都用于引用其他相关项(如函数、类、外部资源等),但它们的用途、语义和渲染方式有明显区别。以下是详细对比: ✅ 1. @see —— “参见”:用于补充参考信息 作用:提供额外的参考资料,通常放在文档末尾作为“延伸阅读”。 内容:可以是: 其他函数/类的名
阅读全文
posted @ 2026-01-29 22:03
龙陌
阅读(4)
推荐(0)
摘要:
在 MSW(Mock Service Worker) 中,每个 request 对象本身并不是只能 await 一次,但你提到的疑问很可能源于对 Response 返回方式 或 流式响应(streaming) 的误解。下面详细解释: ✅ 核心结论 MSW 的 req(Request)对象可以被多次读
阅读全文
posted @ 2026-01-27 20:26
龙陌
阅读(5)
推荐(0)
摘要:
当前项目架构分析: 项目使用 pnpm workspace 管理 monorepo 有三个包:common(通用)、browser(浏览器专用)、node(Node.js专用) 每个包都是独立的 npm package,有自己的 package.json 当前三个包之间没有任何依赖关系,都是独立实现
阅读全文
posted @ 2026-01-24 19:36
龙陌
阅读(6)
推荐(0)
摘要:
遇到的错误: Error: Get Pages site failed. Please verify that the repository has Pages enabled and configured to build using GitHub Actions, or consider exp
阅读全文
posted @ 2026-01-23 00:22
龙陌
阅读(6)
推荐(0)
摘要:
开发一个 TypeScript + Monorepo 的前端工具函数类库,需要兼顾模块化、可维护性、类型安全、构建效率和开发者体验。以下是一个推荐的技术选型与目录结构设计方案: 一、技术选型 1. Monorepo 管理工具 推荐: pnpm + workspace 轻量、高效、支持软链接(hard
阅读全文
posted @ 2026-01-21 21:32
龙陌
阅读(43)
推荐(0)
摘要:
“YUV 缓冲区”是指在图像或视频处理中用于存储 YUV 格式像素数据的一段内存区域。YUV 是一种广泛用于视频采集、编码、传输和显示的颜色编码系统,与常见的 RGB 不同,它将亮度(Luma, Y)和色度(Chroma, U/V)分离开来,更符合人眼视觉特性,并有利于压缩。 🎨 什么是 YUV?
阅读全文
posted @ 2026-01-17 23:08
龙陌
阅读(11)
推荐(0)
摘要:
“PCM 缓冲区”通常是指在数字音频处理中用于临时存储 脉冲编码调制(Pulse Code Modulation, PCM)数据的一段内存区域。 PCM 是最常见、最基础的未压缩数字音频格式,广泛应用于音频播放、录音、通信和音视频编解码等领域。 🔊 什么是 PCM? PCM 是一种将模拟音频信号数
阅读全文
posted @ 2026-01-17 23:07
龙陌
阅读(14)
推荐(0)
摘要:
在视频编码(如H.264、H.265等)中,视频帧通常根据其编码方式和参考关系分为以下几种主要类型: 1. I帧(Intra-coded frame,帧内编码帧) 又称关键帧(Key Frame)。 不依赖其他帧进行解码,可以独立解码显示。 使用帧内预测(利用同一帧内的空间冗余)进行压缩。 压缩率较
阅读全文
posted @ 2026-01-12 16:54
龙陌
阅读(28)
推荐(0)
摘要:
slot-scope 语法在 Vue 3 中已经被废弃(deprecated),并且在 Vue 2.6+ 版本中就已经被更统一、更清晰的 v-slot 指令 所取代。 ✅ 正确用法(Vue 2.6+ 和 Vue 3) 旧语法(已过时): <my-component> <template slot-s
阅读全文
posted @ 2026-01-12 16:53
龙陌
阅读(26)
推荐(0)
摘要:
escapeStringRegexp 函数的作用: 函数作用 escapeStringRegexp 函数用于转义字符串中的正则表达式特殊字符,使该字符串可以安全地用作正则表达式的字面量,而不会被误认为是正则元字符。 实现原理 export const escapeStringRegexp = (st
阅读全文
posted @ 2026-01-06 23:21
龙陌
阅读(5)
推荐(0)
摘要:
import debug from 'debug' 引入的是一个非常流行、轻量且强大的 JavaScript 调试日志工具库 —— debug。 它被广泛用于 Node.js 后端 和 浏览器前端(支持 SSR/CSR),是 Express、Koa、Socket.IO、Webpack 等众多知名项目
阅读全文
posted @ 2026-01-05 23:28
龙陌
阅读(20)
推荐(0)
摘要:
这个错误 TypeError: this.getOptions is not a function 在 Vue 项目中通常出现在 使用较新版本的 loader(如 sass-loader@13+、css-loader@6+ 等)但搭配了旧版 Webpack(< v5.0)或 Vue CLI(基于 W
阅读全文
posted @ 2026-01-04 23:12
龙陌
阅读(26)
推荐(0)
摘要:
这是一个非常好的问题!你在 package.json 中看到的这种写法: "exports": { "./package.json": "./package.json" } 并不是“一般会”这样写,而是有明确目的的特殊配置。让我为你详细解释它的作用、为什么需要它,以及不加会有什么问题。 🔍 核心原
阅读全文
posted @ 2026-01-03 17:55
龙陌
阅读(29)
推荐(0)
摘要:
🎥 Web前端判断视频封装格式和编码格式的实用指南 大家好!视频格式判断是前端开发中经常遇到的问题,特别是当用户上传视频时,我们经常需要检查视频是否符合要求。下面我来分享几种真正有效的方法,让你不再被"MP4文件却无法播放"的问题困扰! 🧾 一、先理解关键概念 术语 说明 举例 封装格式 视频文
阅读全文
posted @ 2025-12-24 19:47
龙陌
阅读(132)
推荐(0)
摘要:
MPEG-DASH(Dynamic Adaptive Streaming over HTTP)是一种基于 HTTP 的自适应比特率流媒体传输协议,用于在互联网上高效、高质量地传输视频和音频内容。 📌 核心概念一句话总结: MPEG-DASH 能根据用户的网络状况和设备性能,动态切换不同清晰度的视频
阅读全文
posted @ 2025-12-24 19:22
龙陌
阅读(22)
推荐(0)
摘要:
这是一个非常实际且重要的问题!“EventEmitter 库还推荐使用吗?有没有替代方案?” —— 答案取决于你的使用场景(Node.js、浏览器、框架集成等)。下面我结合当前(2025 年底)的生态趋势,为你全面分析: ✅ 一、Node.js 环境:原生 events 模块仍是首选 在 Node.
阅读全文
posted @ 2025-12-24 00:27
龙陌
阅读(24)
推荐(0)
摘要:
要查看和对比多个 npm 包的下载量,最简单、直观且权威的方式是使用以下工具。以下是截至 2025 年的最佳实践: 🥇 首选方案:npm trends(强烈推荐) 🔗 网址:https://npmtrends.com ✅ 免费|✅ 无需登录|✅ 图表清晰|✅ 支持多包对比 功能亮点: 最多可同时
阅读全文
posted @ 2025-12-22 14:44
龙陌
阅读(87)
推荐(0)
摘要:
const { create: createAxios } = require('axios').default; const { setupCache } = require('axios-cache-interceptor'); const { log } = console; // // Co
阅读全文
posted @ 2025-12-21 22:14
龙陌
阅读(12)
推荐(0)
摘要:
🔥 为什么 lint/style/noEnum 会报错? 规则名称:lint/style/noEnum 核心原因:TypeScript 官方强烈建议避免使用枚举(enum),尤其是在新项目中。 为什么?因为枚举在TypeScript中是"遗留设计",存在几个严重问题: 问题 说明 示例 🧪 运行
阅读全文
posted @ 2025-12-21 13:53
龙陌
阅读(8)
推荐(0)
摘要:
在 axios 中,适配器(adapter) 和 拦截器(interceptor) 的执行顺序是明确且固定的: 请求拦截器 → 适配器 → 响应拦截器 📌 详细流程如下: 1. 请求阶段(Request Phase) 用户调用 axios(config) 请求拦截器(request interce
阅读全文
posted @ 2025-12-21 11:47
龙陌
阅读(28)
推荐(0)
摘要:
你遇到的问题很常见:在 Vite 最新版(尤其是 v5+) 中,使用 new URL('../assets/xxx', import.meta.url).href 这种方式在某些上下文(如 SSR、服务端构建、或非标准模块环境)下可能失效或返回不预期的路径。 但更重要的是:这个写法本身存在设计误区。
阅读全文
posted @ 2025-12-20 23:04
龙陌
阅读(31)
推荐(0)
摘要:
这两个 TypeScript 配置项对于使用 CommonJS 模块和 ES 模块的互操作性非常重要,特别是在使用像 axios 这样的库时。让我详细解释它们的作用: esModuleInterop 作用 启用 ES 模块与 CommonJS 模块之间的互操作性。 背景 在 JavaScript 中
阅读全文
posted @ 2025-12-20 14:19
龙陌
阅读(18)
推荐(0)
摘要:
在前端项目中,misc(是 "miscellaneous" 的缩写,意为“杂项”)文件夹通常用于存放不适合归入其他标准目录(如 src/、public/、assets/、utils/ 等)的零散文件。它是一个“兜底”或“临时归类”的目录,具体内容因项目而异,但常见用途包括: ✅ 常见放在 misc/
阅读全文
posted @ 2025-12-18 22:54
龙陌
阅读(33)
推荐(0)
摘要:
Modern.js 是由字节跳动(ByteDance)开源的一套 面向现代 Web 开发的工程化解决方案和应用框架,旨在帮助开发者高效构建高质量、高性能、可维护的前端应用。它融合了“框架 + 工具链 + 最佳实践”三位一体的理念,目标是提供开箱即用的现代化开发体验。 🎯 核心定位 Modern.j
阅读全文
posted @ 2025-12-18 14:50
龙陌
阅读(26)
推荐(0)
摘要:
ReScript(以前称为BuckleScript)是一种编译器,它将ReScript语言(一种语法更清晰、更易于优化的变体语言,原名Reason)编译成高效、可读性高的JavaScript代码。 ReScript的目标是让开发者能够使用一种类型安全且性能优越的语言来编写Web应用和Node.js后
阅读全文
posted @ 2025-12-18 14:41
龙陌
阅读(27)
推荐(0)
摘要:
lefthook 作为一个高性能、跨语言的 Git hooks 管理工具,设计上非常注重组合性(composability)。它本身不提供 linting、formatting、testing 等具体功能,而是通过调用你项目中已有的工具(如 ESLint、Prettier、TypeScript、Vi
阅读全文
posted @ 2025-12-17 20:57
龙陌
阅读(21)
推荐(0)
摘要:
是的,通常情况下 lefthook 和 lint-staged 用一个就够了,因为它们解决的是同类问题:在 Git 提交前(或其他 Git 钩子阶段)自动运行代码检查或格式化任务。 但它们的定位、能力和实现方式有显著区别。选择哪一个,取决于你的需求和偏好。 🔍 核心对比 特性 lint-stage
阅读全文
posted @ 2025-12-17 20:55
龙陌
阅读(13)
推荐(0)
摘要:
在编写前端组件库文档时,合理使用图表可以显著提升可读性、理解效率和开发者体验。以下是一些推荐的图示内容分类及具体建议: 1. 整体架构图 用途:展示组件库的整体结构、模块划分、依赖关系。 适合内容: 组件分层(基础组件 / 业务组件 / 工具函数) 与设计系统(Design System)的关系 与
阅读全文
posted @ 2025-12-16 15:48
龙陌
阅读(22)
推荐(0)
摘要:
VuePress 2.x 不支持 Vue 2。 ✅ 官方明确说明 VuePress 2 是 完全基于 Vue 3 重构 的版本,其底层依赖包括: Vue 3(Composition API、新的响应式系统) Vite(作为默认构建工具) Vue Router 4 📌 官方文档明确指出: “VueP
阅读全文
posted @ 2025-11-23 20:24
龙陌
阅读(27)
推荐(0)