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

原创 现今 CSS3 最强二维布局系统 Grid 网格布局
Grid 布局是一个基于网格的二位布局系统,是目前 CSS 最强的布局系统,它可以同时对列和行进行处理(它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局)CSS3 最强布局系统Grid 布局二维布局系统
2024-10-13 20:52:25
1937
1

原创 深度解析浏览器工作原理 - 浏览器渲染解析流程
当我们在浏览器中输入一个URL并发送请求时,主要会有如下几个处理步骤…1. URL 解析与缓存检查浏览器会先对 URL 进行解析,识别对应的协议(如 http、https)、域名、端口号和路径等信息浏览器在发送网络请求前,会先检查一下本地缓存(如浏览器缓存、系统缓存等)中是否已有对应请求的资源的副本浏览器缓存: 首先,浏览器会检查它的缓存中是否有这个域名的记录,因为之前访问过的网址的解析结果可能会被存储在浏览器缓存中操作系统缓存: 如果浏览器缓存中没有找到,浏览器会询问操作系统,因为操作
2024-08-22 19:58:04
2680
原创 Vue3 虚拟列表组件库 virtual-list-vue3 的使用
居于 Vue3 的虚拟列表组件库 virtual-list-vue3 的使用
2024-11-15 18:44:36
2992
1
原创 定高虚拟列表:让大数据渲染变得轻松
在数据如潮水般涌来的今天,如何高效地展示和管理这些数据成为了开发者们面临的一大挑战,传统的列表渲染方式在处理大量数据时,往往会导致页面卡顿、滚动不流畅等问题,严重影响用户体验(在页面渲染大量的 dom 时,不仅是在第一次渲染比较影响性能外,在后续的每一次回流或重绘时,也会造成巨大的性能的问题) - `我们需要知道 JS 执行永远要比 DOM 快的多`然而,有一种技术能够在不牺牲用户体验的前提下,显著提升大数据集的处理效率,它就是——**虚拟列表**
2024-11-06 12:00:33
1345
原创 探索 Intersection Observer API:提升网页性能的新途径
Intersection Observer API 提供了一种异步检测目标元素与祖先元素或视口相交情况变化的方法,其祖先元素或视口被称为根(root)在开发中过程中,我们可能常常需要判断某个元素是否进入了视口(viewport),即用户能不能够看到它在面对判断一个元素是否进入视口或某一个区域时,以前我们通常会使用方法获取对应元素的位置信息等,且还需要用到事件监听等然而事件监听和调用。
2024-11-04 18:39:09
860
原创 JavaScript 中的 Stream API 04(转换流 TransformStream 等 API)
TransformStream | TransformStreamDefaultController
2024-08-31 10:36:13
1309
原创 JavaScript 中的 Stream API 03(可写流 WritableStream 等 API)
WritableStream | WritableStreamDefaultWriter WritableStreamDefaultController
2024-08-31 10:35:55
782
原创 JavaScript 中的 Stream API 02(可读流 ReadableStream 等 API)
ReadableStream | ReadableStreamDefaultController | ReadableStreamDefaultReader
2024-08-30 17:58:55
1841
原创 JavaScript 中的 Stream API 01(Stream API 概述)
Stream: 该 API 允许 JS 可以以编程的方式访问从服务端接收的数据流,且开发人员可以按需对这些数据流进行一些处理...
2024-08-30 17:53:13
1963
原创 深入理解 JS 异步编程 03(Generator 生成器与 async/await)
Promise 在解决异步编程回调地狱的问题时,采用了链式的调用方式,但在代码比较复杂的业务逻辑中还是有可能出现嵌套问题的 生成器(Generator)是一种特殊的函数,它可以让我们更加灵活的控制函数再什么时候继续执行、暂停执行等基本使用1. 创建生成器函数: 2. yield: 3. 返回值: async/await 是 Generator + co 的一个语法糖
2024-08-29 11:30:21
1463
原创 深入理解 JS 异步编程 02(迭代器与可迭代对象篇)
本文深入探讨了编程中的两个重要概念——迭代器(Iterator)与可迭代对象(Iterable)
2024-08-28 00:08:08
641
原创 深入理解 JS 异步编程 01(Promise 篇)
Promise是JavaScript中用于处理异步操作的一种方式,它提供了一种更加优雅和可靠的方法来处理异步操作的结果。Promise通过封装异步操作的结果,使得我们可以以链式调用的方式处理多个异步操作,从而避免了传统回调函数中常见的“回调地狱”问题
2024-08-28 00:06:59
1815
原创 探索函数式编程:纯函数 | 高阶函数 | 函数柯里化 | 组合函数
函数式编程(FP : Functional programming)是一种范式,强调使用函数来构建程序,并且避免使用状态改变和可变数据(避免函数的执行存在副作用)
2024-08-27 01:05:41
3286
原创 MySQL 系统学习系列 - 数据库触发器与函数的使用《MySQL系列篇-07》
数据库触发器与函数的使用: 触发器(TRIGGER)是由事件来触发某一个操作(包括INSERT、UPDATE、DELETE语句),当数据库系统执行这些事件时,会激活触发其执行相应的操作 | MySQL数据库提供的内部函数,可以帮助用户更加方便地处理表中的数据
2024-08-27 01:05:10
854
原创 MySQL 系统学习系列 - 事务、视图与存储过程的使用《MySQL系列篇-06》
事务、视图与存储过程: 事务(transaction)是指访问并更新数据库中各种数据的一个程序执行单元(unit) [最小执行单元] | 视图是从一个或多个基本表(或视图)中导出的虚拟的表 | 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中经过第一次编译后调用不需要再次编译
2024-08-26 00:08:22
973
原创 MySQL 系统学习系列 - SQL 语句 DQL 语句的使用(3)《MySQL系列篇-05》
数据表查询语句: 多表连查 | 笛卡尔积 | 内连接 | 外连接 | 左外连接 | 右外连接 | 全连接 | union
2024-08-26 00:07:59
851
原创 MySQL 系统学习系列 - SQL 语句 DQL 语句的使用(2)《MySQL系列篇-04》
数据表查询语句: 外键 | 聚合函数 | having 语句
2024-08-25 01:13:09
295
原创 MySQL 系统学习系列 - SQL 语句 DQL 语句的使用(1)《MySQL系列篇-03》
数据库表常见查询语句: 全部查询 | 条件查询 | 模糊查询like | 分页查询 | 排序查询
2024-08-25 01:12:17
1128
原创 MySQL 系统学习系列 - SQL 语句 DML 语句的使用《MySQL系列篇-02》
该 MySQL 系列文章每一部分的内容都非常重要,我结合了个人使用总结及相应笔记对 MySQL 进行按语句模块进行划分,非常适合一点一点看文章结合实践来学习下去(整个系列学完后开发常用 SQL 语句不成问题)
2024-08-24 19:15:18
724
原创 MySQL 系统学习系列 - MySQL 概述与 DDL 语句的使用《MySQL系列篇-01》
该 MySQL 系列文章每一部分的内容都非常重要,我结合了个人使用总结及相应笔记对 MySQL 进行按语句模块进行划分,非常适合一点一点看文章结合实践来学习下去(整个系列学完后开发常用 SQL 语句不成问题)
2024-08-24 00:59:56
848
原创 个人 css 预处理器 scss 笔记分享
可以理解为,定义变量时要时不知道上面有没有定义过变量并且已经赋值 - 用于容错当变量已被定义并且已赋值的情况下,该行变量的定义不执行赋值【即保留原有的状态】 – 若还没有被定义或者定义了还未赋值,就正常执行default;// 因为 $content 在上面一行已经赋值,所以该行赋值无效default;// 因为 $new_content 还未被赋值过 - 所以该行赋值有效#main {编译后…#main {
2024-08-17 00:45:57
814
原创 带你认识什么是移动端适配,及常见的几种方案(em,rem,vw,vh,...)
原生App开发(iOS、Android、RN、uniapp、Flutter等).小程序开发(原生小程序、uniapp、Taro等).Web页面(移动端的Web页面,可以使用浏览器或者webview浏览):根据不同的设备屏幕大小来自动调整尺寸、大小:会随着屏幕的实时变动而自动调整,是一种自适应。
2024-08-17 00:41:11
1288
原创 ES6 到 ES13常见用法总结
因为var没有块级作用域所以外部可以访问到var - 并且var后存放在window之中(并两者是一一对应的)在ES6之前只有两个作用域的存在,一个是全局作用域(window),一个是函数作用域(function)方法会按照一个可以指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并位一个新数组返回。再早期JavaScript中,是不能正确的表示过大的数字 - ES11之前最大的int数值为。表示在一个代码中,使用了let、const声明变量,在声明之前,变量都是不可访问的。
2024-08-16 00:07:59
1066
原创 ArrayBuffer 是什么,TypedArray 与 DataView 视图又是什么?
ArrayBuffer 对象代表原始的二进制数据 | TypedArray 视图用来读写简单类型的二进制数据 | DataView 视图用来读写复杂类型的二进制数据。如果一段数据包括多种类型(比如服务器传来的 HTTP 数据),这时除了建立ArrayBuffer对象的复合视图以外,还可以通过DataView视图进行操作。由于视图的构造函数可以指定起始位置和长度,所以在同一段内存之中,可以依次存放不同类型的数据,这叫做“复合视图”方法用于将内存区域的一部分,拷贝生成一个新的 ArrayBuffer 对象。
2024-08-15 00:22:48
960
原创 带你认识 Blob、File、FileReader 对象分别是什么
用户读取 Blob 或 FIle 中的内容,当读取完成后 readyState 属性变为 DONE 状态,并触发 load 事件,此时 result 属性就包含一个表示文件数据的 arrayBuffer 对象。属性返回返回文件上次修改的日期的 "Unix 时间戳"(1970-1-1 00:00:00 UTC 至今的毫秒数)方法返回一个 ReadableStream 可读流对象,可通过读取该可读流将其返回包含中 blob 中的数据。属性返回文件的内容(仅在读取完成后有效)属性返回读取文件时返回的错误。
2024-08-15 00:15:43
833
原创 Fetch 的基本使用
fetch(请求地址,配置项) --> 返回一个 promise 实例 --> const p = fetch(请求地址,配置项)
2024-08-14 00:15:24
2533
原创 Git 常见命令总结
初始化 git 仓库克隆 git 远程仓库用于修改 git 配置(文件)全局修改当前 git 提交时的用户全局修改当前 git 提交时的用户邮箱配置命令别名(←: 后续就可以直接通过 git ci-m "desc" 来进行使用 "commit" 提交命令)Untracked / Unmodified / Modified / Staged(译: 未追踪 / 未修改 / 已修改 / 暂存区中的文件状态(new file / modified / ...))
2024-08-14 00:08:54
1083
2
原创 Web 前端项目与 Node 后端部署 Linux 服务器基本流程
*额外补充: ** 如果同学们觉得将项目放在 root 目录下不好,或者想要将项目放在其它目录中时,可以配置 "/etc/nginx/nginx.conf" 中的 "location" 跟目录访问地址。**通过 dnf 在服务器系统中(CentOS)下载对应的应用等 < dnf 是 Yum 的下一个版本,也是 Yum 的替代品>**
2024-08-13 21:36:26
746
原创 [文件上传] 大文件切片上传前后端处理代码示例(JS / Node / Koa)
【代码】[文件上传] 大文件切片上传前后端处理代码示例(JS / Node / Koa)
2024-08-13 20:22:49
2505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人