摘要: 前言 数组特点 存储区间是连续,且占用内存严重,空间复杂也很大,时间复杂为O(1)。 优点:是随机读取效率很高,原因数组是连续(随机访问性强,查找速度快)。 缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中要往后移的,且大小固定不易动态扩展。 链表特点 区间离散,占用内存宽松,空间 阅读全文
posted @ 2021-02-04 23:14 龙陌 阅读(532) 评论(0) 推荐(0)
摘要: 原因:使用AI生成的vscode 插件代码,打包使用的tsc,没有将三方依赖打包进去,导致安装插件后,插件无法激活,仅注册了快捷键 解决:对比使用 yo生成的ts+pnpm 插件项目,切换为esbuild打包 注意发布的话,使用 @vscode/vsce 创建项目 安装 Yeoman 工具集 Yeo 阅读全文
posted @ 2025-09-24 14:30 龙陌 阅读(12) 评论(0) 推荐(0)
摘要: npx playwright install chromium 安装失败通常是由于网络问题(如连接超时、下载速度慢、被墙等)导致的。Playwright 的 Chromium 浏览器二进制文件较大(通常几百MB),直接在线下载在某些网络环境下不稳定。 以下是 离线安装 Playwright Chro 阅读全文
posted @ 2025-09-10 20:29 龙陌 阅读(175) 评论(0) 推荐(0)
摘要: 要在 VS Code 中配置保存时自动使用 ESLint 修复 Vue 文件,你需要正确安装和配置相关插件及设置。以下是详细步骤: ✅ 一、安装必要的扩展 ESLint(必装) 扩展名:ESLint by Microsoft 功能:提供 ESLint 集成,支持语法检查和自动修复。 Volar(Vu 阅读全文
posted @ 2025-09-07 19:30 龙陌 阅读(151) 评论(0) 推荐(0)
摘要: 用一个具体、易懂的实例来为你详细解释 RAG(Retrieval-Augmented Generation,检索增强生成)技术 是如何工作的。 🌟 什么是 RAG? RAG 是一种结合 信息检索(Retrieval) 和 文本生成(Generation) 的 AI 技术。它能让大模型在回答问题时, 阅读全文
posted @ 2025-08-20 21:53 龙陌 阅读(43) 评论(0) 推荐(0)
摘要: An Embedding Provider 是一种服务或工具,它能将文本(包括代码)转换为高维向量(即“嵌入向量”或“embeddings”),这些向量可以用于搜索、相似性比较、聚类等任务。在代码搜索场景中,Embedding Provider 能将代码片段转换为向量,使得系统可以通过向量相似度来查 阅读全文
posted @ 2025-08-20 20:18 龙陌 阅读(19) 评论(0) 推荐(0)
摘要: Vue 2.7 是 Vue 2.x 系列的一个重要更新,它允许用户在不完全迁移到 Vue 3 的情况下享受到一些 Vue 3 的新特性。以下是 Vue 2.6 和 Vue 2.7 之间的一些主要差异: Composition API 支持: Vue 2.7 引入了 Composition API,这 阅读全文
posted @ 2025-08-09 17:50 龙陌 阅读(103) 评论(0) 推荐(0)
摘要: 解决工程化里lint-staged+husky在monorepo项目中推送代码时不生效问题 现象:在 multirepo 时 lint-staged+husky 在推送代码时能正常生效,但在multirepo 转 monorepo后,每个子项目里配置的husky + lint-staged 在推送时 阅读全文
posted @ 2025-07-30 22:51 龙陌 阅读(17) 评论(0) 推荐(0)
摘要: Event.target 与 Event.currentTarget 简单来说 Event.target 指向事件触发的元素, Event.currentTarget总是指向事件绑定的元素 function hide(e) { e.currentTarget.style.visibility = " 阅读全文
posted @ 2025-07-30 21:56 龙陌 阅读(10) 评论(0) 推荐(0)
摘要: 大数据量下展开运算符性能问题的原因与优化 在 JavaScript 中,当处理大数据量数组时使用展开运算符(...)会导致严重性能问题甚至卡死,这主要由以下原因造成: 根本原因分析 1. 内存分配机制 展开运算符创建的是全新的数组对象,处理大数组时需要: 在内存中分配连续空间(时间复杂度 O(n)) 阅读全文
posted @ 2025-07-26 16:18 龙陌 阅读(38) 评论(0) 推荐(0)
摘要: 在 Vue 3 中图片/文本拖拽影响 mouseup 监听的问题,通常是由 Vue 3 的事件系统变化和 Composition API 的特性导致的。以下是根本原因分析和解决方案: 根本原因分析 Vue 3 的事件处理机制变化 Vue 3 使用更原生的 DOM 事件模型(移除了 Vue 2 中的部 阅读全文
posted @ 2025-07-26 16:11 龙陌 阅读(58) 评论(0) 推荐(0)
摘要: vue-cli 使用webpack5 编译后生产环境 link 标签插入的样式顺序是由什么决定的? 在 Vue CLI 项目中使用 Webpack 5 编译后,生产环境中 <link> 标签插入样式的顺序主要由几个因素决定: 1. 样式文件的引入顺序 在 .vue 文件或 JavaScript/JS 阅读全文
posted @ 2025-05-27 16:49 龙陌 阅读(67) 评论(0) 推荐(0)
摘要: vue-cli项目中什么会影响打包前后的style样式的加载顺序 在 Vue CLI 项目中,打包前后样式的加载顺序可能会受到多个因素的影响。了解这些因素有助于你更好地控制项目的样式加载顺序,从而避免样式覆盖等问题。以下是几个主要影响样式加载顺序的因素: 1. 样式文件的引入顺序 入口文件中的顺序: 阅读全文
posted @ 2025-05-27 16:48 龙陌 阅读(69) 评论(0) 推荐(0)
摘要: 在 npm 发布时,用户默认安装的是最新发布的版本(latest tag 指向的版本),而不是版本号最高的版本。 根据你的例子: 先发布 1.0.2 → 此时 latest 指向 1.0.2 然后发布 1.0.1 → 此时 latest 会指向 1.0.1(因为它是最后发布的) 所以用户执行 npm 阅读全文
posted @ 2025-05-23 14:49 龙陌 阅读(61) 评论(0) 推荐(0)
摘要: 关于浏览器在处理DOM尺寸超出特定大小时的行为,确实存在一些限制和差异。特别是对于非常大的页面或元素,不同的浏览器可能会有不同的表现。 谷歌浏览器(Chrome) 在Chrome中,确实存在对元素尺寸的限制。根据相关资料,当一个元素的尺寸(宽度或高度)超过 (2^{24}) 像素(即16,777,2 阅读全文
posted @ 2025-05-23 14:00 龙陌 阅读(36) 评论(0) 推荐(0)
摘要: 当你在项目中安装一个新的依赖项时,package-lock.json 文件确实会被更新以包含这个新添加的依赖及其版本信息。 然而,对于已经存在于 package-lock.json 中的其他依赖包,默认情况下它们不会被升级。 以下是几点需要注意的事项: 锁定版本保持不变:已有的依赖包在其 packa 阅读全文
posted @ 2025-05-21 13:45 龙陌 阅读(188) 评论(0) 推荐(0)
摘要: package-lock.json 和 npm-shrinkwrap.json 都是由 npm 生成的文件,用于锁定项目的依赖版本,确保在不同的环境中安装相同的依赖版本。尽管它们的功能相似,但在使用场景和一些细节上存在差异。 主要区别 适用范围: package-lock.json: 这是 npm 阅读全文
posted @ 2025-05-21 13:39 龙陌 阅读(87) 评论(0) 推荐(0)
摘要: package-lock.json 文件(在某些情况下可能是 npm-shrinkwrap.json,它们遵循相同的格式)用于锁定项目依赖的确切版本。这意味着当你或他人使用 npm install 命令安装依赖时,npm 会根据 package-lock.json 文件中记录的版本号来安装具体的依赖 阅读全文
posted @ 2025-05-21 13:38 龙陌 阅读(69) 评论(0) 推荐(0)
摘要: 虚拟滚动树在开启性能模式(perfMode: true)时,内存使用会显著增加的原因主要与其实现机制有关。以下是详细解释: ✅ 什么是性能模式? 性能模式通过 预加载和缓存更多节点数据 来提升滚动的流畅性,适用于大数据量场景下的快速响应。 perfMode: { type: Boolean, def 阅读全文
posted @ 2025-05-17 21:22 龙陌 阅读(73) 评论(0) 推荐(0)
摘要: 在使用 Vue CLI 创建的项目中,webpack.config.js 文件通常是隐藏的,因为 Vue CLI 使用了内部默认的 Webpack 配置。然而,你可以通过以下方法查看或自定义生成的 Webpack 配置。 1. 使用 vue inspect 命令 Vue CLI 提供了一个内置的命令 阅读全文
posted @ 2025-04-27 13:12 龙陌 阅读(135) 评论(0) 推荐(0)
摘要: 代理服务器重写 Cache-Control 的行为虽然不常见,但在某些特殊场景下可能是必要的。这种操作需要非常谨慎,因为不当的修改可能导致缓存行为不符合预期,进而影响用户体验或数据一致性。以下是详细说明代理服务器可能重写 Cache-Control 的特殊情况及其原因: 1. 网络环境限制 在某些网 阅读全文
posted @ 2025-04-26 20:08 龙陌 阅读(77) 评论(0) 推荐(0)
摘要: Cache-Control 响应头通常是由原始服务器(即提供内容的服务器)来配置的。这是因为原始服务器最了解它所提供的资源的状态和特性,比如哪些资源可以被缓存、缓存的有效期是多长等信息。通过设置适当的 Cache-Control 指令,原始服务器能够控制客户端(浏览器)和中间代理服务器如何缓存响应内 阅读全文
posted @ 2025-04-26 20:05 龙陌 阅读(46) 评论(0) 推荐(0)
摘要: 代理服务器缓存(Proxy Server Cache)是指位于客户端与目标服务器之间的代理服务器用于存储响应数据的一种机制。当用户请求访问网络资源时,如果该资源之前已经被代理服务器缓存下来,则可以直接从缓存中提供服务,而不需要再次连接到原始服务器获取内容。这种机制可以显著减少网络流量、缩短响应时间, 阅读全文
posted @ 2025-04-26 20:01 龙陌 阅读(51) 评论(0) 推荐(0)
摘要: 良好的日志管理不仅能够提升代码的可维护性,还能减少潜在的安全隐患和性能问题。 以下是一个涉及前端 console 日志打印的管理规范: 前端 Console 日志管理规范 1. 基本原则 生产环境禁用日志:生产环境下,所有 console.log、console.warn 等日志必须移除或禁用,避免 阅读全文
posted @ 2025-04-26 12:45 龙陌 阅读(113) 评论(0) 推荐(0)
摘要: 在 Vue 项目中,是否只需要禁用 HTML 文件的缓存,而不需要额外处理 JS 和 CSS 等静态资源的缓存,取决于你的项目打包配置和缓存管理策略。以下是详细的分析和建议: 1. Vue 打包文件的特点 Vue 项目通常使用 vue-cli 或 Vite 进行打包,打包后的文件具有以下特点: HT 阅读全文
posted @ 2025-04-23 09:21 龙陌 阅读(142) 评论(0) 推荐(0)
摘要: 在 Nginx 中,expires -1; 的配置用于设置 HTTP 响应头中的 Cache-Control 和 Expires,从而控制浏览器对静态资源的缓存行为。具体来说,expires -1; 表示资源不缓存(或者缓存时间非常短),并会在每次请求时重新验证资源。 1. expires -1; 阅读全文
posted @ 2025-04-23 09:00 龙陌 阅读(339) 评论(0) 推荐(0)
摘要: 是的,Webpack 的低版本(例如 4.x 及以下)默认不支持 package.json 中的 exports 字段。exports 是 Node.js 在 v12 引入的功能,并在后续版本中逐步完善。它允许包的作者更细粒度地控制模块的入口点和导出路径。 如果你使用的是 Webpack 4 或更低 阅读全文
posted @ 2025-04-22 09:12 龙陌 阅读(220) 评论(0) 推荐(0)
摘要: 在 JavaScript 中,可以通过以下方法判断一个函数是否是 async 函数: 方法 1:使用 Object.prototype.toString async 函数的类型标签是 "[object AsyncFunction]",可以利用这一点来判断。 function isAsyncFunct 阅读全文
posted @ 2025-04-16 21:14 龙陌 阅读(67) 评论(0) 推荐(0)
摘要: 是的,完全可以仅在 Docker 内部的 Nginx 中配置不缓存 HTML 文件,而外部的 Nginx 不需要额外配置缓存相关的规则。这种方式可以简化外部 Nginx 的配置,同时确保 HTML 文件不会被缓存。 以下是具体的实现方式和注意事项: 1. 为什么可以在 Docker 内部 Nginx 阅读全文
posted @ 2025-04-15 09:09 龙陌 阅读(73) 评论(0) 推荐(0)
摘要: config.optimization.splitChunks({ cacheGroups: { default: false } }); 这个配置的作用是什么 config.optimization.splitChunks 是 Webpack 的一个配置选项,用于控制代码分割(code split 阅读全文
posted @ 2025-04-15 08:57 龙陌 阅读(105) 评论(0) 推荐(0)
摘要: 为了确保 http://www.test.com/longmo/#/ 页面的 HTML 文件不被缓存,可以通过 Nginx 配置实现。以下是详细的配置方法: 背景分析 URL 分析: http://www.test.com/longmo/#/ 中,#/ 是前端路由的一部分(通常是单页应用 SPA 的 阅读全文
posted @ 2025-04-14 19:58 龙陌 阅读(213) 评论(0) 推荐(0)
摘要: 在 npm 中,包的维护者通过发布新版本并为其分配标签(tag)来设置“最新版本”。以下是具体的步骤和方法,说明包维护者如何设置包的最新版本: 1. 发布新版本 包维护者需要先更新包的代码,并修改 package.json 文件中的版本号。版本号遵循语义化版本控制(SemVer),根据变更内容递增主 阅读全文
posted @ 2025-04-13 14:21 龙陌 阅读(147) 评论(0) 推荐(0)
摘要: 种子随机数生成器(Seed-based Random Number Generator)是一种使用初始值(称为“种子”)来初始化随机数生成过程的方法。这种类型的随机数生成器在计算机科学和编程中有多种用途,特别是在需要可重复的随机性或特定随机序列的情况下。 作用 可重复性: 调试与测试:通过设置相同的 阅读全文
posted @ 2025-04-12 16:27 龙陌 阅读(126) 评论(0) 推荐(0)
摘要: 输入前的预防措施 设置文本格式‌ 选中单元格 → 右键选择"设置单元格格式" → 数字选项卡选择"文本" → 输入15位以上数字‌ 输入单引号前缀‌ 在输入数字前加英文单引号 '(如 '123456789012345),强制以文本形式存储‌ 已输入数据的修复方法 通过"数据→从文本/CSV导入"功能 阅读全文
posted @ 2025-04-11 19:37 龙陌 阅读(914) 评论(0) 推荐(0)
摘要: 是的,package.json 中的 imports 字段的设计要求条目必须以 # 开头。这是为了确保这些内部模块路径与外部包的模块标识符区分开来,避免命名冲突和歧义。 为什么需要以 # 开头? 区分内部模块和外部依赖: 外部依赖通常使用裸模块标识符(bare specifiers),例如 loda 阅读全文
posted @ 2025-04-05 17:00 龙陌 阅读(71) 评论(0) 推荐(0)
摘要: 在使用 pnpm 时,如果需要指定某个包从内网地址下载,可以通过以下几种方式实现: 1. 使用 .npmrc 文件 .npmrc 是 npm 和 pnpm 的配置文件,可以用来定义包的下载源。你可以通过设置特定包的解析地址来指定从内网地址下载。 步骤: 在项目的根目录下创建或编辑 .npmrc 文件 阅读全文
posted @ 2025-04-02 17:11 龙陌 阅读(540) 评论(0) 推荐(0)
摘要: 是的,页面上的 DOM 节点过多确实可能导致浏览器卡死或性能显著下降。当一个网页包含大量的 DOM 节点时,可能会在以下几个方面影响浏览器性能: 1. 渲染性能 重绘和重排(Reflow 和 Repaint):每当页面上的某些元素发生变化(如尺寸、位置等),浏览器需要重新计算布局(reflow)并重 阅读全文
posted @ 2025-03-28 11:22 龙陌 阅读(237) 评论(0) 推荐(0)
摘要: @echo off set "MyChrome_NAME=MyChrome" set "MyChrome_NAME_SHORT=MyChrome" set "MyChrome_DESCRIPTION=Chrome portable launcher and updater" set "MyChrom 阅读全文
posted @ 2025-03-24 18:25 龙陌 阅读(22) 评论(0) 推荐(0)
摘要: 在前端项目打包发布后,如果需要查询某个依赖包在打包时安装的版本号,可以通过以下几种方式实现。这些方法可以帮助你在发布后的环境中追溯依赖的版本信息。 方法 1: 在打包时将依赖版本写入到构建产物中 你可以在打包过程中动态获取依赖包的版本号,并将其嵌入到构建产物(如HTML、JavaScript文件)中 阅读全文
posted @ 2025-03-24 16:22 龙陌 阅读(291) 评论(0) 推荐(0)
摘要: 使用油猴(Tampermonkey)脚本可以实现对页面行为的监听与修改,包括监听window.open事件、处理Cookie等操作。不过,直接通过这种方式在不同域名之间复制和粘贴Cookie存在一些安全性和技术上的挑战: 同源策略:浏览器的安全机制限制了JavaScript访问不同源(协议+域名+端 阅读全文
posted @ 2025-03-22 21:33 龙陌 阅读(127) 评论(0) 推荐(0)
摘要: constants.scss $namespace: 'longmo' !default; $common-separator: '-' !default; $element-separator: '__' !default; $modifier-separator: '--' !default; 阅读全文
posted @ 2025-03-16 23:00 龙陌 阅读(34) 评论(0) 推荐(0)