阿猫的博客

阿猫的博客

猫鱼周刊 vol. 084 骑友巴士

2025-10-26
猫鱼周刊 vol. 084 骑友巴士

关于本刊

这是猫鱼周刊的第 85 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在

博客:阿猫的博客-猫鱼周刊

RSS:猫鱼周刊

邮件订阅:猫鱼周刊

微信公众号:猫兄的和谐号列车

私信:leslieleung@proton.me

头条

这周终于又有头图。摄于深圳大梅沙滨海栈道,海水有时候是绿色,有时候是蓝色。沿着海岸线骑行,抬头一看外面海水闪闪发光。

这周没有太多别的产出,工作上的事情又开始多且有趣了一点,摸鱼时间少了一点,所以这期周刊大概也会稍短一点。

文章

DynamoDB 服务在 US-EAST-1 区域中断事件总结

原文链接

这周最大的事情可以说是 AWS 长达十几个小时的服务中断。是时候祭出这张图:

关于这个事故报告,网络上有很多解读,感兴趣可以自己找来看,我只谈谈我的想法。

第一个是「时间攻击」,也就是时间因素引起的 bug。这里有两个点都可以归到时间上,第一是「竞态条件」,这个是写并行程序中经常会遇到的问题,由于我们思考基本上是串行的,没有特地考虑并行的运行情况就会出现这个竞态条件。第二是「延迟增加」,我们通常认为一个操作可以「很快」完成,没有考虑过如果这个操作超时或者需要比较长的时间才能完成时,整体的逻辑是否还能成立。

还有一种时间因素这次没有出现,就是「定时」,这种更加隐蔽,但是更常见于业务系统中。例如某几个时间点数据会与预期不符,导致下游出错;或者更加干脆就是计算一个月前等逻辑,遇到特殊情况(go 的 time.Add),测试通常没法发现。

第二个是连锁反应,这是基础设施相互依赖、架构复杂的结果。从一开始的 DNS 故障,引发数据库故障,再到下游更多服务受到故障影响出现更多问题,作为下游的更多互联网服务更是也因此受到波动。架构越复杂,越容易被简单的问题拖垮。如果你的业务非常简单,可以考虑不要太过依赖云服务。

然后说说事故处置和 vendor lock-in 的问题。很多人觉得 AWS 「基本不可能出问题」,所以事故处置方案中根本没有考虑过这个,服务不可用的时候就完全瘫痪了。又相反地,有人在这次事故之后觉得需要做「多云部署」。我觉得这两种都不太可取,我的思路是参考这次的事故,审视自己架构中依赖了 AWS 的什么服务,如果其中某个服务故障,会对什么有影响,有没有方法减轻影响。当然,就算做了这些,很有可能还是会被一锅端,只是有预案的公司不会手足无措,在恢复时间上拉一坨大的。

Kindle 中国拾遗

原文链接

说的是 Kindle 退出中国后,国内电子书生态和体验的问题。

在 Kindle 退出中国之后,国内平台只能走「低价包月」的路线,进入了一个恶性循环,导致出版社不愿意上新书,平台内容质量不断下降。反而直播带货还能卖出去不少实体书,所以出版社还比较有意愿发行实体书。另外国内的平台,包括微信阅读,都是以网文为主,严肃创作居少。

我不是网文的受众,当然我一年也不读几本书。我有 Kindle,找盗版书这件事对我来说倒也不算复杂,但是在 Kindle 还在国内运营的时候我会在商店买书,因为买到的排版好,而且省事,加上支持正版的思维。后来 Kindle 退出之后,会发现找新出的书特别困难(这点文章里也提到了,很多盗版来自于破解 DRM 后的 Kindle 商店版本)。到现在,我如果想要看某本书,还是直接去买实体书划算,很多畅销书只要二三十块就能买到,何苦折腾。

车祸 VIII

原文链接

关于「提升电动车品牌效应」。

国产品牌很喜欢在技术以外的领域发力,例如公关、宣传,但就是不愿意在技术上多下功夫。我觉得道理很简单,价格战,加上公关宣传这些花销比技术研发低得多,所以现在的样子已经是「最优解」。

之前有不少关于新能源车的评测,也有不少人针对这些评测做很多争论。不知道诸位还记不记得罗永浩跟王自如的辩论,在评测中想要有点「倾向」实在再容易不过。现在做购买决定越来越多噪声,要做出理智的决定真的越来越难,很多时候还是很会倾向于自己喜欢的品牌。

想法

骑友巴士

深圳新出了「骑友巴士」,从市区到市内较偏的骑行点,人车一起上公交,定点发车,票价 20 元,周末开行。上车后,师傅会帮你固定好车,然后就是摇摇晃晃穿过市区几个站点(基本上除了终点站没有人上下车),然后到达终点。

这个设计非常好,有点像 2077 里面「跳过行驶阶段」的功能,直接到任务地点。在城市区域骑行真的很痛苦,非机动车道没有或很狭窄,在人行道上坑坑洼洼颠得手痛,要一直避让对向的电动车和路上的行人。而且像大梅沙,离宝安几十公里,以我的体力,骑过去可能就已经废了,更别提在那边骑长上坡,返程估计只能货拉拉。

接着说大梅沙骑行的体验,全程都有绿道,精华的一段维护得不错;后面有很长一段骑行道就没有专门的绿道了,要跟机动车共线,又很多急弯和长上坡下坡,有点危险。路线说是可以一直骑到大鹏那个最美 711,一共 35km,但是我骑了十几公里,经历一大堆连续上坡,心率连续拉满之后,就知难而退了。巴士站点附近有便利店和饮食,有个麦当劳,在里面边吃边等车的时候遇到了不少骑友。知难而退的路上还遇到了两个骑友,也是体力不足知难而退了,大家路上一起推了段车,聊天吹水,也很有意思。

项目

migrate-to-uv

项目链接

我受够 poetry 了!这句话说出来有点好笑,因为我去年初才把原来的 pip 和 conda 等转到 poetry,还写了篇文章

其实 poetry 也很好用,只是比较慢,而且 poetry update 的逻辑实在太诡异了,没法做到像 go get -u的效果。

这个项目可以把 pip 和 poetry 等项目迁移到 uv,好耶。

blind_watermark

项目链接

一种水印方法,可以抵抗旋转、裁剪、马赛克等编辑。

最后

本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡

另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。