这周的周刊稍微提了一下福州的旅行,回家整理相册发现一些有意思的照片。一般旅行我都是扮演“尸体”的角色,只要吃好喝好行。所以这篇并不是攻略,只是趁着记忆还温热时的流水账。
(感谢 37丫37 老师的“好拼”,免费又好用。)
我们是晚上落地长乐,所以第二天的第一站便是附近的显应宫。显应宫的大门非常大在路边,但进去需要要往里走一段。
显应宫分为地上和地下两部分,可以买联票。点评上会比线下稍微便宜一些。
工作日人不多,所以显得非常清净。地上部分应该是后面造的,让人供奉香火。地下部分是当年挖掘的现场,不能拍照。但可以看到原件也是值回票价了。
显应宫是少数同时供奉郑和与妈祖的寺庙。当年(九几年)挖掘时还有很多蝴蝶、昆虫也来凑趣,停在石像上。原以为又是什么故事,直到看到照片资料,不得不感叹真是神奇。

Vibe Coding 对开发者来说已经不再陌生,都说能让我们效率翻倍,但它真的能让我们在任何技术领域都所向披靡吗?最近,我在两个截然不同的项目中,分别体验了一周“天堂”和“地狱”般的 AI 编程,得出了一个可能让你有些意外的结论。
引子:风平浪静下的暗流涌动
一个再普通不过的周五下午,午后的阳光透过玻璃洒落进来。键盘敲击声此起彼伏,一切都显得那么平静而有序。我正沉浸在代码的世界里,憧憬着周末的到来。然而,就在这时,Slack 上突然弹出一条同事消息:
“Hi,最近有动过 xxx 表的数据吗?自动化 case 挂了两个。”。
自动化测试是我们的“第一道防线”,一旦报警,往往意味着生产环境可能也存在隐患。更要命的是,下周的发布负责人,正是我自己。
但事已至此,先过周末吧。说不定欧洲同事会有回复呢?毕竟喜欢“自由”的他们可有不少直接跑脚本的“前科”。

上周,老婆突然分享了一条稻草人新开的线路:数字游民生活初体验。去探访坐落在昆山的计家墩、理想村里数字游民社区。
一名程序员,很早就对远程工作有所了解,也读到过网上那些成功的独立开发者的事迹。他们或是在沙滩海边或者在山野林间,打开笔记本配着咖啡工作。没有 KPI 的压力、没有 996 的疲劳更没有 35 岁的优化,有的事可以平衡工作和生活的权力以及自由的状态。这便是我脑海中,关于数字游民的那层玫瑰色的滤镜。
我带着这份混杂着好奇与向往的滤镜,果断地让老婆报名。然后踏上了前往计家墩的旅程,想要亲眼看看那“理想中”的生活。
在上一篇
这篇文章,我们就来一起走完这‘最后一公里’。我们将把 PoC 架构一步步演进为稳健的生产级架构,并深入探讨在功能日益强大的同时,如何精打细算,将每一分钱都花在刀刃上,实现功能与成本的双赢。
某个深夜,在完成一次的码重构后,我靠在椅子上,忽然有了一个想法:我们如此痴迷于为软件寻找最佳架构,那我们的人生呢?我们是否也应该成为自己人生的首席架构师?这个想法最终促成了这篇文章,希望能与每一个在世界里探索的你,共同思考。
作为一名开发者,我们常常痴迷于寻找“最好的架构”。是微服务,还是单体?是事件驱动,还是分层设计?我们争论不休,试图在项目启动之初,就绘制一张完美的蓝图,一劳永逸。
但或许,我们早已在无数次深夜的重构中领悟:最好的架构,不存在于图纸上,而存在于一次次的迭代、试错和优化之中。
这像极了我们的人生。

在之前的物联网项目中,由于历史原因,我们的设备通过 HTTP 轮询的方式与服务端交互,这套机制在项目初期看似简单直接,但随着业务量的增长,问题也逐渐暴露出来。

