频繁发布 npm 包时如何确保始终安装最新版本
在一些极端情况下可能需要频繁发布 npm 包,而 npm 默认的缓存时间是 5 分钟。也就是说,在五分钟之内只会请求一次 npm 包的元数据,如果在更新后五分钟之内再次发包,默认情况下是不会检测到新版本的。 这个时候,如果你搭配 ncu(npm-check-updates 包…
什么是 Shebang (或 hashbang)
什么是 Shebang? Shebang,也称为 hashbang 或 sha-bang,是一种在 Unix、Linux 和其他类 Unix 系统上的脚本中使用的特殊字符序列。它的作用是指定脚本应该由哪个解释器来解释执行。
Shebang 由两个字符组成:一个井号(#)和一个惊叹…
如何优雅的畅玩 4399 等 Flash 游戏
Flash 和浏览器现状 据 Adobe 官网描述,Adobe 在 2020 年 12 月 31 日之后不再支持 Flash Player,并从 2021 年 1 月 12 日开始阻止 Flash 内容在 Flash Player 中运行。各大主流浏览器(Chrome, Edge…
JavaScript 正则的高级用法
1. 惰性匹配 如 Hi+? 只会匹配 Hiiiii 中的 Hi
Copy
'Hiii'.replace(/Hi+?/, 'x') // xii
'Hiii'.replace(/Hi+/, 'x') // x
'Hellollo'.replace(/H.*?llo/, 'x')…
记录 Axios 的 `Z_BUF_ERROR` BUG
在 Axios 的 1.2.0 版本,不少人遇到了 Z_BUF_ERROR 的 BUG。 当设置了 Content-Encoding 的请求头,但是返回的内容为空时(如 204 请求、HEAD 请求、或者重定向请求),Axios 仍会调用 zlib 的 BrotliDecoder…
浅谈 HTML 中的字符实体(如 ` `, `<` 等)
在入门学习 HTML 和 CSS 编写简单网页的时候,由于标签内容中的多个空格会被自动将合并为一个空格,我们可能会使用 来实现多个空格的效果。 除此之外,为了实现某些布局而你对 CSS 的 margin 和 padding 等属性又不熟悉的时候,也可能歪打正着了解到…
由 emoji 字符分割问题引发的对 emoji 的重新认识
文章内容较多,如果只是寻找解决方案,请直接划到文末。 谈到 emoji 想必我们都不陌生,它是一种广泛使用在网页和聊天上的表情符号,如 😂, 😄 等。
虽然 emoji 是合法的字符串内容,但由于其反直觉的长度和类型的多样,在分割的时候很可能会产生出乎意料的结果…
每天 60 秒读懂世界 API
前阵子挺热衷玩 QQ 机器人,经常会找一些第三方的 API 对接数据,实现简单功能,乐呵乐呵群友。 一个比较有代表性的例子,就是 “每天 60 秒读懂世界”。
十来条简短的每日新闻和一条人生微语,功能虽简单,但内容却挺有意义,质量也还不错,特别是对于我们这种从来不看新闻的来说。…
爆肝数月后,我写了一个开源原神工具《原神助手》
《原神》 是由米哈游公司制作发行的一款开放世界冒险游戏。 我与原神#
我是在今年(2022 年)四月初被朋友安利后,第一次接触到原神的。其实在这之前我也听过这个游戏,但是在我看来,无非又是一个和当前市面上流行的游戏大同小异的又一游戏选择而已,并没有觉得它会有多么吸引人…
简单实现一下 JavaScript 中的深拷贝与浅拷贝
JS 的数据类型# 我们知道,在 JavaScript 语言中,有基本数据类型和引用数据类型之分。
基本数据类型的变量名和值都是储存在栈内存当中的,每次声明一个基本数据类型的变量时,都会在栈内存里重新开辟一块空间进行变量名和值的存储,彼此之间不会产生任何影响。
但是引用类型就不一…
CSS 样式隔离与性能优化
CSS 的发展历程: 手写原生 CSS 规则,代表:BEM 命名法 预处理器 Sass、Less 和 Stylus 等 后处理器 PostCSS,插件式,如 autoprefix CSS Modules,需要搭配 webpack、Gulp 或 Parcel 等构建工具 CSS…
node 报错 Cannot find module 'fs/promises'
问题产生原因# 很有可能是 node 版本太低导致的。
node 13 及以下版本的 fs promises CommonJS 规范的引用方式:
Copy
const fs = require('fs').promises
const { promises: fs…
Scoop —— 实用的 Windows “包管理”软件
前言 我们都知道 Linux 有包管理的概念,即:可以在命令行下通过一系列的指令来统一管理程序,常见的使用情景包括:搜索、安装、更新、卸载等。
macOS 也有类似的包管理器,如 brew,homebrew 等
借助包管理器,我们可以达到统一管理常用软件的目的。
Windows…
随手写的一个油猴脚本竟然有人给我打赏了
2022 年更新:百度网盘网页端已更新,本文提到的脚本和文中的示例代码已失效,如仍有倍速播放需求,可以使用 Google Chrome 的浏览器扩展 Global Speed。 前天(2020.6.15)我在百度网盘看网课视频(真的只是网课学习视频…
Hello World
2019.11.8 使用 GitHub Pages 和 Jekyll 建立个人博客时默认创建的一篇文章,留个纪念。
2020.3.22
出于种种原因,将阵地搬到了 Hexo 上,新站点使用 GitHub Pages + Hexo 搭建。
2020.9.2
更换博客主题为 stu…