自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 线上笔试神器,线上编程笔试神器,轻松拿下大厂笔试

按照教程一步一步来就行了,非常简单,还有售后群聊,有问题直接在群里咨询就行了,软件和服务都非常到位。

2025-12-23 23:51:18 125

原创 免费获取满血版 DeepSeek 流程

不推荐个人本地部署,推荐白嫖满血版 DeepSeek

2025-02-06 10:18:44 2759

原创 【git】略微解析一下 git cherry-pick 命令

是一个强大的命令,它允许你精确地将历史中的某一次提交引入到当前分支。它在处理紧急修复和选择性合并时特别有用,但请注意,过度使用它可能会导致分支历史变得复杂和难以追踪,因此在团队协作中应谨慎使用。

2026-01-05 22:21:31 480

原创 【场景】笛卡尔积

核心算法:商品多规格组合的基础是「笛卡尔积」,负责生成所有理论上的维度组合;业务扩展:实际电商中需叠加「组合过滤」(剔除无效组合)、「SKU映射」(关联价格/库存);性能优化:维度多的时候,通过「懒生成」「后端预计算」避免组合数爆炸。这个逻辑是电商SKU管理的核心,几乎所有电商平台(淘宝、京东、拼多多)的商品规格选择,底层都是笛卡尔积+业务过滤的思路。

2025-12-15 23:07:41 397

原创 【vue】diff算法简介

最长递增子序列(LIS)是找数组中「最长递增非连续子序列」的算法,Vue3 用的是 O(n log n) 的贪心+二分实现;Vue3 在列表 diff 算法中核心依赖 LIS:通过计算可复用节点索引数组的 LIS,找到“无需移动的最长节点序列”,最小化 DOM 操作,提升更新性能;这是 Vue3 对比 Vue2 diff 算法的重要优化点(Vue2 未用 LIS,diff 时间复杂度更高)。

2025-12-15 23:03:44 780

原创 【vue】通俗易懂的剖析vue3的响应式原理

代理拦截:用Proxy包裹数据,拦截读(get)和写(set);收集依赖:读数据时(get),把用到数据的副作用函数记下来;触发更新:改数据时(set),执行所有记下来的副作用函数。reactive:处理对象/数组,默认深响应(嵌套对象也能监听);ref:处理基本类型,本质是代理{ value: 原值 };:浅响应,只监听第一层属性;WeakMap:依赖容器用它是为了内存友好(数据销毁后自动回收依赖,不泄漏)。

2025-12-15 23:00:07 978

原创 【场景】用户名+密码+验证码的登录全流程

用户输入验证码后提交登录表单,前端将用户名、加密后的密码、验证码、UUID一并发送至后端。前端根据权限列表展示对应菜单和按钮,自动跳转至系统首页,完成登录。用户访问登录页面,输入用户名、密码,点击“获取验证码”按钮。

2025-12-11 23:54:46 446

原创 【vue】通俗详解package-lock文件的作用

