Astro Themes by Whono
索引
关键渲染路径(CRP)的详细步骤
**关键渲染路径** 指的是浏览器将 HTML、CSS 和 JavaScript 转换为用户在屏幕上所能看到的像素内容所经历的一系列步骤。 这个过程是“关键”的,因为它直接决定了**首屏内容**的加载速度。优化关键渲染路径的目的就是尽可能快…
DNS 查询简述
[!abstract]+ 简单比喻:电话簿查询 想象一下你要找一个你不太熟悉的同事“张三”的电话号码: **检查手机通讯录**:你先在自己的手机通讯录里找“张三”。(**本地 DNS 缓存**) **询问办公室前台**:如果通讯录里没有,你…
JavaScript 垃圾回收机制简述
JavaScript 是一种**具有自动垃圾回收**的语言。这意味着开发者通常不需要手动管理内存,JavaScript 引擎(如 V8)会自动找出不再使用的变量并释放它们占用的内存。 垃圾回收的核心思想是:**确定哪些“对象”已经“不可达”…
JavaScript 原型链简述
JavaScript 是一种面向对象语言,是一种基于原型的语言,每个对象拥有一个原型对象。 原型链 **原型链** 是 JavaScript 中实现继承的机制。每个对象都有一个指向另一个对象的内部链接,这个被指向的对象就是它的**原型**。…
JavaScript 模块打包器 Rollup
**Rollup 是一个 JavaScript 模块打包器**。它的主要工作是将你编写的、分散的、多个小的 JavaScript 文件(或模块),按照它们的依赖关系,打包成一个或少数几个优化后的、可供浏览器高效执行的文件。 为什么需要打包?…
CSS 选择器优先级和覆盖样式
CSS 选择器优先级计算规则 CSS 选择器优先级通过权重系统计算,权重由四个组成部分(a, b, c, d)表示: 优先级权重组成 **a**: 是否使用内联样式(1 或 0) **b**: ID 选择器的数量 **c**: 类选择器、属…
Margin 折叠
一句话概括 当两个或多个垂直相邻的块级元素的 margin 相遇时,它们会合并(折叠)成一个 margin。这个合并后的 margin 的大小等于发生折叠的 margin 中的最大值。 这个行为**只发生在垂直方向**(即上下),水平方向的…
Intersection Observer API 监听是否进入了可视区域
API 介绍 Intersection Observer API 提供了一种**异步**观察目标元素与祖先元素或顶级文档视口(viewport)**交叉状态**(即“相交”)的方法。简单来说,它可以非常高效地**监听一个元素是否进入了可视区…
我的 oh-my-posh 上都有哪些配置
What 在 Windows 上使用的是 WSL2(fish)+power shell 组合,使用的是 oh-my-posh。 可以通过这个命令得知当前的 shell 是什么: 如果这个命令有输出,代表在 power shell 中,这会返…
🧩带图标的 Blog 跳转链接
将在线链接升级成可以预览网页图标的样子~ quartz 主题中,展示链接的插件是Plugin.CrawlLinks(),文档中介绍了现有的几种常用的设置,本文尝试将其拓展,增加一个 属性: 定义字段 在 中,添加字段定义: 在 定义中添加实…
为最近笔记添加排序和筛选
有时候会更新一些目录页说明,更新说明时会出现博客左上角的“最近笔记”模块显示成这些目录页的更新,于是在自定义设置中记录一下 的使用。 quartz 主题官方有一篇介绍:最近笔记 设置配置 自定义筛选:传递额外参数 。筛选函数应具有签名 。 …
🔑Git环境配置和SSH公钥设置
一般远程仓库都支持使用 ssh 访问和读写数据,提供 ssh 进行连接时,会使用本地的私钥文件进行身份验证,配置 ssh 密钥的步骤即: 在本地生成 ssh 密钥对 上传公钥到远程存储库 配置密钥 生成 ssh 密钥对 用户建议使用Powe…