2023 年终总结
时间已做了选择,太多感受,绝非三言两语能形容 生活 - 陪伴和成长 这是第 35 个年头,我熟悉地扮演着多个角色,父亲、丈夫、儿子,每一刻都在陪伴和成长中交织。 生活的步伐似乎匆匆,但我努力让自己拥有一颗年轻的心,渴望保持对世界的好奇和激情。 时光大多被生活所占据,只有地铁上和饭桌上我能成为时间主宰。 好在我并未感到疲惫或沉闷,反而逐渐适应了这个身份的变化。 或许,正是在这些琐碎的日常中,我找到了一种生活的节奏,一种平和而温馨的状态。 ...
如何免费用云服务搭建博客评论系统
问题 博客自 2012 年从 WordPress 迁移到静态站点后,就选择了 Disqus 作为评论系统。 但最近 Disqus 硬广告过于频繁,迫切寻找新的评论系统。 Disqus 官方 明确说明,要去掉广告就付费。 What if I want to remove Ads? If you’d like to remove Disqus Ads from your integration, you may purchase and ads-free subscription from your Subscription and Billing page. More information on Disqus ads-free subscriptions may be found here. OK,那再见吧 Disqus,我会找到可靠、免费、易用的评论系统。 最后既然是寻找新的评论系统,现在 2023 年了, 我希望这个新系统充分使用云服务的便利,要做到 免费、可靠、易运维。 选型原则 在进入探索之前,我先梳理一下自己的原则和选型要求: ...
GitOps 和版本管理
image via shipvehicles 使用 GitOps 管理交付内容是一个常见的 DevOps 使用模式。 我们会使用 Git 进行版本管理, 并通过 Git Tag 来跟踪部署软件的版本。 虽然这看上去可以工作,但在云原生技术的推动下,版本的概念远非如此简单。 版本问题 在引入 GitOps 到 DevOps 流程后,我们可以借助 GitOps 的能力进行持续集成和持续交付。 GitOps 解决了三个核心问题:内容、版本 和 协作。然而,我们经常将注意力集中在内容上,却经常忽略了版本管理问题。 在 GitOps 过程中,有哪些版本管理问题需要解决呢? 一套完整的 GitOps 解决方案包括内容描述(Manifest)、构建方案(Builder)和生效方案(Applier)。其中,内容描述衍生出多种描述语言,从最传统的 Ansible / Chef,到云计算和云原生流行起来的 Terraform、Helm、Kustomize 等。引入了这么多内容描述方式之后,当我们想要明确一个应用的版本时,变得非常复杂。 ...
架构设计 the Easy Way
image via Pixabay 概览 前几日,我在团队内部举行了一场技术分享,我介绍了关于架构设计的最佳实践。将这些实践凝练成了 20 字口诀: 架构看问题 需求看用例 设计看模型 细节看时序 我将顺口溜转到了 Twitter,不少朋友对这些顺口溜产生了浓厚兴趣,希望深入了解。因此,我将我分享中的观点扩展成了这篇文章。 架构设计和系统分析 让我们首先澄清 什么是架构设计和系统分析(简称系分)。有些朋友对前者很熟悉,对后者却不太了解。 不过没关系,以下是维基百科上的介绍: 架构,软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。 系统分析,旨在研究特定系统结构中各部分(各子系统)的相互作用,系统的对外接口与界面,以及该系统整体的行为、 功能和局限,从而为系统未来的变迁与有关决策提供参考和依据。 ...
实用 Web API 规范
当开始创建一个新系统,或参与一个新团队或项目时,都会面临一个简单却深刻的问题:这个系统(Web Server)的 API 是否有设计规范? image by stable difussion, prompt by alswl 这个问题困扰了我很长时间,始于我求学时期,每一次都需要与团队成员进行交流和讨论。 从最初的自由风格到后来的 REST,我经常向项目组引用 Github v3 和 Foursqure API(已经无法访问,暴露年龄) 文档。 然而,在实践过程中,仍然会有一些与实际工作或公司通用规范不匹配的情况, 这时候我需要做一些补充工作。最终,我会撰写一个简要的 DEVELOPMENT.md 文档,以描述设计方案。 ...
从 Toodledo 到 Obsidian Tasks - 我的 GTD 最佳实践
最近我完成了从 Toodledo 到 Obsidian Tasks(Obsidian 插件)的切换。 这两款软件都是极其强大的时间管理工具。虽然 Toodledo 几乎是我最喜欢的 GTD 软件, 但服务愈发不稳定让我烦恼,正好发现 Obsidian Tasks 在查询和知识库结合方面的能力发挥出了 1+1 > 2 的效果。 经过试用我决定迁移到 Obsidian Tasks。 放弃一个合作了十几年的老朋友 Toodledo 让我有些伤感,但是这个过程也促使我总结了一下我在时间管理这个命题上的尝试,并分享了一些我的经验。 Image frrom Pixelbay 什么是 GTD 在这个快节奏的现代生活中,我们都会遇到大量的任务和信息,而如何有效地管理时间和任务成为了许多人的挑战。在读书时期,我也曾经陷入任务管理的困境。从 2009 年开始,我尝试过使用日历、笔记等工具来组织我的任务和信息,但效果并不理想。直到后来我接触到了 DoIt.im,进而发现了 David Allen 的书《Getting Things Done》,这本书带给了我一种全新的任务管理思路——GTD。往后数十年,我一直使用这个模式来管理自己的时间。 ...
让 Apple Music 播放豆瓣音乐 Top 250
乐坛少有新歌,我经常听一些老歌,有时候顺着豆瓣音乐 Top 250 一点点听下去,感觉还是挺不错。 这中间一直有个麻烦地方:每次都要从豆瓣复制标题去 Apple Music 搜索。有没有简单便捷的方式直接一键抵达呢? 我没有找到答案,于是我自己整理了这批 Apple Music 链接,点击就可以直接跳转到 Apple Music 直接播放了 如上图所示,在本文点击「▶️ Apple Music」按钮,会打开 Apple Music 网站,点左侧的「Open in Music」即可在 Apple Music 打开。 PS:iPhone 上点击链接(Notes / Safari 等)会直接在 Apple Music 打开。 ...
2022 年终总结
上海解封后,摄于北外滩酒店 生活 - 封锁和开放 「暴风雨结束后,你不会记得自己是怎样活下来的,你甚至不确定暴风雨真的结束了。 但有一件事是确定的:当你穿过了暴风雨,你早已不再是原来那个人。」 - 村上春树《海边的卡夫卡》 2022 开场非常魔幻,3 月份我们在上海迎来了长达两个多月的封城。 从浦东浦西鸳鸯封再到浦东上海全域静态管理,从开始说的几天封闭到持续两个多月的封闭, 我第一次切身体会到自由是无价的,也学会了如何在复杂多变的环境参与集体活动, 保护自己和家人。 ...
读《历代经济变革得失》
一直以来,我想学会几件事:看懂国家政策消息、看懂公司财报、学会投资。 于是我陆陆续续看了一些关于经济 / 投资的入门书籍,《投资中最简单的事》,《第一本经济学》,《世界上最简单的会计书》等。 这次读完吴晓波的《历代经济变革得失》,给我带来不少新的输入,特别是书中对中央、地方、有产、 无产的四种力量和四大基本制度分析法,提供非常好的视角来分析各种事件。 吴晓波是经济史大家,我读过他的《激荡三十年》、《腾讯传》,笔法锋利,时常有深刻洞见评价。 这次是从经济变革的角度出发,历数从秦朝起著名的经济变革,介绍其发生的政治经济背景、手段和成果。 变革有成功的也有失败,但是往往逃不出政治局势的影响力。剖析隐藏逻辑和规律,辩驳得失,让读者酣畅淋漓。 ...
码转电子厂 - 教你修键盘
为了做好万全的准备,如何在 35 岁毕业后能够顺利入职电子厂? 从修键盘学起 原因 我使用的键盘是 ErgoDox,一个人体工程学设计的分体键盘。关于 ErgoDox 更多详情可以见我之前的 回答。 (前任键帽配色 + 手托): 经过七八年工作,它进过水,进过咖啡,还进过豆浆,现在终于有几个键不灵活了,按起来有粘滞感,无法提供顺畅的 coding feel 了。 在使用备胎 Filco 几个月之后,我终于下定决心,要将 ErgoDox 修好。 准备 电烙铁 吸锡器 焊锡 键轴 精工螺丝起子套件 拔键器 起键轴小起子 没有焊接经验的朋友,可以学习一下如何焊接: ...