每周见闻(35):每条规则的背后都是一条血的教训

每周见闻:2025-09-21 - 2025-09-28

“每条规则的背后都是一条血的教训”。很耳熟的一句话,但只有实际经历过,才会有深刻的理解。

这周闹了个生产事故,造成了生产环境上不小的影响。也连累同事跟着一起加班,很不是滋味。

搞开发出 BUG 不是什么稀罕事,所以才更要重视从开发到上线的每一个环节。尊重每一个步骤,才能尽可能避免生产事故的发生。

工具

1、边缘全栈开发平台 - EdgeOne Pages[^1]

标签:Tools

腾讯提供的边缘全栈开发平台,类似 Cloudflare。现在处于 Beta 阶段,所有功能全部免费。有兴趣的小伙伴可以去注册一个薅一下羊毛。

2、theopfr/somo: A human-friendly alternative to netstat for socket and port monitoring on Linux.[^3]

标签:Tools

一个 Rust 编写的对人友好的端口查看工具,lsof 的升级版,支持 Linux 和 Mac。表格形式确实看着很舒服,速度也非常快。

3、Color Generator[^4]

标签:Tools

一个工具网站,提供了网站的主色调的搭配。选择合适的主色就能生成其他 4 种颜色对应的 CSS 并同时支持深色模式。


其他

1、语言拟人[^2]

标签:FUN

各种编程语言的拟人画。一本正经的 Rust、抽象的 Assembly、还有 JavaScript 这个缝合怪看着还怪可爱的。


Coding

1、GitHub - bodadotsh/npm-security-best-practices: How to stay safe from NPM supply chain attacks[^5]

标签:Node.js,Security

鉴于近期发生的 NPM 包”投毒“事件,这篇文章分别从开发者、包维护者和其他事项三个方面列出了最佳事件。开发者方面列举了下面 6 条:

  1. 固定版本号:使用 –save-exact 来固定版本号(没有 ^ 或者 ~,是确定的版本)
  2. 引入 lockfiles :这个应该bu mo s
  3. 禁用 lifecycle 脚本:如 preinstall, postinstall 这类安装后自动执行的脚本(最近的一次攻击就是利用 preinstall 执行脚本)
  4. 设置最小发布时间:当最新的版本发布后,可以设置 set minimumReleaseAge 来延迟更新,推迟引入错误的时机。
  5. 设置权限模型:在最新的 Node LTS 版本中可以设置包的访问权限。
  6. 减少外部依赖:比如 fetch 代替 axios 等。现在 Node.js 的功能也渐渐增强了,一些基础依赖确实可以用原生代替。

参考文章:


每周见闻(35):每条规则的背后都是一条血的教训
https://konata9.github.io/weekly/2025/09/28/35-每周见闻-20250921_20250928/
作者
Konata
发布于
2025年9月28日
许可协议