想必每个程序员都对 git 非常熟悉,但是你是否知道 .git 目录的结构和每个部分的作用呢?今天我翻译的文章是《Inside .git》,作者是 Julia Evans。文章详细介绍了 Git 版本控制系统中的 .git 目录的结构和每个部分的作用。以下是对文章的全文翻译,为便于理解,部分内容可能稍作修改:

你好!这周我在 Mastodon 上发布了一个关于 .git 目录里有什么内容的漫画,有人想要文字版,于是诞生了这篇文章。我还添加了一些额外的注释。下面是漫画图片。它用大约 15 个词解释了你的 .git 目录的每个部分。

如果你想自己运行这些例子,可以使用 git clone https://github.com/jvns/inside-git

阅读全文 »


开发人员编写 JavaScript 代码;浏览器执行 JavaScript 代码。从根本上说,在前端开发中并不需要构建步骤。那么,为什么现代前端开发中会有构建步骤呢?

随着前端代码库的不断增长,以及开发人员工效变得越来越重要,直接将 JavaScript 源代码发送给客户端会导致两个主要问题:

1. 不支持的语言特性: 因为 JavaScript 在浏览器中运行,而且市面上有多种版本的浏览器,你使用的每一种语言特性,都会减少能够执行你的 JavaScript 的客户端数量。此外,像 JSX 这样的语言扩展不是有效的 JavaScript,不能在任何浏览器中运行。

2. 性能问题: 浏览器必须单独请求每个 JavaScript 文件。在大型代码库中,这可能导致需要数千个 HTTP 请求来渲染一个页面。在过去,HTTP/2 出现之前,这还会导致数千次 TLS 握手。

此外,可能还需要几次连续的网络往返才能加载完所有的 JavaScript。例如,如果 index.js 导入了 page.js,而 page.js 又导入了 button.js,那么就需要三次连续的网络往返才能完全加载 JavaScript。这被称为瀑布流问题。

源文件也可能因为长变量名和空白缩进字符而变得不必要地大,增加了带宽使用和网络加载时间。

前端构建系统处理源代码,并输出一个或多个为发送到浏览器而优化的 JavaScript 文件。生成的分发版通常对人类来说是难以理解的。

阅读全文 »


本文配置依赖如下版本:

Winddows 10
Visio 2021

Visio 快速给多条连接线添加箭头

使用 Visio 编辑流程图时,往往需要插入多条连接线,给每一个连接线设置箭头非常麻烦。想要同时给多条连接线设置箭头,可以这样做。

阅读全文 »


假设你需要使用 JavaScript 在服务器上读取多个文件。对于像 Node.js 这样的运行时,读取文件的方法有很多种。哪一种方法最好呢?让我们来考虑各种不同的方式。

使用 fs.promises

1
2
3
4
5
const fs = require('fs/promises');
const readFile = fs.readFile;
readFile("lipsum.txt", { encoding: 'utf-8' })
.then((data) => {...})
.catch((err) => {...})
阅读全文 »


本主题配置依赖如下版本:

node 22.3.0
npm 10.8.1
hexo 7.2.0
NexT 8.20.0

安装 Hexo

1
$ npm install -g hexo-cli
阅读全文 »
0%