自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端性能优化如何做

性能API:使用浏览器提供的Performance API来获取详细的性能数据。埋点:在代码中添加监控点,记录关键性能指标和用户交互事件。

2024-04-17 08:45:40 379

原创 Xaas 简介

用户可以根据需求选择和定制所需的服务,无需购买和维护昂贵的硬件和软件,同时也减少了相关的部署和管理工作【1】【2】。通过XaaS,企业能够更快速地适应市场变化,专注于核心业务的发展。(Platform as a Service,平台即服务):提供开发、测试、部署和管理应用程序的平台和工具,用户可以在云平台上构建、测试和发布应用程序【1】。(Software as a Service,软件即服务):将应用程序作为服务提供给用户,用户通过互联网访问和使用应用程序,无需在本地安装和维护软件【1】。

2024-04-12 16:30:31 299

原创 CSS 3 有哪些新特性

CSS3(层叠样式表第三版)是CSS技术的一个重大更新,它引入了许多新特性和模块,旨在提高网页设计的灵活性、表现力和响应性。

2024-04-09 15:37:35 319

原创 HTML5 有哪些新特性

HTML5 是 HTML 标准的一个重大更新,它引入了许多新特性和改进,旨在提高 Web 应用的性能、互交性和多媒体支持。

2024-04-09 15:36:07 545

原创 JS 复杂状态管理

在JavaScript应用程序中,尤其是大型或复杂的单页应用程序(SPAs),状态管理是一个关键的考虑因素。随着应用程序的增长,状态管理可能变得复杂,需要一种系统性的方法来跟踪和更新应用程序的状态。

2024-04-09 15:35:09 308

原创 TypeScript 面试题

TypeScript 是一个开源的编程语言,它是 JavaScript 的一个超集,添加了可选的静态类型和基于类的面向对象编程。TypeScript 的设计目标是开发大型应用程序,它提供了编译时错误检查,这有助于在代码运行之前捕获错误。提高代码的可读性和可维护性。通过类型系统减少运行时错误。提供更好的开发工具支持,如自动完成、接口提示和重构。兼容现有的 JavaScript 代码,可以逐步迁移。答案。

2024-04-09 15:34:06 898

原创 计算机专业考研考哪些专业课

除了上述常见的专业课,一些学校可能还会根据专业方向设置其他课程,如人工智能、机器学习、计算机视觉、网络安全、分布式系统等。考生应该根据自己报考的学校和专业要求,提前查阅具体的考试大纲和参考书目,做好充分的准备。

2024-04-09 15:31:16 493

原创 LightHouse 性能优化

性能优化是一个持续的过程,需要开发者根据实际情况不断调整和改进。Lighthouse 提供了一个方便的工具来识别性能瓶颈,并提供了一系列的优化建议。通过实施这些建议,可以显著提高 Web 应用的加载速度、响应性和用户体验。记住,优化的目标不仅是提高性能指标,还包括提供更快、更可靠的用户体验。

2024-04-09 15:19:49 443

原创 Saas 平台是做啥子的

SaaS(Software as a Service,软件即服务)平台是一种软件分发模型,其中软件应用由第三方提供商托管,并通过互联网向客户提供。用户通常通过订阅模式支付费用,而不是购买和安装软件在本地计算机上。SaaS 平台的核心思想是将软件的访问和使用作为一项服务来提供,而不是产品。

2024-04-09 15:16:38 317

原创 Restful API 是啥

RESTful API(Representational State Transfer API)是一种基于REST(Representational State Transfer,表述性状态转移)原则构建的应用程序接口(API)。REST是一种软件架构风格,由Roy Fielding在他 2000 年的博士论文中提出,它定义了一组约束和模式,用于创建可伸缩的、可靠的网络系统。

2024-04-09 15:13:32 372

原创 DevOps 是什么

DevOps是一组实践、工具和文化哲学的组合,旨在缩短软件开发生命周期,提供高质量的软件持续交付。这个术语是“Development(开发)”和“Operations(运维)”两个词的结合,它强调开发(Dev)与IT运维(Ops)之间的协作和通信,以自动化软件交付和基础设施变更的过程,从而使得构建、测试和发布软件更加快捷、频繁和可靠。

