每周见闻(77):关于流量的思考
约 2035 字大约 7 分钟
2026-07-26
每周见闻:2026-07-20 - 2026-07-26
题图来自阮一峰老师这周的博客:西安大明宫遗址,使用亚克力透明板绘制古代建筑,让游客在原址体验当年的场景。
我觉得这样形式挺好的,不用大兴土木去复原建筑的同时也能让游客有一个直观的感受。

关于流量的思考
熟悉我的朋友可能知道除了公众号,我同时还在某书上有着同名账号。自从 2 月份开始提高了更新频率后,同样的内容在两边的流量一直处于一边高一边低的状态。
于是我就挑了几篇某书流量高的文章进行分析,提炼成了 SKILL。持续了一段时间后,流量开始反了过来,公众号这边的流量突然起来了,有种跷跷板的感觉。
同一个内容在不同平台、不同时间点的流量不同。看来要摸清平台流量规律确实挺难的……中间涉及热点选题、账号权重等。不过有一点是可以确定的,那就是需要持续的输出才行。
生活
1、当技术被平权,基本功反而最贵[^1]
标签:AI,职场,产品思维
作者最近面试候选人时,简历上全是AI 产品经理——精通 Prompt、主导 Agent 架构。聊大模型参数头头是道。问 RBAC 权限设计?沉默。问能不能手绘泳道图?还是沉默。AI 把技术门槛拉平了,可基本功这东西,像打桩。平时看不出来。风暴来了才知道谁没地基。你可以不用传统方法,但不能不会。自主权永远在能兜底的人手里。
我和作者有着一样的感觉。随着 VibeCoding 越来越多,越是感觉基础很重要。解决问题的思路、规划甚至是经验带来的直觉。AI 带来的技术平权就好比武侠小说中给所有人都发了一把剑,而能把剑用好的一定是基本功最扎实的那个。
技术
1、The Framework wars are over. Why no one dethroned React - YouTube - Kent C. Dodds[^2]
标签:React,前端,框架
一个油管的视频,Kent C. Dodds 讲述为什么 React 是最后。不是因为 React 本身多好——是生态。社区、工具链、组件库、人才池,每一层都是切换成本。
但我觉得只说对了一半,生态、社区、工具链这些在 jQuery 的时代一样很成熟。那为什么还有后面的框架呢?因为 jQuery 的代码又臭又长俗称“意大利面条”,而后来的框架解决了这个问题。现在有 AI 直接生成代码,对开发者来说具体哪个框架已经不是那么重要。而其中 React 被用作最多的训练集,也因此成为了首选。几方面的因素加在一起,是我认为最重要的原因。
所以还是那一句话:一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。

2、HTML in Canvas: Render Real DOM Inside canvas - Agustin Barrientos[^3]
标签:Canvas,DOM,前端
Chromium 的 drawElementImage 实验 API 可以把真实 DOM 画进 Canvas。这有什么用?可以保留 DOM 的交互,比如焦点、键盘事件等。作者用了一个 3D 台灯配合按钮的示例举了例子。这样即保留了 Canvas 丰富的样式同时也有 DOM 的交互。
以前在做前端的时候遇到过类似的问题。当时是用绝对定位把 DOM 元素移到 Canvas 上解决的,但面对复杂需求和不同尺寸适配时就力不从心了。

3、No, We Can't Harden Node.js Against Prototype Pollution[^4]
标签:Node.js,原型污染
一旦你的应用有原型污染,Node 核心没法帮你兜底。这源于 JavaScript 的原型链设计,攻击者往 Object.prototype 写一个属性,execSync 会中招,fetch 会中招,你换哪个 API 都没用。
因此在需要解析Object 时可以使用用 secure-json-parse 在解析不受信数据时就拒绝 proto。因为运行时并不会帮你做防护。

4、美国政府是如何没收大量比特币的 - Living a Simple Life is a Happy Life[^5]
标签:比特币,安全,密码学
2025 年美国司法部没收了柬埔寨路边矿池 12.7 万枚 BTC,当时价值 150 亿美元。怎么做到的?比特币不是号称绝对安全么?其实不是攻破了比特币——而是矿池用了一个教学用的 MT19937 伪随机数生成器来产生私钥。由于这是一个教学用的库,因此碰撞空间只有 2³²。
作者用 CUDA 验证了攻击路径,一张 3060 显卡跑了两个月就遍历完了。可能由于这个库太好用了,这个漏洞从 2017 年就存在于社区里了,即便库的开发者写明了仅供学习使用。但仍被矿池开发者拿去用了。
看完之后再次感叹,世界真是一个巨大的草台班子。
5、What's the best way to do authentication in modern applications[^6]
标签:JWT,前端
关于 JWT Token 存放的位置。作者认为 localStorage 和 httpOnly Cookie 各有利弊。针对 XSS 攻击,攻击者拿到 token 而服务器只能等待 Token 过期,这期间就成了攻击窗口(之前供应链攻击很多就是利用这点)。
针对的是来自 JavaScript 脚本的攻击。localStorage 可以被脚本读取;httpOnly Cookie 会被浏览器阻止,虽然能防止泄漏但无法阻止滥用。
6、Printing the web: making webpages look good on paper[^8]
标签:CSS,前端
本文介绍了 CSS 中的 print 属性,用来控制打印时候的样式:@media print、@page 设置纸张尺寸、break-inside: avoid 防止图片被截断、box-decoration-break: clone 修复跨页边框断裂、a[href]:after 显示链接地址。
这个知识倒是第一次听说。打印虽然现在用得少,但仍然有各种需求。在设计打印场景时,可以使用到这些属性。
工具
1、Git exclude, a handy feature you might not know about / Marijke Luttekes[^7]
标签:Git,效率工具
.gitignore 你肯定知道。但 .git/info/exclude 呢?用法完全一样,区别就两个:exclude 不会被 git 追踪,也不会被 push 到远程。只在你的本地仓库生效。适合放点个人脚本、临时实验代码、Docker Compose override——这种不方便往项目 ignore 文件里塞的东西。
这次学到了一个很有用的 git 特性。现在 Vibe Coding 时候很多,会留下一些 Plan、POC 等文件。但又不想传到仓库上。用上 exclude 就不会污染 .gitignore 也会更优雅。
参考文章:
- [1] 当技术被平权,基本功反而最贵: https://blog.solazy.me/20260717/
- [2] The Framework wars are over. Why no one dethroned React - YouTube - Kent C. Dodds: https://www.youtube.com/watch?v=mxRjJPoWBE4
- [3] HTML in Canvas: Render Real DOM Inside
canvas- Agustin Barrientos: https://agustinbarrientos.com/writing/senior-eye/html-in-canvas/ - [4] No, We Can't Harden Node.js Against Prototype Pollution: https://adventures.nodeland.dev/archive/no-we-cant-harden-nodejs-against-prototype/
- [5] 美国政府是如何没收大量比特币的 - Living a Simple Life is a Happy Life: https://brainz.fun/blog/2026/06/01/mei-guo-zheng-fu-shi-ru-he-mei-shou-da-liang-bi-te-bi-de/
- [6] What's the best way to do authentication in modern applications: https://neciudan.dev/most-secure-way-to-store-auth-token
- [7] Git exclude, a handy feature you might not know about / Marijke Luttekes: https://marijkeluttekes.dev/blog/articles/2025/09/03/git-exclude-a-handy-feature-you-might-not-know-about/
- [8] Printing the web: making webpages look good on paper: https://piccalil.li/blog/printing-the-web-making-webpages-look-good-on-paper/
