- 进程内接口限流常因并发竞争和时钟回拨出现超额放行。本文用惰性补充的令牌桶给出线程安全的最小 Python 实现,支持突发容量,并在拒绝时计算需等待秒数,附带并发验证与时钟回拨处理。 进程内接口限流常因并发竞争和时钟回拨出现超额放行。本文用惰性补充的令牌桶给出线程安全的最小 Python 实现,支持突发容量,并在拒绝时计算需等待秒数,附带并发验证与时钟回拨处理。
- 这两年我把一批"每天要点一下"的网页任务改成了无人值守脚本,走的路子不是 Selenium,也不是 Playwright,而是直接用 Chrome 的远程调试端口(CDP)说话。原因很实际:目标页面是重度 SPA,登录态是靠 cookie 这两年我把一批"每天要点一下"的网页任务改成了无人值守脚本,走的路子不是 Selenium,也不是 Playwright,而是直接用 Chrome 的远程调试端口(CDP)说话。原因很实际:目标页面是重度 SPA,登录态是靠 cookie
- 介绍如何用 Makefile 把安装依赖、测试、运行等常用命令封装成目标,含 .PHONY 与变量依赖示例。 介绍如何用 Makefile 把安装依赖、测试、运行等常用命令封装成目标,含 .PHONY 与变量依赖示例。
- 同一个纯函数被反复调用、每次都重新算一遍,是很多小程序里悄悄浪费时间的来源。本文用 Python 标准库 functools.lru_cache 给耗时查询加一层缓存:第一次计算后结果直接复用,重复调用几乎零开销,并用 cache_info 观察命中情况;同时提醒哪些函数不适合缓存,避免踩坑。 同一个纯函数被反复调用、每次都重新算一遍,是很多小程序里悄悄浪费时间的来源。本文用 Python 标准库 functools.lru_cache 给耗时查询加一层缓存:第一次计算后结果直接复用,重复调用几乎零开销,并用 cache_info 观察命中情况;同时提醒哪些函数不适合缓存,避免踩坑。
- Python dataclass 实用指南:少写样板代码的 5 个技巧写 Python 时,只负责存数据的类很常见。手写 __init__、__repr__、__eq__ 既啰嗦又容易漏。标准库的 dataclasses(Python 3.7+)可以自动生成这些方法。下面用可运行的例子讲 5 个常用技巧,示例在 Python 3.10+ 下验证过。 1. 基本用法与可变默认值from da... Python dataclass 实用指南:少写样板代码的 5 个技巧写 Python 时,只负责存数据的类很常见。手写 __init__、__repr__、__eq__ 既啰嗦又容易漏。标准库的 dataclasses(Python 3.7+)可以自动生成这些方法。下面用可运行的例子讲 5 个常用技巧,示例在 Python 3.10+ 下验证过。 1. 基本用法与可变默认值from da...
- subprocess 的超时不总等于进程停止。本文用标准库文件握手实验,比较 run 自动终止并回收直接子进程与 communicate 超时后仍可继续执行的差异,验证显式 kill 与输出回收,并说明平台差异、清理责任及生产边界。 subprocess 的超时不总等于进程停止。本文用标准库文件握手实验,比较 run 自动终止并回收直接子进程与 communicate 超时后仍可继续执行的差异,验证显式 kill 与输出回收,并说明平台差异、清理责任及生产边界。
- 一、为什么需要异步很多服务的瓶颈不在 CPU,而在“等待”:等数据库返回、等 HTTP 响应、等文件读写。传统同步模型下,一个请求在等待时会占着一个线程干等,想提高并发只能不断加线程,线程一多切换开销和内存占用就上来了。asyncio 的思路是:用一个事件循环(event loop)在单线程里调度大量协程,遇到 IO 等待就切去处理别的任务,等结果就绪再切回来。这样少量线程也能扛住大量并发... 一、为什么需要异步很多服务的瓶颈不在 CPU,而在“等待”:等数据库返回、等 HTTP 响应、等文件读写。传统同步模型下,一个请求在等待时会占着一个线程干等,想提高并发只能不断加线程,线程一多切换开销和内存占用就上来了。asyncio 的思路是:用一个事件循环(event loop)在单线程里调度大量协程,遇到 IO 等待就切去处理别的任务,等结果就绪再切回来。这样少量线程也能扛住大量并发...
- 一条 8 秒的慢 SQL,我是这样优化到 50ms 的上周排查一个后台导出接口的超时问题,定位到一条 SQL 上。执行时间 8.3 秒,数据量并不大(表里就 40 万行),慢得有点离谱。整个过程记录一下,顺便把 MySQL 慢查询排查的套路理一理。 现象接口每隔几分钟就有一次超时(网关限的 10 秒),日志里对应的 SQL 大致是这样:SELECT o.id, o.order_no, o.... 一条 8 秒的慢 SQL,我是这样优化到 50ms 的上周排查一个后台导出接口的超时问题,定位到一条 SQL 上。执行时间 8.3 秒,数据量并不大(表里就 40 万行),慢得有点离谱。整个过程记录一下,顺便把 MySQL 慢查询排查的套路理一理。 现象接口每隔几分钟就有一次超时(网关限的 10 秒),日志里对应的 SQL 大致是这样:SELECT o.id, o.order_no, o....
- 在华为云 AI 开发者空间使用 AI Shell 生成并运行 Python 重复文件检查器:先按大小筛选,再分块计算 SHA-256。合成样例识别出 2 组重复文件,16 项测试通过,并核对只读、符号链接、扫描完整性和哈希比较的实际边界。 在华为云 AI 开发者空间使用 AI Shell 生成并运行 Python 重复文件检查器:先按大小筛选,再分块计算 SHA-256。合成样例识别出 2 组重复文件,16 项测试通过,并核对只读、符号链接、扫描完整性和哈希比较的实际边界。
- 1. 引言在Python开发与大规模数据处理中,运行性能和内存开销常常是决定程序稳定性的关键指标。本文结合工程实践,梳理几个实用的性能优化技巧。2. 使用生成器替代大列表当处理海量数据流时,如果采用一次性列表推导式,往往会迅速占满内存甚至导致进程崩溃。使用生成器表达式(Generator)实现惰性求值,按需产出数据,能够大幅削减内存峰值。3. 善用标准库与底层C实现Python标准库中的 c... 1. 引言在Python开发与大规模数据处理中,运行性能和内存开销常常是决定程序稳定性的关键指标。本文结合工程实践,梳理几个实用的性能优化技巧。2. 使用生成器替代大列表当处理海量数据流时,如果采用一次性列表推导式,往往会迅速占满内存甚至导致进程崩溃。使用生成器表达式(Generator)实现惰性求值,按需产出数据,能够大幅削减内存峰值。3. 善用标准库与底层C实现Python标准库中的 c...
- 标准库 venv 零安装解决 Python 项目依赖打架:三步创建激活环境、requirements.txt 可复现清单,以及 VS Code 自动激活、PowerShell 执行策略、忘激活装包三个新手常见坑。 标准库 venv 零安装解决 Python 项目依赖打架:三步创建激活环境、requirements.txt 可复现清单,以及 VS Code 自动激活、PowerShell 执行策略、忘激活装包三个新手常见坑。
- CDP 是什么、怎么开调试端口、Python 最小示例、常用域和一点使用建议 CDP 是什么、怎么开调试端口、Python 最小示例、常用域和一点使用建议
- 不靠if-elif链,用标准库singledispatch按类型动态分发,实现可扩展的方法重载。 不靠if-elif链,用标准库singledispatch按类型动态分发,实现可扩展的方法重载。
- 用标准库 argparse 实现文本搜索命令,演示互斥选项、递归搜索、Unicode 大小写处理和 0/1/2 退出码,并提供可运行的完整示例。 用标准库 argparse 实现文本搜索命令,演示互斥选项、递归搜索、Unicode 大小写处理和 0/1/2 退出码,并提供可运行的完整示例。
- 遇到 ModuleNotFoundError 别急着重装:按装没装、名字对不对、运行位置对不对的顺序排查,多数 import 报错都能快速定位。 遇到 ModuleNotFoundError 别急着重装:按装没装、名字对不对、运行位置对不对的顺序排查,多数 import 报错都能快速定位。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签