thunkli

WebFont-macOS字体处理App

WebFont是一个macOS平台的字体处理客户端,它可以把字体文件中的指定字形导出为svg、pdf和png格式的文件,你可以在偏好设置中指定任意的颜色和尺寸。 快捷键 多选:command+鼠标点击 连选:shift+鼠标点击 其他 选中字形点击右键快速导出 从菜单栏批量导出选中的字形 下载 App store: https://itunes.apple.com/cn/app/id1181350496

发表在 Contributed | |
thunkli

macOS中staff和wheel是什么?

“staff”和“wheel”是“Groups”。 Unix权限分为User(Owner)、Groups、World(Other),并为每个用户类别分别设置了读取,写入和执行权限。 “staff”和“wheel”是标准Groups。 通常,向所有用户帐户授予“staff”成员身份。因此,如果您在系统上创建另一个用户帐户,则它们将具有唯一的用户ID,但也将被授予“staff”成员身份。可以分配权限,允许其他Staff成员访问您的文件,但拒绝World/Other访问(注意:World并不真正意味着 … 继续阅读

发表在 Memo | |
thunkli

Node中的设计失误 – Ryan Dahl

背景 我通过其初始开发来创建和管理Node。 我的目标主要集中在对事件驱动的HTTP服务器进行编程上。 当时的重点对于服务器端JavaScript至关重要。当时还不明显,但是服务器端JS需要一个事件循环才能成功。 当我2012年离开时,我感到Node已经(或多或少)实现了我对用户友好的非阻塞框架的目标: 核心支持许多协议:HTTP,SSL,… 在Windows(使用IOCP),Linux(epoll)和Mac(kqueue)上工作。 相对较小的内核,具有比较稳定的API。 通过NPM … 继续阅读

发表在 Memo | |
thunkli

语义版本控制

语义版本控制指示哪种更改会导致版本号增加。 Semver使用由三部分组成的版本号,例如3.9.2,并将这三个数字从左到右分别称为主要,次要和补丁号。 3 . 9 . 2 major minor patch 模块维护者进行更改的基本合同是 向后不兼容的更改将增加主数字 向后兼容的新功能会增加次设备号 对现有功能的简单错误修复会增加补丁号 对于任何依赖性,版本1.0.0被视为第一个稳定版本,并且semver合同不适用于该版本之前的版本。 并非每个模块都遵循语义版本控制。模块可以使用由三部分组成的版本 … 继续阅读

发表在 Memo |
thunkli

package.json中~和^之间的区别

如果你在在安装新packages,并更新package.json作为副作用。仔细观察,您会发现版本号前面有一些特殊符号。 “dependencies”: { “lodash”: “^3.9.2” } 语义版本控制介绍 前缀字符(^)与称为语义版本化或semver的版本编号方案有关。 语义版本控制指示哪种更改会导致版本号增加。 Semver使用由三部分组成的版本号,例如3.9.2,并将这三个数字从左到右分别称为主要,次要和补丁号。 3 . 9 . 2 major minor patch 在没有no … 继续阅读

发表在 Memo | |
thunkli

#!/usr/bin/env node 是什么?

#!/usr/bin/env node是shebang line的一个实例:用在Unix-like的平台上的可执行纯文本文件中的第一行,它通过#!前缀(称为shebang)命令行告诉系统哪个解释器将该文件传递给执行程序。 Windows不支持shebang lines,因此实际上它们被忽略。 在Windows上,它只是给定文件的文件扩展名,它确定哪种可执行文件将对其进行解释。 但是,您仍然需要在npm上下文中使用它们。[1] 下面是仅限于类Unix平台对shebang line的一般讨论: 在下 … 继续阅读

发表在 Memo | |
thunkli

npm与npx的区别

如果您曾经使用过Node.js,那么一定要使用npm。 npm(node package manager)是在安装Node.js时即可使用的依赖项。它为开发人员提供了一种在全局和局部安装packages的方法。 有时,您可能希望查看特定的package并尝试一些命令。但是,如果不在局部node_modules文件夹中安装依赖项,就无法做到这一点。 npm npm本身不会运行任何程序包。如果要使用npm运行package,则必须在package.json文件中指定该package。 通过npm p … 继续阅读

发表在 Memo | |
thunkli

使用GZIP压缩优化您的网站

压缩是节省带宽并加快站点速度的一种简单有效的方法。 当您请求https://www.yahoo.com/index.html之类的文件时,浏览器将与Web服务器对话。对话有点像这样: 如果我们可以向浏览器(index.html.zip)发送.zip文件(而不是普通的index.html),则可以节省带宽和下载时间。浏览器可以下载压缩文件,将其解压缩,页面加载速度很快。浏览器与服务器的对话可能如下所示: 这种交换的棘手部分是浏览器和服务器知道可以发送压缩文件了。协议分为两部分 浏览器发送一个标头, … 继续阅读

发表在 Memo | |
thunkli

Serif 和 Sans Serif 字体区别

Sans-serif字体的笔画宽度变化往往比Serif字体小。它们通常用于传达简单性,现代性或简约性。 某些字体的笔画结尾处的小特征称为“Serifs”。 Sans-serif font Serif font Serifs (coloured in red) 一些常见的Serif字体是Times New Roman,Georgia,Palatino和Garamond。 相反,常见的Sans Serif字体包括Arial,Helvetica和Tahoma。 在不同的设计中同时使用Serif和San … 继续阅读

发表在 Memo |
thunkli

通过font-display控制字体行为

web font的生命周期 在讨论什么是font-display之前,让我们先讨论一下web font的生命周期。 在block期间,浏览器将以不可见的字体呈现文本。 这就是为什么在很多使用web font的网站上,在页面的第一次加载期间,您不会看到任何文字或更糟的幻影下划线的原因。 在swap期间,浏览器将以fallback字体呈现文本(在该图中的示例中,这将是默认的“serif”字体)。 failure期意味着未找到字体,在这种情况下,浏览器将使用fallback字体呈现文本,如上所述。 使 … 继续阅读

发表在 CSS |
thunkli

不同DOCTYPE声明之间的区别

在HTML 4.01中,<!DOCTYPE>声明是指文档类型定义(DTD)。 这是因为HTML 4.01基于标准通用标记语言(SGML)。 DTD指定了标记语言的规则,以便浏览器正确呈现内容。 HTML5不是基于SGML,因此不需要引用DTD。 这就是HTML5仅具有一种doctype的原因。 <!DOCTYPE html> HTML4.0.1具有三种文档类型 Strict:此DTD包含所有HTML元素和属性,但不包括表达或不推荐使用的元素(如font)。 不允许使用fr … 继续阅读

发表在 HTML |