每周见闻(39):在福州小逛了几天

每周见闻:2025-10-19 - 2025-10-26

解锁小电驴

这周跟着老婆去了福州玩(吃)了几天。

长乐落地,在机场附近看海顺便解锁人生第一次小电驴。和共享单车一样,扫码开车。骑上去的时候满脑子都是“骑上我心爱的小摩托”的 BGM。然后开始回忆日本学驾照时附赠的小电驴教程了(上手还是很快的,油门焊死就跑起来了)。

既然是第一次,还是拍照留个念吧:

吃喝小逛

出来玩吃是必须要保证的,长乐冰饭、鲟饭、生滚粥、鱼丸海鲜都没拉下,海鲜是真的不错,是可以为了吃来第二次的地方。

逛的话还是围绕住所周边,外加体力限制逛的不多。这次去了

  • 三坊七巷:虽然是旅游景点,但里面有很多的展馆可以逛。
  • 鼓山:有索道、景车,体力友好。上面涌泉寺香火很旺。
  • 福道:纯步道需要体力,不过顶上风景不错。当地人去的也很多。
  • 船政博物馆:有很多历史资料,非常丰富。讲述了海军的发展史。

鼓山索道上拍的夜景,很好看。有山的地方就是不一样啊。

最后吐槽一点福州的路不怎么好走。石板路会有高低不平;路上各种车辆更是生猛,转弯都不打灯的还是第一次见。

工具

1、GitHub - tw93/Mole: 🐹 Dig deep like a mole to clean you Mac. 像鼹鼠一样深入挖掘来清理你的 Mac[^1]

标签:Tools,Mac

一个清理 Mac 的 CLI 工具,更新很频繁。目前处于初级版本,如果有重要数据,作者也建议等稳定后再使用。

这个工具也是作者通过 Vibe Coding 做出来的。我试用了一下,查找、清理的速度很快,也能找出很多文件占用。

2、StoryMotion - Create a Custom Hand-drawn Motion Graphics Animation in Minutes[^4]

标签:Tools,Design

一个可以将 Excalidraw 的流程图转换为动画的工具网站。有免费的 Plan,适合需要进行技术介绍和讲解的小伙伴。


Coding

1、Simplify Your Code: Functional Core, Imperative Shell[^2]

标签:Coding,Node.js

来自 Google Testing 的博客,建议将业务代码拆分为纯业务逻辑的核心方法与承担副作用(数据库/网络交互)的交互方法。核心方法只负责处理输入数据的转换,因此更容易被测试;而交互方法负责数据来源,因此也更容易替换(数据库/换地址/直接 Mock)等。

在服务端的开发工作中,通常更关注是 E2E 的测试而非单个功能测试。这样拆分也确实更容易对交互方法进行 Mock。

2、Importing vs fetching JSON[^3]

标签:Node.js,JavaScript,前端

现在前后端都支持直接 Improt JSON 文件,那 import 能否替代 fetch 呢?作者分别从错误处理和垃圾回收两个方面介绍了 importfetch 的区别。

其中静态引入 import data from ./data.json with { type: json }; 对错误处理支持不好;使用 import 的数据会一直存在直到离开页面,当数据量大时会对性能带来影响。fetch 获取的数据在失去引用后就会被回收。Tree-Shaking 也只针对顶层对象起效。

在作者看来,import 适合数据量较小的本地文件,并非是 fetch 的替代。

3、Discovering features using HTTP OPTIONS[^5]

标签:Coding,前端

一篇介绍了 OPTIONS 方法的博客。只要做过前端的朋友一定不会陌生,一般在处理跨域问题时会遇到 OPTIONS 请求。还记得以前背“八股”的时候有背过,什么情况会有 OPTIONS 请求。

OPTIONS 也并非跨域的附属品,它实际的含义是告诉客户端我可以做哪些操作。在返回的头中可以告诉客户端能允许哪些方法、接受的 Encoding、不同方法接受的类型以及对人机更友好的文档地址返回方式。确实能学到不少之前不了解的小知识。

4、Fetch streams are great, but not for measuring upload/download progress[^6]

标签:Node.js,JavaScript,前端

作者介绍了为什么 Fetch 的 request/response 流不适用于处理上传/下载的进度显示。

原因很简单,对于上传请求此时并没有 content-length,即使用 stream 计算也做不到精确(你只能知道上传了多少数据,但不能保证数据被服务端收到);而下载虽然有 content-length,但那是针对压缩后的数据(如 gzip)而实际用来处理的 chunk 则是解压后的数据,那自然便对不上了。

目前依然只有 xhr 的方法能比较准确地处理上传下载的进度,所以你看到的进度条基本都不是真的。


参考文章:


每周见闻(39):在福州小逛了几天
https://konata9.github.io/weekly/2025/10/26/39-每周见闻-20251019_20251026/
作者
Konata
发布于
2025年10月26日
许可协议