Small programming tricks
6 hours ago
- 编程小知识可以大幅提升生产力,无需深厚的背景知识。
- 例如使用 fzf 进行模糊命令历史搜索、使用基于 SQLite 的 atuin 以及 per-directory history。
- 在数据库中,SELECT 不带 FROM 可用于测试函数或检查运算符的工作方式。
- PostgreSQL/MySQL 中的 EXPLAIN ANALYZE 会执行查询以提供详细的性能分析。
- 正则表达式中的单词边界断言(\b)简化了匹配单词开头/结尾的操作。
- 在指标中使用对数(如 Math.floor(Math.log10()))有助于理解数值分布。
- 现代 JS 特性如 Array.flatMap、Object.entries 和 Promise.withResolvers 非常实用。
- 在 Node.js 中,重用 https.Agent 可以通过保持连接开放来减少延迟。
- git log -S 或 -G(pickaxe)可以查找添加、删除或移动了某个字符串的提交,非常适合旧代码库。
- git checkout - 可以切换到上一个分支,类似于 cd -。
- Glob 模式如 **/*.md 可以替代许多 find 命令,在 bash 中使用 shopt -s globstar。
- 推荐使用 Ripgrep(rg)替代 grep、ack 或 ag,性能更佳。
- 通过设置 FPATH 并运行 compinit 启用 zsh 的高级自动补全功能。
- 公司特定的知识(例如调试技巧、该找谁、手动扩缩触发条件)也属于高杠杆。
- 每天在 Slack 上分享一个技巧(技术和公司特定)帮助了工程师,并引发了有益的讨论。