2024-04-09 15:11:07 587

原创 节点包(Node Package)开发

节点包(Node Package)开发通常指的是创建一个可以在Node.js环境中使用的软件包或库的过程。这可以是一个全新的工具、一组实用的函数、一个框架或者任何其他可以在Node.js或前端项目中重用的功能。

2024-04-09 15:10:03 349

原创 什么是多核 CPU

多核CPU(Central Processing Unit,中央处理器)是指在一个处理器(芯片)中集成了两个或更多个独立的处理核心(core)。每个核心都能够独立执行指令和处理数据,这使得多核CPU能够同时处理多个任务或线程,从而提高了计算效率和整体性能。

2024-04-09 15:06:50 202

原创 简述线程和进程的关系和区别

进程和线程是操作系统中管理程序执行的两个基本概念。

2024-04-09 15:00:52 185

原创 最近一些前端面试问题整理

最近一些前端面试问题整理

2024-04-09 12:02:38 928

原创 说一下我理解的 React - batchUpdate 机制

batchUpdate 机制(批量更新机制)是理解 React 组件更新流程的重点,要搞清楚主要流程。梳理这篇博客,来帮助我更好地理解和记忆,水平有限,看到的同学如有发现讲的不对的地方,烦请指正。

2024-02-02 12:40:31 966

原创 Redux-tookit 简述

Redux Toolkit(也称为“RTK”)是 Redux官方推荐开箱即用的高效 Redux 开发工具集。它最初是为了帮助解决有关 Redux 的三个常见问题而创建的:"配置 Redux Store 过于复杂""我必须添加很多软件包才能开始使用 Redux 做事情""Redux 有太多样板代码"(指那些 action creators / action types / switch case 语句)

2023-12-29 12:24:18 874

原创 常见 Mock 方案对比

场景说明:在真实工作环境中,由于后端与前端并行开发,所以在开发前期是没有后端接口可供前端使用的,所以学会最适合自己的 Mock 数据的方法就很有必要。本篇文章会对比一些业界常见的 Mock 方案,大家根据自身情况选择并配置其中最适合的方案。常见 Mock 方案1. 代码侵入(直接在代码中写死 Mock 数据,或者请求本地的 JSON 文件)侵入的意思是其实本身书写的相关代码是一些与真实项目无关的代码,后期等真实接口出来之后,这些代码需要删除的,这就是代码侵入了项目。优点:无.

2022-08-12 17:36:16 480

原创 js解码编码decodeURI与decodeURIComponent区别

