使用 TypeScript 撰写 OmniFocus 脚本
OmniFocus 4 即将发布!在我多年管理我的待办的过程中,我尝试过 Todoist、滴答清单、Things、Sorted 等等几乎所有市面上的 TODO 软件,但最终,OmniFocus 终成我一直以来的最终选择。而谈及 OmniFocus 的强大性…
[备忘] Go init 行为
基础规则: 所有的 init 函数都在一个 Goroutine 中执行(但请参见下面的特殊注意)
如果 package a 引用了 package b,那么 a 的 init 一定在 b 的 init 运行完成后运行
main package 的 main 函数一定在其他…
在 Shell 脚本中嵌入二进制文件
前言 在构建 Linux/Unix 系安装包时,除了打包成标准的适用于各种发行版的软件包以外,我们更多的可能希望可以提供一个 shell 脚本进行程序的安装,将安装步骤简单收敛为两步:下载脚本 + 运行脚本。
通常,这种大多数的安装脚本都是再次从互联网上下载所需资源的…
谈谈时区
通常在本地化时往往会涉及到时区转换的问题,而通常在真正关注到时区之前我们所「默认」使用的时区为 UTC 或 “本地”。 本文以 Go 为例,分析下 Go 中的时区使用。
读取时区
在 Go 中,读取时区使用的是 LoadLocation 函数。
Copy
// LoadLocati…
利用 Fly.io 部署 Windmill
Windmill 是一个开源可自部署的工作流引擎(甚至低代码平台),可访问 https://www.windmill.dev/docs/compared_to 查看其官方与 Zapier 等服务的对比。 本文将展示如何将其部署到 Fly.io
概览
本文介绍了两种方式来进行部署…
强制关闭 xLog 的 Dark Mode
自从 xLog 引入了 Dark Mode 以后,因为大大降低了对比度造成文字灰色可读性差,我就暂停使用了 xLog(同时暂停了写作和阅读)而期待官方更新,然而数月过去了依然没有丝毫改善(难道开发团队都没人用 Dark Mode 吗)…… 解决自己博客的 Dark Mode#
因…
你真的了解 time.Now() 吗?
本文基于 Go1.20.4 源码进行分析,更高或更低版本可能有所差异 概览:time.Time
话不多说,先上源码
Copy
// 为了减少文章长度突出重点,注释部分有所删改
// A Time represents an instant in time with…
同时安装多版本 pnpm & 发布自定义 homebrew 包
pnpm v8 在一个月前发布了,作为大版本更新之一,它引入了 lock file V6,同时停止支持了 V5。然而在给一些使用老版本的项目提 pr 的情况下,如果需要引入新的依赖就势必需要更新 lock file —— 这是不可被接受的,不能直接期望所有协作者都升级其 pnpm…
Go 中 error 序列化的坑
猜猜在 Go 中如果将 error 类型进行 JSON 序列化会发生什么?
部署 OpenCat Team Server 到 Fly.io
准备工作# fly.io 账号 预先安装好 flyctl(官方指引) 在 flyctl 中登录(flyctl auth login,官方指引)
创建项目#
在本地新建一个空文件夹,使用命令行进入该文件夹,然后输入以下命令创建项目:
Copy
flyctl launch
运行过…