这种模式的痛点非常具体:
痛定思痛,我们意识到必须寻找一种更现代、更高效的通信方案。团队需要的是一套无状态、易拓展、支持双向通信的架构。经过一番调研和技术选型,MQTT 协议进入了我们的视野。考虑到公司所有基础设施都在 AWS 上,我们自然而然地将目光投向了 AWS IoT Core。
本文将完整复盘我们团队是如何从零开始,基于 AWS IoT Core 构建 MQTT 通信体系的全过程,分享其中的架构设计思考、关键决策和一些“踩过才知道”的实践心得。
注:本文基于 AWS 架构,需要您对 AWS 服务有基本的了解。对于 AWS 官方文档已有的详细步骤,本文将不再赘述,而是聚焦于架构设计和经验分享。
又是一个被加班修复生产 Bug 支配的深夜。
起因是欧洲团队一个看似“微小”的提交,却像一只南美洲的蝴蝶,在上海办公室里掀起了一场关于版本发布的巨大风暴。作为负责平台稳定性的上海团队,我们不得不紧急加班,逐行排查代码,那种感觉,就像是走在摇摇欲坠的钢丝上,而远在地球另一端、早已下班享受家庭时光的同事,就是那个时不时晃动一下钢丝的人。

不久前,我将博客从 Hexo 迁移到了 Vuepress 并启用了 Plume 主题。内容搬迁完成后,在迁移 Google Analytics 来统计流量时遇到了问题。
之前在 Hexo 中,我使用的主题支持 Google Analytics 插件,只需要在主题配置文件中设置 Google Analytics ID 即可。
Vuepress 作为一个知名的项目自然也少不了这些插件。在官网搜索后发现果然有一个名为 @vuepress/plugin-google-analytics 的插件,它可以在 Vuepress 中插入 Google Analytics 脚本。
于是照着官方文档一步一步做了下来,结果并没有像预想中那样正常工作。由于对 Vuepress 并不熟悉,我陷入了困境。
这是一篇拖了有些日子的文章,记录我参加 AWS 2025 上海技术峰会 Day 1 后的一些观察和思考。今年的主题毫无意外地聚焦于 AI,与四年前“上云”的主题相比,技术的浪潮又翻涌到了新的高度。
峰会上,许多 AWS 的合作伙伴分享了他们的成功经验,其中安克创新的案例让我印象深刻。然而,真正触动我的,并非这些成功故事本身,而是背后揭示的几个关键趋势。接下来,我将围绕三个核心主题,分享我的见解。
在聊聊我用过的机械键盘里介绍了我在去年入手一把 HHKB Type-S。在 渐渐熟悉了 NeoVim 后也是越来越顺手。
在上个月还入手了一套山葵键帽来增加一下春天的气息。

然而在换好键帽不久就发现在电脑唤醒后,键盘蓝牙链接不上的问题。
之前 AWS 的工程师来公司介绍 AWS Q Developer(以前的 Code Wisper)。其突破对话框,可以直接在命令行执行各种指令的能力着实让人心动。
后面和朋友聊天时,朋友推测应该是 MCP 集成的比较好。于是在想有没有不用打开 Windsurf 就能调用 MCP 的客户端?(其实 Claude 就是,只是当时并不知道)
在 Windsurf 的一次更新后,发现多了个 MCP 服务选项。外加多次在猫鱼周刊上看到相关文章,便开始了解和关注 MCP。
我自己理解大模型和 MCP 类似 VSCode + 各种插件。MCP 可以让大模型通过通用协议调取不同资源。
利用 MCP 的能力可以让大模型跳出对话框,直接对系统进行操作。人就可以免去复制黏贴的步骤,直接下指令。
黄叔有一篇非常易懂的实践文章 10分钟搞定高德地图MCP!我用AI解决了约会地点选择难题 ,看完就能明白 MCP 在其中的作用。
原文地址: Node.js Now Supports TypeScript Natively: Everything You Need to Know 作者: Lizz Parody
原本发表于 2025 年 3 月 18 日。因为工作关系对 Node.js 支持 TypeScript 比较关注,就顺手记录一下自己关注的部分。
本文并非原文的直接翻译,仅挑选出了个人关注的部分。感兴趣的朋友可以去原文查看完整内容。
上周看了阿猫的使用 Cursor 进行 Code Review(简易版)后,大受启发。随即打开我的 Windsurf,看看能否也通过配置相关规则,挖掘一下潜力。
![]()
一个爱折腾的技术宅
上海