精选推荐

最新动态

Python 脚本与服务共存的架构设计

服务进程(比如用 systemd 或 supervisord 管理的后台服务)默认会把子进程设为同一进程组,脚本一启动就被父服务收编,服务重启/停止时连带干掉——这不是脚本写得有问题,是进程生命周期没切开。

Python cattrs 的结构转换性能

因为默认走的是「全反射 + 动态类型推导」路径,每次调用都要重新检查字段类型、查找转换器、处理嵌套结构。不是编译期绑定,而是运行时逐层 dispatch。

如何用Python生成RSS 2.0 XML Feed

用Python生成RSS 2.0 XML Feed,推荐使用标准库 xml.etree.ElementTree(轻量、无需额外安装、完全可控),或第三方库 feedgen(更语义化、自动处理转义与验证)。核心是严格遵循 RSS 2.0规范:必须包含 <rss></rss> 根节点(version="2.0"),内嵌一个 <channel></channel>,再在其中添加 <item></item> 条目。

Python 热修复的代码注入风险

热修复本质是运行时动态加载新逻辑,但用 exec 或 eval 执行远程/外部传入的字符串代码,等于主动打开任意代码执行后门。哪怕只修一行,只要输入可控,攻击者就能调 os.system、删文件、窃取环境变量。

如何正确获取 Python requests 请求的重定向历史

本文详解 `requests` 库中 `r.history` 为空的原因及解决方案,重点说明服务端需使用 http 状态码重定向(如 302)而非前端 javascript 跳转,并演示 `allow_redirects=true` 的必要性与实际用法。

Python 性能指标的业务化解读

性能指标不是越小越好,而是要和业务节奏对齐。比如支付接口平均耗时 80ms,听起来快,但如果用户等待超时设的是 100ms、失败率又集中在最后 20ms 区间,那这 80ms 就是危险信号。

Python Redlock 算法的正确落地方式

PyPI 上的 redlock-py 库不是官方实现,也不完全遵循 Martin Kleppmann 对 Redlock 的原始质疑后提出的修正建议。它默认使用固定重试间隔、忽略时钟漂移补偿、且锁续期逻辑有竞态漏洞。真实分布式场景下,用它容易出现「以为加锁成功,其实没锁住」的情况。

Python 环境变量在配置体系中的角色

Python 本身不管理环境变量,os.environ 只是读取操作系统传进来的键值对。它在配置体系里干的活很明确:提供最外层、最早可用的覆盖入口,比如 DATABASE_URL 或 DEBUG。但一旦你调用 os.environ.get("DEBUG"),拿到的就是字符串,不会自动转成布尔值或整数——这是最常见的类型陷阱。