#随笔
五月的学习笔记碎片
关于 async/await
之前一直以为 async 会让代码变快,其实不会。它只是让等待不阻塞其他任务。就像厨房里多线程做饭——菜不会熟得更快,但所有菜差不多同时出锅。
Flask 模板里的全局变量
app.jinja_env.globals["foo"] = bar 可以在所有模板里直接访问 {{ foo }}。比每次都传 render_template("x.html", foo=bar) 方便太多。
CSS 的 object-fit: cover
以前处理图片变形总是裁切后再上传,现在知道了 object-fit: cover 配合固定宽高容器就行。浏览器端裁切,省事。
发现的一个好习惯
写 Markdown 的时候,每写完一个段落就 Ctrl+S(保存)。不是怕丢数据,是保存的物理动作给了大脑一个"这段写完了"的信号,有助于保持节奏。
关于代码注释
最好的注释不是解释代码在做什么(代码本身应该能说明),而是解释为什么这么做。比如:
# 别碰这里的排序逻辑——和前端的分页耦合了
# 改之前先看 PR #42 的讨论
data.sort(key=lambda x: x["date"], reverse=True)
这种注释比 # 按日期降序排序 有价值一百倍。
其他
- GitHub Actions 的 YAML 缩进报错时先检查是不是 Tab 和空格混用
- Windows 下的 Git 自动换行 LF/CRLF 是个老坑,
.gitattributes比全局设置靠谱 - 深夜不要动 CSS,你会把
padding和margin搞反