这周重写了本站的暗黑模式与通知,虽然看起来没有什么区别,但是代码逻辑更加简洁合理,感觉自己又进步了 👍
Tag: 编程
Dkphhh's MurmurCreated@ Sun May 25 2025 00:40:48 GMT+0800 (China Standard Time)
Dkphhh's MurmurCreated@ Fri May 16 2025 18:45:09 GMT+0800 (China Standard Time)
This is an open source problem, it will always be this way

Dkphhh's MurmurCreated@ Mon May 05 2025 23:37:02 GMT+0800 (China Standard Time)
今天粗浅地学习和应用了任务队列和 Server-Sent Events,GitHub Copilot 说我写的程序有严重的时序竞争 bug,但是我测试了十几遍都跑的没问题,我赢了 ✌️
(可能确实有 bug,但是我的标准是能跑就行)
Dkphhh's MurmurCreated@ Sat May 03 2025 16:36:40 GMT+0800 (China Standard Time)
GitHub Copilot 堪称本年度到目前为止最值消费,一年 $100 相当于给自己雇了个编程老师 + 服务器运维,哪里不会问哪里,答案基本八九不离十,偶尔还能给我提供情绪价值,夸夸我 👍。
Dkphhh's MurmurCreated@ Sun Apr 27 2025 23:22:53 GMT+0800 (China Standard Time)
Murmurs3 第一个可用的版本完工 👍,版本号就是 0.0.3 好了

Dkphhh's MurmurCreated@ Tue Apr 22 2025 22:57:50 GMT+0800 (China Standard Time)
今天的编程感受是:
- 产品构建的从 0 到 0.1 可以靠大脑里模棱两可的概念,但是从 0.1 到 1 需要一个明确的产品规划与设计。
- 前端开发很容易让人沉浸到细枝末节的微调中,忘记真正重要的事情。
Dkphhh's MurmurCreated@ Sun Mar 30 2025 22:49:06 GMT+0800 (China Standard Time)
差不多花了一周的时间,终于算入门 drizzle 的使用了。基本上每学习一个 JS/TS 生态的库,都会经历一个从「为什么会存在这种东西?」、「为什么要这么麻烦?」到「这个设计哲学有点意思」、「用顺手以后好像也没有那么麻烦」的过程。
现在回味一下,Drizzle 的设计哲学其实恰恰最贴近我理想中的「简单」—— 只是在原始的 SQL 上浅浅封装了一层,没有像其他 orm 一样,「贴心」地把常用功能都封装在一个又一个函数里供用户直接调用,一个简单的 CRUD 都要用户考虑各种情况,写好多行。我一开始觉得难用,恰恰是因为它太原始了,加上我对 SQL 语言不熟悉,心理上有点抵触。
所以我现在对所谓的「简单」哲学也祛魅了。
「简单」不一定意味着「容易」和「好用」,「简单」只是「简单」。
simple is just simple, not easy.
Dkphhh's MurmurCreated@ Tue Mar 25 2025 09:37:20 GMT+0800 (China Standard Time)
为什么 JS 的 ORM 都能比 Python 复杂这么多……
Dkphhh's MurmurCreated@ Wed Mar 19 2025 15:27:09 GMT+0800 (China Standard Time)
svelte 的心智负担确实低 👍,但是 js/ts 用起来心智负担可一点也不低。前端生态发展这么多年,确实是工程化了,也复杂化了,就是没有办法简化,也不知道是哪个环节出了问题。
Dkphhh's MurmurCreated@ Sun Mar 09 2025 12:42:37 GMT+0800 (China Standard Time)
便利贴的哲学
我一直很迷恋那种小巧、简单但是用途广泛的东西,比如诞生之初的智能手机,还有瑞士军刀和便利贴。这或许也是奥卡姆剃刀原理在我恋物癖上的延伸。
15 年前的智能手机简直就是我梦想的造物,没有什么比一台能装进口袋的电脑更吸引人了。我喜欢挖掘这些小东西的上限。我尝试过在 4 英寸的屏幕上用 markdown 写东西,当然我失败了,因为小屏幕和虚拟键盘对于持续时间 5 分钟以上的写作就是折磨。我也尝试过用手机制作 4K log 视频,也失败了,无论是拍还是剪都很麻烦。不过,我还是一厢情愿的觉得,这些失败不是它们的上限,而是我的上限。
我也喜欢小巧的影像设备,影像是信息量最为丰富的媒介。不知道是不是因为我古井无波的生活过得太久了,我最近很迷恋那种情绪饱满的影像——大哭大笑的人、淹没在金色阳光里的背影、海风机车长头发与修长的手臂,还有浓烈蓝调时刻里的烟火。很俗气,很喜欢,我每天晚上都会看。能随时随地记录这些影像的设备,一定是能随时随地掏出来的口袋相机。一直以来,我的 dream camera 都是索尼黑卡,可惜这个系列已经不再更新。很多人会说手机是记录生活最终的归宿,但手机有一个致命缺陷——没有光学变焦,这让它的记录半径仅仅局限在你肉眼范围的五米内,无法成为替你观察世界的眼睛。
这种癖好一直延伸到我的编程习惯。我最初学习的第一个开发框架是 Django,这是一个大而全的企业级框架,集成了很多开箱即用的方案,包括后台管理、用户验证、对各类数据库的支持,因此它得以支撑着很多亿级用户量的互联网产品,也因此你很难真正的掌握它。为了做到应付各种刁钻的场景和需求,它不得不复杂,复杂就意味着难以理解。
所以我后来又学了 fastapi,它的核心机制一目了然。要做到同样的事情,fastapi 或许要写更多代码,但你知道你面对的不是一个黑箱,会更加自信。我在编码的过程中甚至想自己基于它来实现某些功能(当然事实证明是我想太多了,作者本人早就准备了更好的解决方案)。所以,我喜欢简单的东西,简单好上手意味着你可以基于已经掌握的机制,自己去探索各种用途和可能性。
简单的作用机制就是一个撬动世界的支点,就像便利贴,你贴在冰箱上就是生活提醒,贴在灶台前就是菜谱,贴在笔记本上就是笔记注解,贴在书里既能是书签又能写批注。简单,易于理解,多用途,这些形容词从来不会孤立存在,一个简单的东西往往就是易于理解且多用途的。
这样的东西还有很多很多,例如 Markdown。Markdown 能做笔记、能排版、还能当作 Todo List 和项目管理工具,但它本质上只是一套文本标记语言罢了,恰恰是因为足够简单,它才能和其他东西搭配在一起,形成如此完善的应用生态。
当然,凡此种种多少都无力招架所谓企业需求,工业化标准,就像瑞士军刀挖不了战壕,但也要知道普通人的生活根本不需要挖战壕。