Sep 3 2024
前言
Vaultwarden是一个非官方实现的Bitwarden Server,用于密码管理,支持Web端、桌面端和移动端。它支持多种数据来存储数据,包括SQLite、PostgreSQL和MySQL等。当我们想把它部署在一个容器服务平台时,如果容器服务本身没有提供持久挂载的卷,那我们就只能使用PostgreSQL或者MySQL外部数据来存储数据。
但是我们并不想额外再买资源来运行一个数据库,那我们就可以使用SQLite来存储数据,并且使用Litestream来实现容灾备份。这样虽然容器服务没有持久存储,但是数据还是安全的。下面以Vaultwarden为例,使用SQLite和Litestream来实现无数据库服务。其它可以使用SQLite的程序也可以使用这种方式来实现无数据库服务。
Aug 30 2024
前言
作为一位程序员,我写的大部分当然都是用来赚钱生活的代码,赚钱的代码都是非常规范的,一般都是复杂业务逻辑在程序上映射,很多时候都只有在解决了复杂的业务问题,才能获得打怪升级的成就感。
但是我也会在业余时间学习一些工作无关的技术,比如最近半年我学习了Rust,每当我学习一门新的技术,我总是希望把之前实现的一些程序改用新技术来实现,这样就可以更快的上手。平常生活中也没什么用到Rust的场景,那就只能先把之前用Bash,Python写的小工具用Rust重写一遍。然后最近我也自己发掘了一些生活上的场景,这些场景很多时候都是重复的,手动的,如果能改成自动化能够节省很多时间。想起了不知道哪里看过的一个说法:懒惰是程序员的第一生产力,因为懒,我们会把各种重复手动的工作自动化。
下面的内容就是我在今年自动化生活的一部分,通过自己创造的这些小工具,我解决了自己生活中的一些小痛点。
Aug 2 2024
前言
由于MacBook带到新公司作为办公本使用,又因为不喜欢带电脑上下班,所以在家里就只好启用6年前在前公司领用的第一台笔记本ThinkPad X1 Carbon (6th Gen),这是一台 i5 8250u/8G Ram/256G SSD/2K14‘ 配置的笔记本,默认使用Windows 10操作系统。这台电脑已经很老了,肉眼可见的在浏览网页时会卡,所以想看看有什么可以拯救一下老电脑的方法,要么直接上Linux,然后各种折腾配置,各种可能面对的问题,高分屏之类的。然后另外一个选择就是Chrome OS Flex,Google官方支持,与其说这是个操作系统,还不如说除了浏览器,这个系统就啥也没有了,当然还可以跑一个lxc容器的Debian。
Google认证设备列表
可以看到这台ThinkPad X1 Carbon (6th Gen)可以官方支持到2028年,非常不错,所以就可以开始折腾了。
May 10 2024
2018下半年我加入鹅厂,2019年调岗到现在的组,一直跟着鹅厂11级大佬做事,为了提升自己能力,我开始学习大佬的做事方式,我发现大佬的能力往往体现在他的思维的层次上,简单的说就是解决某个问题的时候,我当时可能只看到第2层,但是大佬已经想到第4层上去了,这期间我也找大佬聊过天,也有一些收获,在这里通过一些具体的事例来分析一下大佬的技术能力。
Apr 10 2024
近日,我在探索 HackNews 的过程中,收获了大量的新知识。然而,我发现自动订阅的 HackNews RSS 源并没有对热门话题进行筛选,导致我的 RSS 阅读器里充斥着我不感兴趣的话题。于是,我开始寻找适合自己的 HackNews RSS 订阅源。在众多选择中,我发现了 https://hnrss.org/newest?points=100,这个源只推送热门话题,非常适合我。然而,由于全英文阅读有些繁琐,我又找到了 https://rsstranslator.com/ 这个提供翻译服务的网站,能将 HackNews 翻译成中文标题,非常便捷。但不幸的是,由于访问量过大,该网站已关闭服务并开源代码。在尝试了各种工具后未果,我决定自己动手解决这个问题。然而,我又不希望维护独立的服务,而刚好 Cloudflare Workers 开始支持 Python,于是我决定使用 Cloudflare Workers 来实现这个服务。在评估了各种翻译 API 后,我选择了 Microsoft Azure 翻译 API,实现了免费翻译的功能。最终,我完成了这个项目 workers-hnrss,并且完全零成本部署。但在部署过程中,我发现 Cloudflare Workers 还不支持 requirements.txt
,不过据他们的文档称,再过几周就会支持,所以我决定再等等,然后就可以在我的 RSS 阅读器上读到中文标题的 HackNews 了。