Python 装饰器:从基础用法、实现原理到项目最佳实践
从 @ 语法糖和闭包出发,拆解装饰时机、装饰器工厂、叠加顺序、方法与异步函数,讲清 functools.wraps、类型透传、状态与异常等常见陷阱,最后落到注册、观测、重试、缓存等项目实践。
An archive of long-form notes, half-finished thoughts, and the occasional working theory.
23 entries
从 @ 语法糖和闭包出发,拆解装饰时机、装饰器工厂、叠加顺序、方法与异步函数,讲清 functools.wraps、类型透传、状态与异常等常见陷阱,最后落到注册、观测、重试、缓存等项目实践。
从最简单的 while 循环开始,逐步推演出生产级 Agent 框架的完整 Loop 架构,最终以 AgentScope 2.0 为蓝本拆解其工程实现。
从 epoll/kqueue 一路拆到 libuv、uvloop、httptools、Uvicorn、Starlette 和 Pydantic Core,解释 FastAPI 为什么快,再用阻塞、异步串行超时、线程池、多进程与 Agent API 说明它的边界
从操作系统的进程线程讲起,拆透 Python GIL 的来龙去脉、协程从生成器到 async/await 的演化史,用实测数据说清楚多进程、多线程、协程各自到底适合什么场景
通用日志配置指南:支持多环境、JSON输出、追踪与集中采集。
想搞懂 HTTP/HTTPS 请求响应、WebSocket/WSS 双向通信、SSE 服务器推送的区别?本文通过对比分析,助你快速掌握不同通信方式的应用场景。
Burrow 是一款面向 Mac 用户的免费开源电脑清理工具,适合用来整理系统缓存、应用残留、安装包、开发项目垃圾等占用空间的文件。
这是一篇写给开发者、架构师、以及正在做登录 / 单点登录 / 第三方授权 / 开放平台接入的同学的文章。
线上 Python 进程跑一段时间后出现 CPU 飙升 / RSS 增长 / 线程数暴增,且 不能停机或重启。我一般会先用 py-spy 做非侵入式采样,把“线程/热点到底卡在哪”快速具象化,再决定要不要上更重的内存分析工具。
test 数据判断之Int类型时且等于0时的问题
上一篇我们从 AgentScope 看到了 ReAct 循环的工程化。这篇换个视角:当一个 Agent 不是被嵌入到代码里,而是要作为一个独立服务、同时对接 WhatsApp/Telegram/Discord 等 20+ 渠道时,Loop 的设计会发生什么变化?
排序算法系列开篇,梳理十大经典排序算法的分类、核心指标和选型思路。
冒泡排序的原理、执行过程和优化技巧,最笨但最适合入门的排序算法。
选择排序的原理与实现,交换次数最少的O(n²)排序,也是理解堆排序的思想基础。
插入排序的原理与实现,小数据量和基本有序场景下性价比最高的排序算法。
希尔排序的原理与实现,通过分组大步调整让插入排序突破O(n²)的瓶颈。
深入讲解归并排序的分治思想、合并操作原理、O(n log n) 复杂度分析,以及与快排的对比取舍
详解快速排序的分区思想、原地实现、最坏情况规避策略,以及它为什么实际跑得比归并快
从堆的原理到 heapify 下沉操作,讲透堆排序的实现逻辑,以及它与快排、归并的定位差异
突破 O(n log n) 下界的线性排序,讲解计数排序的原理、稳定版实现及适用场景判断
用快递分拣的思路理解桶排序,讲解分桶策略、桶内排序选择及与计数排序的关系
逐位排序的精巧思路,讲解 LSD 基数排序为何依赖稳定性,以及三种非比较排序的对比总结
十种排序算法横向对比与决策路径,聊聊实际工程里的混合排序策略和面试怎么答