本期主持
勘误:
Python 3 中列表解析已经不会泄露变量了,详见 https://portingguide.readtdocs.io/en/latest/comprensions.html
Keyword only argument 是在 Python 3.0 中正式加入的,详见 PEP3102
有听众反馈说,Celery 劫持 root logger 是因为在实际业务中可以依赖很多第三方库,有些设计有问题的库里面打印了大量日志,会造成日志很乱,这样就不容易找到 Celery 自己的日志,所以就直接禁掉了。供大家参考。
本期提要
00:00:35 嘉宾介绍
00:03:15 开发中踩过的坑
00:04:20 Requests UA 带来的 Github 误封问题
00:08:06 单元测试遇到的坑
00:11:53 非法 Cookies 引发的坑
00:19:38 一个不合法的 HTTP ader
00:25:01 glibc 引发的内存泄漏
00:30:20 werkzeug 的 bug 复现 PR
00:32:42 关于一些不好的库,文档,feature 的吐槽
00:33:13 Python 的 LEGB 问题
00:43:06 一些不好的库与文档, 生产环境不推荐的一些做法
00:52:20 函数参数的种类
00:57:11 Celery, asyncio, os 的一些槽点
01:12:14 一些疑难问题排查的技巧与工具
01:12:30 Py-Spy, 一个 Python 进程取样分析工具
01:17:13 构造最小可复现样例
01:18:30 Debug 技巧
01:23:40 用 PDB 来 Debug
01:26:25: pyrasite, attacd 到 Python 进程的 REPL
01:29:25 休息,提升 Debug 效率的方法
01:30:50 能复现的 Bug 情况都是幸福的
01:38:05 库与文章的推荐
播客中提到的内容
Fix memory leak in Rule function builder
Short description of t scoping rules?
Golang Functional options for friendly APIs
Regular expression Denial of Service - ReDoS
理解Python的UnboundLocalError(Python的作用域)
PEP 3102 -- Keyword-Only Arguments
PEP 0570 -- Positional-Only Arguments
Digg's v4 launch: an optimism born of necessity.
Py-Spy: A sampling profiler for Python programs.