Homebrew Tap 发布 Go 二进制包

作为 MacOS 用户,自然是离不开 Homebrew,因为它是 MacOS 的安装包管理工具。本文主要介绍如果将一个 Go 的二进制包发布到 Homebrew Tap 上,然后可以使用 brew install 的方式进行安装 Go 的二进制包。 同时本文会讲解到两种发布方式,一种是纯手动的方式,另一种则是基于 GitHub Actions + GoReleaser 的自动化发布。 ...

January 24, 2022 · 3 min · K8sCat

Articli 多平台内容管理 CLI 工具

Articli 是一个可以管理多个平台内容的命令行工具, 通过解析 Markdown 文件内容以及调用平台接口,实现内容管理。 最终目标是基于 本地文件 + Git 代码仓 管理所有的文章, 并且可以通过命令行操作以及 CI/CD,实现文章在各个平台的发布、更新等功能。 这样做的好处有: 数据安全,既发布到了第三方平台,又可以通过 Git 代码仓管理,避免因平台问题导致数据丢失 可以实现自动化,比如文章自动在多个平台发布、更新 面向程序员的 CLI 工具,可以实现更多个性化的操作 为本项目点赞将鼓励作者继续完善下去,欢迎提出建议、Bug、PR。 GitHub 地址 ...

January 23, 2022 · 2 min · K8sCat

如何基于 Node.js 构建并发布一个 CLI 命令行工具

CLI 命令行工具是很常见的应用,之前会用 Golang/Rust 等语言构建过一些 CLI 工具,但是这次将基于 Node.js 构建一个 CLI 命令行工具,同时将其发布到官方的 NPM Registry npmjs.com 上,方便其他人可以下载使用。 ...

January 19, 2022 · 2 min · K8sCat

Go json 自定义 Unmarshal 避免判断 nil

腾讯《Go安全指南》中提到【必须】nil指针判断:进行指针操作时,必须判断该指针是否为nil,防止程序panic,尤其在进行结构体Unmarshal时。但如果每次使用都要判断一下是否 nil 防止 panic的话,那么这样的代码就会比较麻烦,这里我们可以使用一个自定义的方法,来避免这种情况。 ...

December 4, 2021 · 1 min · K8sCat

Git 签名失败: gpg failed to sign the data

在 Goland 里使用 GPG 签名时提示错误: error: gpg failed to sign the data fatal: failed to write commit object ...

November 22, 2021 · 1 min · K8sCat

GOPROXY 引发依赖 hash 校验不通过

使用不同的 GOPROXY 下载依赖时,依赖的 hash 校验无法通过。 ...

October 14, 2021 · 2 min · K8sCat

How to disable `auto cd` in zsh with oh-my-zsh

I have a binary file named x in my path (not the current folder, but it is in the PATH), and also a folder with the same name in the current working directory. If I type x, I want the binary to execute, but instead it cd’s into that folder. How do I fix this? ...

October 7, 2021 · 1 min · K8sCat

SSH 端口转发与 SOCKS 代理

...

September 22, 2021 · 1 min · K8sCat