Dotfiles 管理-使用 git 裸仓库
传统管理 dotfiles 代指 linux/mac 中各种配置文件。我们希望有一个方法可以集中管理它们,这样切换不同机器时就能快速恢复熟悉的工作环境。目前比较流行的做法是 使用 git 来管理,借助 orphan branch 还可以给不同系统/机器 建立不同的分支,分开管理。使用 git 管理需
Go 优雅地处理错误
这篇文章没有叫「最佳实践」,因为我也在摸索阶段,目前只是总结一下个人认为比较好的技巧,不敢说其普适性如何。如果看官 dalao 发现了缺陷或者更好地方案,欢迎评论提出。 当前 Go 版本 1.17.5 Go 的错误处理设计 关于 Go 的错误处理,一直争议不断。其实 Go 本身的争议也不少 😂。这
YubiKey 入手记 - GPG
我的 GPG 公钥:https://github.com/ichenhe.gpg 背景介绍 YubiKey 是一个 著名 很贵的硬件密钥,本次到手的是 YubiKey 5c NFC,不着急的朋友建议等等国人的一个开源项目 CanoKeys,实现了和 YubiKey 5 几乎一致的功能,但便宜很多。不
支持中文的多模式匹配—AC自动机
本文使用 java (kotlin) 实现一个支持中文模式串的 AC 自动机算法。 简介 今天项目上出现了多个字符串匹配的需求,我这个算法弱鸡也被迫营业解决这个头疼的问题。 说到字符串匹配,首当其冲的就是大名鼎鼎 KMP,光是大学时期,就不知道成为多少学子的噩梦了。私以为,KMP 难以理解的关键在于
Ubuntu 20.04 安装 PostgreSQL
写于 2021-10-19 请注意实效性。 毕竟我也不是专业运维,一直以来服务器上都用宝塔面板偷懒,直到决定换成更现代化的数据库——PostgreSQL。与 MySQL 形成鲜明对比,宝塔对 PgSQL 的支持简直就是一坨💩。先罗列一下基本罪状: 安装后无法重启服务。 创建数据库后实际上并没有创建
K8s 访问集群外部的服务
从 docker 到 compose 再到 k8s,容器化是越来越火了,应该也有不少小伙伴和我一样跃跃欲试。但是马克思告诉我们要一分为二地看待问题。容器化固然好,不过也不是所有服务都适合这么搞。典型的,数据库服务是否适合放在 k8s 中就一直饱受争议。 这次的问题也起于此。通过 Service 暴露
Nginx HTTPS 性能优化
启于 一开始源于一个一闪而过的想法——反向代理是否会引入额外的延时?然后进一步思考:倘若 CDN 使用 https 回源,然后又用 https 反代,这光是握手是不是就得来回十几遍才行? 显然,放弃 https 不是一个合理的做法(事实上是一个疯狂的做法),那么就研究了一下 https 的优化思路,
不可描述的东西
千万不要在使用代理时开启带有 p2p 功能的下载器,例如迅雷,不要进行 p2p/BT 下载。 订阅节点说明 订阅地址已分别私聊发送,敬请收藏。这里仅用作帮助文档。 💡节点不能用时请先尝试更新订阅! 默认订阅带有「♻️最低延时」组,会定时对全部节点进行延时测速,自动选择最优的作为主要代理。但往往最低
面向萌新的位与 0xFF 解释
TL; DR 0xFF 通常用于过滤,也叫掩码。和它进行与运算,结果是只保留一个数据的最低8位,其他位全部置0。 背景 在位运算中经常看到A & 0xFF 的身影,甚至已经成了习惯性动作,但一直没有深究它的具体意义,直到这次忘记了神奇的 0xFF,于是发生了很糟糕的事情... 本来是一个很简单的需求
利用GHActions部署hugo博客到自己VPS
受够了 Wordpress 的臃肿以及对 markdown 的水土不服,受不了 ghost 主题的匮乏与对中文圈的态度。Hexo 用过一段时间,但实在太讨厌 NPM 了,只想安安静静写个博客,结果竟然还要配“开发环境”? 于是 —— Go 真香!迁移到了 Hugo。和 Hexo 一样作为一个静态网站