lodash 和其他很多工具库(比如 VueUse)都有 debounce(防抖)和 throttle(节流)的概念。简单(且有点不严谨)地讲,如果事件一直被触发,debounce 之后在最后停下来之后处理它,而 throttle 会每隔一段固定时间去处理它。

最近,成功的把我的图床搬迁到了 Cloudflare 的 R2 上,并写了个类似图床前端的管理工具。R2 是一个兼容 S3 协议的服务,因此,如果你有兴趣使用 Cloudflare R2 / Amazon S3 / 阿里云 OSS / 腾讯云 COS 来托管你的图片,我编写的这些工具对你也有用。关于为什么迁移到 S3,请看 为什么用 S3 这个小标题,希望你看后也能考虑一下。

Conda 对你的 Shell 做了什么,从而让你可以使用 activate、deactivate 等命令?

从顶向下,本文先说管理环境时最常用的命令 activate 是如何作用于 shell 环境的;然后看一看在 shell 的初始化阶段,conda 命令和它的环境是如何准备就绪的;了解了以上内容,自然而然就会配置 shell 以使用 conda 了(操作很简单,但是原理还是有些复杂的)。

Python 的版本与环境管理可以说是世界上最复杂的事情之一,让多个版本的 Python 和各种 conda 版本共存于同一台计算机实在一个难题。我的解决方案是用 pyenv 管理普通 Python 的版本;同时使用 Anaconda,但是只有用到它时再 activate。

macOS 中的文件本地化有两种实现方式:一种是一些系统文件夹采用的,比如“文稿”,“桌面”;还有就是以普通用户权限就可以创建的本地化。而在 Big Sur 及之后版本的系统中,即使关闭 SIP,sudo 也不再有权更改 system 文件,因此只能通过第二种方法进行本地化了。

如果你的需求只是托管一个静态站点/反代一个端口(包括负载均衡)/重定向一个网址之类,完全可以用 Caddy 轻松换掉复杂的 Nginx。

原本本文是对于一个使用试用接口听书的教程,不幸的是现在试用接口失效了,所以又添加了如何方便的导入微软官方 TTS 来听书的教程内容。

certbot 居然官方推荐使用 snap,不能忍;看了不少教程,大多是直接通过交互式页面获取的;有少部分通过 dns-cloudflare 插件搞的,也是用的 Python。但是 Python 的软件包和版本管理是在是一团糨糊,所以还是用官方给的 docker 镜像来跑吧。

本文通过 dns-cloudflare 插件来自动获取证书,不需要停止 Nginx 以让 certbot 监听 80/443 端口,而且可以很轻松的获取 *.yfi.moe 这类 wildcard 证书(因为用的是 DNS challenge)。

虽然 PPPoE - Debian Wiki 给的还是用 pppoeconf 这个包来配置,但是其实它最近一次功能性更新是在 2014 年(Commits · master · Debian / pppoeconf · GitLab),不过也还能用。

Calibre 会把路径变成拼音,但是可以通过替换一个文件来阻止这一行为!