- 博客(72)
- 收藏
- 关注
原创 低代码平台的设计模式介绍
低代码平台是一种快速交付应用程序的开发工具,主要通过图形拖拽用户界面、应用配置界面,使开发者能够以最少的手动编码,或者不需要代码快速交付应用。这种平台的核心优势在于提高开发速度和降低技术门槛,使得非技术背景的用户也能参与到应用程序的开发中。低代码平台通常提供全栈可视化编程、全生命周期管理以及低代码扩展的能力。
2024-07-03 23:40:29 881
原创 Vue.nextTick原理
是 Vue.js 中常见的一种异步更新 DOM 的机制。实现原理主要涉及异步更新队列和事件循环机制。让我们在数据变化后等待 DOM 更新完成,非常有用。
2024-07-02 11:27:26 750
原创 一个好用的文档部署工具-VitePress
尤大大又出手了,这次他带来了VitePress1.0,一个基于Vite和Vue前端框架构建的静态站点生成器(SSG)。它主要用于快速搭建静态网页项目,尤其适合开发文档较多的场景,同时也支持自定义主题开发官网、博客等项目。
2024-03-25 16:56:06 486
原创 微信图片-透明背景被填充为白色
在微信中,图片通常会自动填充背景颜色,导致原本透明的部分不显示为透明,而是被替换为白色或其他默认颜色,导致图片在传输过程中,透明背景被破坏。
2024-03-19 17:38:06 3466
转载 回溯法概念
回溯法(Backtracking)是一种深度优先搜索算,用于在解决问题时尝试所有可能的解,并通过逐步构建解决方案来找到最优解。回溯法通常用于解决组合问题,如排列、组合、子集等。
2024-03-15 07:53:00 427
原创 动态规划概念
动态规划(Dynamic Programming,DP)是一种优化问题求解方法,通常用于解决具有重叠子问题和最优子结构性质的问题。它的基本思想是将原问题分解成更小的子问题,通过求解和保存这些子问题的解,避免重复计算,从而提高算法的效率。
2024-03-14 10:43:42 515
原创 贪心算法概念
一种在问题求解过程中总是做出当前看来最优选择的策略。这个"最优选择"是在某个特定意义上的局部最优解,而不是全局最优解。贪心算法并非对所有问题都能得到整体最优解,其关键在于贪心策略的选择。所选取的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。
2024-03-14 10:24:22 874
原创 最长递增子序列
对于数列中的每一个元素,我们记录下以该元素结尾的最长递增子序列的长度。然后,对于每一个新的元素,我们检查在它之前的元素,找到一个最长的递增子序列,该序列可以通过添加这个新元素来延长。最长递增子序列(Longest Increasing Subsequence,简称LIS)是在一个数列中找到一个最长的子序列(不一定连续),使得这个子序列中的所有元素都是按照严格递增的顺序排列的。结尾的最长递增子序列的长度。对于数组中的每个元素,它都会查找在它之前的所有元素,找到可以形成递增子序列的最长长度,并更新。
2024-03-13 22:40:38 734
原创 React架构介绍-三个部件
React16及以后版本的架构主要由三个关键部分组成:调度器(Scheduler)、协调器(Reconciler)和渲染器(Renderer)。这三个组件共同协作,实现了React的高效和响应式的更新。调度器负责调度任务的优先级,协调器负责找出变化的组件,渲染器负责将变化的组件渲染到视图中,从而实现了整个更新流程的高效和稳定。
2024-03-07 08:16:50 607
原创 RBAC权限模型
RBAC(Role-Based Access Control),即基于角色的访问控制,是一种广泛应用的权限管理模型。它的核心思想是将权限与角色相关联,不同的角色有不同的权限,用户通过被分配为不同的角色来获取相应的权限。
2024-03-06 23:55:53 673
原创 js中的 == 比较规则
在 js 中,== 是一种宽松相等运算符,它会在比较两个操作数时,尝试进行类型转换,以便比较它们的值如果类型不同是,两边的值都尽量转成number。
2023-12-29 22:36:29 535
原创 几种设计模式介绍
前言设计模式是一种用于解决软件开发中常见问题的通用解决方案,它可以提高代码的可读性、可维护性和可复用性。前端开发中也有很多应用设计模式的场景,比如处理异步操作、优化性能、封装复杂逻辑等。
2023-12-29 22:19:02 666
原创 react 为什么要重构架构
重构 React 的架构的主要原因是为了提高 UI 的渲染性能和用户体验,解决 CPU 和 I/O 的瓶颈,实现异步、可中断、可恢复、可优先级的更新流程,以及支持一些新的特性,如 Time Slice(时间分片)、Suspense(悬停)、Lazy Loading(懒加载)、Concurrent Mode(并发模式),所以react15递归、同步的更新执行是不支持的,重构就必须来了。
2023-12-28 16:27:52 1309 2
原创 react 代数效应 和 vue vm思想
前言React 的代数效应和 Vue 的 VM 思想是两种不同的编程模型,它们都试图解决 UI 开发中的一些挑战,如副作用管理、状态同步、组件抽象等。
2023-12-28 16:02:08 451
原创 vue&react中的副作用
前言副作用(side effect)是指在函数或组件中,除了返回值或渲染结果之外,对外部产生的影响。即一个动作引起的其他关联的动作,例如,修改全局变量、发送网络请求、操作DOM、打印日志等,都是副作用。vue和react是两种流行的前端框架,它们都使用虚拟DOM来提高渲染性能,但是它们对副作用的处理方式有所不同。vue的思想是响应式的:它通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式地更新对应的虚拟DOM。它的数据流是发散的,即从变动的位置,发散到子父组件的任何相关联的地方;
2023-12-27 10:25:38 1228
原创 vue中的watcher
Vue 中的 watcher 是一种特殊的对象,它可以订阅响应式数据的变化,并在变化时执行相应的回调函数。Vue 中有三种类型的 watcher。
2023-12-22 09:05:28 689
原创 JavaScript 作用域
JavaScript 作用域是指在代码中定义变量的区域,它决定了变量的可见性和生命周期。全局作用域是指在代码的任何地方都能访问到的变量,它们被定义在 window 对象上。全局变量在页面加载时创建,页面关闭时销毁。局部作用域是指在函数内部定义的变量,它们只能在函数内部使用,函数外部无法访问。局部变量在函数执行时创建,函数结束时销毁ES6 引入了两种新的声明方式:let 和 const,它们与 var 相比,最大的区别就是它们具有块级作用域。块级作用域是指变量在最近的 {} 代码块内有效。
2023-12-21 16:45:59 420
原创 树摇是什么
树摇(Tree Shaking)是一种用于优化 JavaScript 或 TypeScript 代码的技术,它的主要目标是删除未使用的代码(即未引用的模块、变量、函数等),以减小最终生成的代码的体积。
2023-12-12 15:56:56 693
原创 编译器:swc 究竟比 babel 快在哪里?
swc 与 babel 都是 JavaScript 编译器,它们的主要功能是将 ES2015+ 以及 TypeScript, Flow, JSX 等语法转换为浏览器或环境中的向后兼容的 JavaScript 代码。swc 相比于 babel 的优势主要是编译速度和执行速度方面,根据官方测试,swc 有至少 10 倍以上的性能优势。但是 babel 的优势主要是插件系统和生态方面,babel 有更多的插件和框架支持,可以处理更复杂的 JavaScript 项目。
2023-12-08 15:52:44 1898
原创 vue-template-compiler 的原理
Vue 模板是一种用 HTML 语法来描述 Vue 组件的视图的方式,例如:data() {return {" , };} , };} , };} , };} , };} , };} , };data() {
2023-12-05 17:32:00 2396
原创 vue-template-loader 是如何工作的?
vue-template-loader 的工作原理是,它会将 HTML 文件中的内容转换为一个 Vue 组件的渲染函数,并导出它。vue-template-loader 可以解决这些问题,它可以让你直接使用 HTML 文件来编写 Vue 组件的模板部分,而不需要在 .vue 文件中引用它们。如果你使用 vue-loader 来处理 .vue 文件,你可能会发现,你必须在 .vue 文件中的 template 标签内编写模板,或者使用 src 属性来引用外部的 HTML 文件。
2023-12-05 11:25:29 1615
原创 vue-loader是如何工作的?
单文件组件是一种将模板、脚本和样式封装在一个 .vue 文件中的方式例如:data() {return {" , };} , };} , };} , };} , };} , };} , };data() {
2023-12-05 10:39:35 1230
原创 原生微信小程序的原理
微信小程序是一种在微信内部运行的轻量级应用,它可以让用户在无需下载安装的情况下,快速地获取和使用各种服务。微信小程序的开发和普通的网页开发有很多相似之处,但也有一些独特的特点和原理。
2023-12-04 17:16:38 1307
原创 浏览器缓存:Cookie、LocalStorage、SessionStorage的区别与应用
浏览器缓存是一种在本地保存资源副本,以便在下次请求时快速获取的技术。浏览器缓存可以提高网站的性能,减少服务器的负载,节省流量和时间。Cookie和。
2023-12-02 18:40:03 1148
原创 当浏览器窗口被遮挡或隐藏,代码是否正常运行
你是否有过这样的经历,当你在浏览器中打开一个网页,然后切换到其他应用或者最小化浏览器,再回来时发现网页上的动画停止了,或者某些功能失效了?这是因为浏览器为了节省资源和提高性能,会对后台的标签页进行一些优化,导致js代码的执行受到影响。那么,当浏览器窗口被遮挡或隐藏时,js代码是否正常运行呢?哪些Api会被影响,哪些不会呢?本文将为你解答这些问题。
2023-12-02 18:27:47 1544
原创 前端浏览器的缓存策略
浏览器缓存是一种在本地保存资源副本,以便在下次请求时快速获取的技术。浏览器缓存可以提高网站的性能,减少服务器的负载,节省流量和时间。过期机制和验证机制。过期机制:是指浏览器根据资源的过期时间,判断是否可以直接使用缓存中的副本,而无需向服务器发起请求。过期时间可以通过以下两种方式设置::这是一个HTTP响应头,用于指定资源的最大有效期。例如,表示资源在3600秒内有效,之后需要重新请求。Expires:这也是一个HTTP响应头,用于指定资源的具体过期时间。例如,
2023-12-02 18:12:26 626
原创 Promise介绍
Promise是一种用于处理异步操作的JavaScript对象,它可以将生产代码和消费代码连接起来,让异步方法像同步方法一样返回值。异步操作是指在执行过程中可能会遇到延迟或等待的操作,例如网络请求、定时器、文件读取等。传统的JavaScript代码中,通常使用回调函数来处理异步操作的结果,但这样会导致代码的可读性和可维护性降低,以及出现回调地狱的问题。Promisepending:初始状态,既没有完成也没有失败fulfilled:操作成功完成rejected:操作失败Promise。
2023-12-01 17:02:07 453
原创 微前端框架 qiankun
qiankun是一个基于single-spa的微前端实现库,帮助你构建一个生产可用的微前端架构系统。qiankun支持多种技术栈的微应用接入,提供了简单、解耦、技术栈无关、独立开发、独立运行、增量升级、样式隔离、资源预加载等特性,以及umi插件一键切换。微前端是一种多个团队通过独立发布功能的方式来共同构建现代化web应用的技术手段及方法策略。技术栈无关:主框架不限制接入应用的技术栈,微应用具备完全自主权独立开发、独立部署:微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新。
2023-12-01 16:52:49 1166
原创 迭代器与生成器
是一个布尔值,表示是否已经遍历完序列。迭代器是一种对象,它可以按照一定的顺序遍历一个序列,并且可以在每次遍历时返回序列中的一个值。生成器是一种特殊的函数,它可以返回一个迭代器,通过使用。关键字来暂停执行,并返回一个值。在js中,迭代器必须实现一个名为。的特殊方法,该方法返回一个具有。方法的对象,该方法返回一个包含。语法来定义,函数中可以使用。是序列中的下一个值,
2023-12-01 16:29:39 910
原创 一文搞懂微前端
微前端是一种前沿的 Web 应用架构模式,它可以帮助开发者将一个庞大的前端应用拆分成多个小型的前端应用,实现技术栈的自由选择,业务模块的独立开发,应用部署的快速迭代,以及应用架构的增量演进。微前端也有一些挑战和限制,需要开发者根据自己的实际情况,选择合适的方案和框架,以及解决应用间的路由,隔离,通信等问题。
2023-12-01 14:05:39 1042
原创 浏览器安全攻击与防御
浏览器是我们访问互联网的主要工具,也是我们接触信息的主要渠道。但是,浏览器也可能成为攻击者利用的突破口,通过各种手段,窃取或篡改我们的数据,甚至控制我们的设备.本文将向大家介绍一些常见的浏览器安全的攻击方式和防御机制。
2023-11-30 14:55:20 1456
原创 JavaScript 的 Proxy 介绍
Proxy 是一个用于创建对象代理的对象,它可以拦截和自定义对象的基本操作,比如属性查找、赋值、枚举、函数调用等。Proxy 的用途有很多,比如日志记录、验证、格式化、内存优化等。Proxy 是一个强大的特性,它可以让我们在 JavaScript 中创建和使用对象代理,实现数据的安全传输、动态修改、懒加载等功能。Proxy 提供了一些简单易用的捕捉器,让我们可以方便地拦截和自定义对象的行为。Proxy 还可以和 Reflect 对象结合使用,实现对象的默认行为。
2023-11-30 11:31:13 406
原创 Node.js 的 os 模块介绍
os 模块是 Node.js 内置的一个模块,它提供了一些与操作系统相关的实用方法和属性,比如获取系统信息、环境变量、用户信息等。os 模块是 Node.js 的一个重要的模块,它可以让我们在 Node.js 中获取和操作操作系统相关的信息和功能,比如获取系统信息、环境变量、用户信息等。os 模块提供了一些简单易用的方法和属性,让我们可以方便地访问操作系统的特性。
2023-11-29 22:38:03 1439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人