,即使没有 lock 文件,也会下载该精确版本(但这种情况极少,因为大家通常用模糊范围)。(包括直接依赖 + 所有间接依赖),且依赖的下载源、哈希值都要匹配,确保“一模一样”。到新的精确版本——此时 lock 文件会“跟着新范围走”,而非死守旧版本。(或不带包名更新所有),npm 会忽略 lock 文件,按。的模糊范围下载最新版,并更新 lock 文件到新版本。,npm 会重新解析新的范围,下载对应最新版,并。,强制安装 lock 文件中记录的。会拉 1.x.x 最新版,的依赖版本范围(比如把。

2025-12-11 14:28:39 291

原创 【场景】前端怎么解决离线收银、数据同步异常等场景问题

离线层:用IndexedDB保障核心数据的本地存储与事务性,Service Worker保障页面可用;同步层:幂等设计+指数退避重试+优先级同步,解决各类同步异常;业务层:离线仅保留核心功能,异常订单支持手动兜底,全链路日志保障可追溯;对账层:本地与服务端定期对账,保证金额、库存最终一致。离线能收、数据不丢、同步不重、异常可解,即使极端场景下也能通过人工兜底避免账实不符。

2025-12-11 10:09:54 973

原创 【vue】收银界面离线可用,本地缓存订单,网络恢复后同步

搭配请求队列保证同步可靠性,完全满足离线下单、联网自动同步需求。

2025-12-11 10:05:53 657

原创 【vue】dep.notify() 是什么意思?

/ 依赖管理器:收集Watcher,触发更新// 存放所有依赖当前属性的Watcher// 收集依赖:把当前Watcher加入数组depend() {if (Dep.target) { // Dep.target 是当前活跃的Watcher(比如组件渲染Watcher)// 通知所有Watcher更新notify() {// 遍历所有依赖的Watcher,执行update方法// Dep.target:全局变量,标记当前正在执行的Watcher(渲染/计算/监听)Watcher。

2025-12-08 13:45:17 338

原创 【vue】vue2和vue3响应式原理区别

特性Vue2Vue3底层 API监听粒度单个属性整个对象新增/删除属性需 $set / $delete天然支持数组下标修改无响应有响应复杂数据类型不支持 Map/Set支持 Map/Set/WeakMap 等初始化性能递归全遍历,层级深则慢懒递归,初始化快响应式模块独立性耦合在 Vue 实例中完全独立,可单独使用基本类型响应式需包装成对象ref 包装,自动解包。

2025-12-08 13:44:43 956

原创 【JavaScript】前端如何处理服务端部分接口加解密

无感区分加密/非加密接口,低耦合易维护。

2025-12-08 13:27:46 397

原创 【JavaScript】Set 和 Map 核心区别与实战用法(ES6 集合全解析)

核心结论SetMap核心功能去重、存唯一值、集合运算灵活键值存储(替代 Object)核心优势自动去重、简洁的存在性判断键任意类型、有序、无原型冲突实战关键词去重、标签、权限、集合运算缓存、复杂键、动态键值对「存唯一值用 Set,存键值对用 Map」。两者都是 ES6 为解决传统数组/对象缺陷设计的集合类型,Set 专注“值的唯一性”,Map 专注“灵活的键值映射”,配合数组的扩展运算符(...)可轻松实现转换和运算。

2025-12-08 00:15:02 1020

原创 【JavaScript】Promise 完全指南

解决回调地狱,让异步代码扁平化;统一异步操作的成功/失败处理逻辑;提供丰富的静态方法(all/race 等),满足多异步场景需求。

2025-12-08 00:10:42 1117

原创 【JavaScript】forEach 和 map 核心区别(附示例+选型)

forEach无返回值,用于“执行操作”;map返回新数组,用于“数据转换”。map支持链式调用,forEach不支持;两者都无法中断遍历。有返回新数组的需求用 map,无则用 forEach,无需纠结性能(日常场景差异可忽略)。

2025-12-07 23:53:37 543

原创 【CSS】Grid 布局 vs Flex 布局

选择依据选 Flex 布局选 Grid 布局布局维度一维(行/列)二维(行+列)布局思路内容驱动容器驱动需求场景线性排列/居中/伸缩网格/跨行列/页面整体布局嵌套需求允许嵌套无需嵌套「一维线性用 Flex,二维网格用 Grid」。Flex 是“轻量型”线性布局工具,简单、灵活、兼容性更好;Grid 是“重量级”二维布局工具,能实现 Flex 需嵌套才能完成的复杂布局,语法更强大但学习成本稍高。实际开发中组合使用,能兼顾效率和灵活性。

2025-12-07 23:48:53 344

原创 【vue】vue中父子组件的生命周期

阶段核心顺序开发常用场景挂载父初始化 → 子初始化 → 子挂载 → 父挂载父 mounted 中调用子组件方法更新父更新前 → 子更新 → 父更新完成监听子组件更新后同步数据销毁父销毁前 → 子销毁 → 父销毁完成子组件清理定时器/事件监听「挂载时子先完,销毁时子先完;更新看数据,父变子更,子变自更」。实际开发中,无需死记所有顺序,核心抓住「父等子挂载、子先销毁」的原则,结合watch处理数据依赖,即可规避绝大多数生命周期相关问题。

2025-12-07 23:44:01 530

原创 【JavaScript】Map对象和普通对象Object区别

选择依据选 Object选 Map存储“对象模型”(有属性/方法)✅❌键是对象/数组等非字符串类型❌✅频繁增删/大量数据❌✅依赖插入顺序迭代❌✅需要 JSON 序列化✅❌静态少量键值、点访问更简洁✅❌Object 适合“静态数据模型”,Map 适合“动态键值集合”。

2025-12-07 23:39:21 1290

原创 【NativeScript-Vue】环境搭建

地址:https://docs.nativescript.org/setup/macos#setting-up-macos-for-ios。

2025-12-07 14:33:29 223

原创 【跟着 deepseek 学 NestJS】依赖注入和控制反转

比如,假设有一个前端组件需要获取数据,传统方式可能在组件内部直接调用API,但使用DI的话,可以将数据获取的服务通过props或context注入,这样组件不关心数据来源,只需使用即可。控制反转则是更广泛的概念,指的是将程序的控制权交给框架或容器,而不是由开发者直接控制。在 Nest.js 中,框架就像“全局的父组件”,帮你自动传递所有依赖的“props”(Service)给需要的类。另外,用户可能想知道为什么Nest.js要用这些概念,可能是因为模块化、可测试性和可维护性,所以需要强调这些优点。

2025-02-06 10:42:48 918

原创 Java Script 设计模式 —— 原型模式

访问一个 JavaScript 实例的属性/方法时,它首先搜索这个实例本身;当发现实例没有定义对应的属性/方法时,它会转而去搜索实例的原型对象;如果原型对象中也搜索不到,它就去搜索原型对象的原型对象,这个搜索的轨迹,就叫做原型链。明明没有在 dog 实例里手动定义 eat 方法和 toString 方法,它们还是被成功地调用了。属性,它指向构造函数的原型对象,这个原型对象中有一个 constructor 属性指回构造函数;属性,当我们使用构造函数去创建实例时,实例的。在上面的代码基础上,调用两个方法。

2023-11-10 00:26:41 88 1

原创 Java Script 设计模式 —— 单例模式

保证一个类仅有一个实例,并提供一个访问它的全局访问点,这样的模式就叫做单例模式。

2023-11-09 23:28:12 93 1

原创 Java Script 设计模式 —— 工厂模式·抽象工厂(理解“开放封闭”)

像 Java/C++ 这样强类型的静态语言,在创建对象时,需要时刻关注类型之间的解耦,以便该对象在后面可以表现出多态性。但 JavaScript 是弱类型语言,具有天然的多态性,不需要考虑类型耦合问题。

2023-10-16 21:11:43 80

原创 Java Script 设计模式 —— 工厂模式·简单工厂(区分“变与不变”)

工厂模式就是将创建对象的过程单独封装,这样的操作就是工厂模式。它的应用场景非常容易识别:有构造函数的地方,我们就应该想到简单工厂;在写了大量构造函数、调用了大量的 new、自觉非常不爽的情况下,我们就应该思考是不是可以用工厂模式来重构代码了。但工厂模式不止这一种表达形式。本章内容可以看到,构造器解决的是多个对象实例的问题,简单工厂解决的是多个类的问题。那么当复杂度从多个类共存上升到多个工厂共存时又该怎么处理呢?

2023-10-08 22:36:48 76

原创 Java Script 设计模式 —— 概述

设计模式

2023-10-07 16:18:27 61 1

原创 一个小工具,通过高德地图API,地址查找经纬度;点击地图获取经纬度点

一个根据高德地图API来获取经纬度的小工具,输入地址查处对应所有的经纬度,产后去选择自己要的地点,点击地图即可获取到相对应的经纬度!

2023-06-18 23:14:00 651

原创 前端基础工程项目规范等

hooks:一些时机中的回调Git Hooks:Git 流程中时机的回调,通过 hooks,可控制流程的进行。提交代码时用pre-commit这个 hooks 做校验通过 hooks 控制 A 能不能进行到 B。

2023-05-19 18:30:09 213 1

原创 naiveui 表格数据,编辑表格功能,下拉框

naiveui 表格数据,编辑表格功能,下拉框

2022-01-11 16:01:20 5086 8

原创 vue加载百度离线地图V3.0瓦片数据,瓦片数据做nginx代理

1:资源准备1.1百度离线文件链接: https://pan.baidu.com/s/1-3tZ6eZvp2vdCsWLi-9MAg提取码: vjxa1.2瓦片数据下载器链接: https://pan.baidu.com/s/1MZjWobc1DQGX_ApYBNtROg提取码: pxd12:构建vue的空项目此步直接略过,不会的自行解决3:在vue2.x中使用3.1 把下载的1.1中的百度离线文件解压到 public/static下,static文件夹自己新建一个3.2 在inde

2020-10-21 22:46:02 7311 30

原创 根据element-ui官网步骤安装,按需引入,报错,Cannot find module ‘babel-preset-es2015’

这个错的原因就是从你的项目依赖中找不到 babel-preset-es2015下面说解决办法:直接运行下面的命令行安装这个依赖yarn add babel-preset-es2015 --dev或者npm install babel-preset-es2015 -D安装完成之后,在 .babelrc 文件中,进行如下修改:{ "presets": [["@babel/preset-env", { "modules": false}]], "plugins": [

2020-05-25 16:21:00 1244 3

原创 解决有些烦人的eslint警告:定义未使用,** is defined but never used eslint

packjson加入"no-unused-vars":"off"

2020-04-20 17:47:01 4563

空空如也

空空如也

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

TA关注的人

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