前端开发13 篇
- 从输入 URL 到页面渲染:浏览器在每一步做了什么09-24
- Flexbox 与 Grid 的取舍:什么时候用哪个09-12
- 事件循环与微任务:setTimeout 为什么不准时09-03
- CSS 变量与设计令牌:让主题切换变简单08-30
- 闭包不只是「函数里的函数」08-22
- this 指向的四种绑定规则与箭头函数例外08-15
- 原型链与 class 的底层关系08-06
- 防抖与节流:从手写实现到边界条件07-28
- Fetch 与 Promise 的错误处理陷阱07-19
- 前端路由的两种实现:hash 与 history07-10
- Web Storage 与 IndexedDB:该把数据放哪06-28
- 用 IntersectionObserver 做懒加载与曝光统计06-16
- 层叠上下文:z-index 为什么不起作用06-05
后端与数据库12 篇
- 一次 HTTP 请求在 PHP-FPM 里的一生09-20
- PDO 预处理到底防住了什么09-14
- 索引失效的七个常见原因09-02
- 事务隔离级别与幻读08-26
- 乐观锁与悲观锁:库存扣减怎么写08-18
- Redis 缓存的三种更新策略与一致性08-10
- 缓存穿透、击穿、雪崩的区别与对策08-02
- 接口幂等设计:重复提交怎么防07-26
- Session 与 JWT 的选择07-18
- 分页查询的性能陷阱:深分页07-08
- 文件上传的安全边界06-30
- 队列与异步任务:什么时候该拆分06-20
运维与部署12 篇
- Nginx 与 Apache 的定位差异09-22
- 从 502 排查到 PHP-FPM 配置09-15
- Apache 虚拟主机与 .htaccess 的几个坑09-08
- Linux 权限模型:rwx 与 umask08-28
- 用 systemd 托管一个常驻服务08-20
- Docker 镜像分层与构建缓存08-12
- 反向代理与真实 IP 的传递08-04
- HTTPS 证书申请与自动续期07-30
- 日志轮转与磁盘打满07-22
- crontab 与定时任务的可靠性07-14
- 一次线上 CPU 飙高的排查过程07-06
- 备份策略:3-2-1 原则的落地06-24
网络与安全12 篇
- TCP 三次握手与四次挥手09-26
- HTTP/1.1、HTTP/2、HTTP/3 的差异09-18
- TLS 握手里到底交换了什么09-10
- DNS 解析链路与 TTL 的取舍09-01
- XSS 的三种类型与防御08-24
- CSRF 的本质与 Token 校验08-16
- SQL 注入的演变与参数化查询08-08
- 越权漏洞:水平与垂直07-31
- 同源策略与 CORS 预检07-24
- Cookie 的 SameSite、Secure、HttpOnly07-16
- 密码存储:为什么必须用慢哈希07-11
- 常见扫描器特征与日志分析07-02
工程实践12 篇
- Git 分支模型:Git Flow 与主干开发09-28
- Code Review 应该看什么09-16
- 单元测试的边界与收益09-09
- 日志分级与可观测性三支柱08-31
- 接口设计的向后兼容08-23
- 技术方案文档怎么写08-14
- 重构的节奏:小步提交与随时可回滚08-05
- 技术债的度量与偿还07-27
- 监控告警:从指标到行动07-20
- 灰度发布与回滚预案07-12
- 线上事故复盘的正确姿势07-03
- 一个个人笔记站的信息架构06-26