其中encodeURI()主要用于整个URI(例如,http://www.jxbh.cn/illegal value.htm),而encode-URIComponent()主要用于对URI中的某一段(例如前面URI中的illegal value.htm)进行编码。而encodeURIComponent()则会对它发现的任何非标准字符进行编码。经我的观测,很多网站的cookie在进行编码的时候,是encodeURIComponent格式的,所以应该使用decodeURIComponent()进行解码。...

2022-08-12 17:15:57 289

原创 webpack 之 配置多入口

文件结构:src: index.html,other.html,index.js,other.js配置文件:文件内容:index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <p>index page&l

2021-11-26 17:22:03 862

原创 思考:vnode 之于 Vue 的作用

vnode就是Vue 中的 虚拟 dom 。为什么会有虚拟 DOM 这么一个概念呢?因为 JS 引擎是单线程的,而直接频繁的操作和渲染 DOM 时,又是比较消耗性能的,所以由此引发的思考就是:能不能用 JS 先进行一系列的计算和整合,再 patch 到 真实的DOM 上,这样极大地利用了 JS 执行速度快的优势,也能减少直接操作 DOM,从而达到能够很好地提高性能的这样一个目的。然后 vnode就诞生了。vnode 是用JS 对象来模拟的一个 DOM 树结构,在真实的 DOM 节点发生改变时,将改变.

2021-11-11 17:43:37 727

原创 webpack 之 webpack5 webpack-dev-server 版本兼容问题

在写

2021-11-11 17:36:43 4191

原创 webpack 之 从 0 创建一个 webpack5 的项目

目标新建一个 webpack5 项目,包括开发环境和生产环境初始化 webpack 项目第一步:初始化 package.jsonnpm init -y第二步:安装 webpacknpm install webpack webpack-cli -D注意:-D等价于--save-dev; 开发环境时所需依赖 -S等价于--save; 生产环境时所需依赖第三步:初始化文件和目录创建 src 目录, src 目录下新增打包的入口文件 paths...

2021-11-11 17:34:45 1354

原创 手写 Promise.all 和 Promise.race

一、手写 Promise.all:思路:1. 首先 Promise.all返回的肯定是一个 promise对象,所以可以直接写 return new Promise((resolve, reject) => {});2. 遍历传入的参数,用Promise.resolve()将参数的每一项进行一个包裹,使其变成一个promise对象,因为传入的参数不一定是Promise类型,可能不存在 then 方法;3. 关键点是何时resolve,可以声明一个变量,进行计数,当在每个promise.

2021-10-21 17:02:23 643 1

原创 Promise 是什么?

异步会带来什么问题?如果两个动画需要按顺序执行,即第一个执行结束,再开始第二个,传统是使用回调,那就会造成回调深渊Promise示例:const p1 = new Promise((resolve, reject) => {ajax({url: xxx,success(data){resolve(data)},error(err){re...

2021-10-15 11:16:42 192

原创 token 和 sign 的理解

token:令牌,用于验证用户身份和登录状态的标识。实现方式:用户在登录时,将用户名和密码返回给服务器,登录成功的情况下,服务器会根据用户信息或其他方式生成一个token ,将 token 和用户 id 以及时间戳存入 token 表,并将这个 token 返回给客户端。之后用户就可以携带这个 token 进行业务访问,接口在请求时,生成一个时间戳,服务器在收到请求后,先对比该时间戳与 token 表中存的该 token 的时间戳,验证 token 是否过期,如果过期,直接让用户重新登录,并删除该过

2021-10-15 11:15:10 2093

原创 数据结构之二叉树

一、二叉树的先序遍历1. 先遍历根节点;2. 再遍历根节点的左节点;3. 遍历根节点的右节点const bt = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null, }, right: { val: 5, left: null, right: null, }, }, right: {

2021-09-20 14:50:46 100

原创 我对Vue 3.x Composition API 的理解

目录一、Vue3.x 的 Composition API 带来了哪些新功能?1. reactive2. ref、toRef、toRefs3. watch 和 watchEffect4. setup5. 生命周期函数二、对比 Vue2.x,Vue3.x 有哪些优势?三、如何正确看待 Composition API ?四、Composition API 与 Options API 如何选择?五、Composition API如何实现代码逻辑复用?一、Vue3...

2021-09-11 22:12:03 215

原创 promise&微任务宏任务问题整理

1. 问:for循环里面有1000次循环,前500次每次都是把data赋值为1,后500次每次都是把data赋值为2,问:dom一共渲染了几次?答:DOM一次都没有渲染,因为for循环是一个js执行的持续过程。js和DOM渲染是共享一个线程,js执行时DOM不会渲染。2. 声明一个promise的时候,是同步函数。如:new Promise((resolve, reject) => { console.log('aaa') // 这一步是同步函数,可直接执行 ...

2021-07-08 14:17:33 463

原创 宏任务和微任务

导读:什么是宏任务 什么是微任务 两者有什么区别1. 什么是宏任务macroTask?宏任务:包含执行整体的js代码、事件回调(DOM事件),XHR回调(异步请求,接口回调),定时器(setTimeout/setInterval/setImmediate),IO(input和output,文件的读出和写入)操作,UI render2.什么是微任务microTask?微任务:更新应用程序状态的任务,包括promise回调,MutationObserver,process.nextTi..

2021-07-08 14:13:12 1118

原创 eventloop事件循环/轮询

如下图:说明:call stack调用栈,是执行同步代码的地方web API是放置异步回调的地方,如定时器的timercallback queue是回调队列,即当web api中的函数达到可以触发回调函数的条件时,如setTimeout时间为1s,浏览器在web api中设置一个timer,当时间到达1s,且call stack中为空,没有同步代码在执行的时候,web api就把该定时器的回调函数推入到callback queue队列中具体步骤1. js单线程,会先执行同步函数,即在ca

2021-07-08 14:03:27 282

空空如也

空空如也

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

TA关注的人

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