-
2026-01-26 17:10:56
-
2026-01-26 17:27:10
- 如何让属性成为只读描述符但允许 init 赋值
- 结论:@property的setter为空时,__init__中无法赋值,因属性访问走descriptor协议;需自定义描述符(如InitOnlyDescriptor),利用set_name动态生成私有名,并在set中用哨兵值或hasattr检查首次赋值,确保init可写、之后只读。
-
217
-
2026-01-26 17:33:48
- SQL 中 CASE WHEN 的真实用途
- CASEWHEN的核心价值是行级条件驱动的字段生成或值映射,需写ELSE防NULL失真,条件顺序影响结果,适用于GROUPBY条件聚合、窗口函数标签标记等场景,避免在JOIN和WHERE中滥用。
-
551
-
2026-01-26 17:48:01
- Python 装饰器原理:函数替换与闭包结合
- 装饰器本质是函数对象的重新赋值,即执行@decorator等价于func=decorator(func);必须返回可调用对象,否则func变为None;依赖闭包保存原函数和参数;带参装饰器需三层嵌套;functools.wraps必用于修复元信息。
-
507
-
2026-01-26 17:50:01
- 如何实现一个支持嵌套 yield from 的异步生成器
- 在asyncdef中不能直接yieldfrom异步生成器,须用asyncfor+yield手动展开;或借助aiostream.stream.chain等库封装;切勿误用to_thread或run_in_executor。
-
654
-
2026-01-26 17:51:54
-
2026-01-26 17:52:03
- Python 项目目录结构最佳实践
- 不能把所有代码塞进一个main.py,因为会导致运行时导入错误、测试无法隔离、依赖难管理、CI/CD构建失败,最常见的是ModuleNotFoundError;必须使用src/目录结构并正确配置pyproject.toml和包安装方式。
-
576
-
2026-01-26 17:53:19
-
2026-01-26 17:54:56
- SQL 分库分表下分页如何实现?
- 应使用全局唯一递增ID实现游标分页替代OFFSET:SELECTFROMorder_001WHEREid>12345ORDERBYidLIMIT20;id需全局唯一有序(如雪花ID),禁用单独create_time;管理后台等特殊场景可多分片并行查+应用层归并,但须熔断;COUNT()应避免,改用近似值或异步汇总。
-
481
-
2026-01-26 17:55:02
- Linux 带宽跑满的分析思路
- 先确认带宽是否真跑满:用ethtool查网卡速率,sar-nDEV看txkB/s并换算为Mbps,iperf3多流测试吞吐,iftop与nethogs两级追踪进程,检查中断分布、连接队列溢出及TCP缓冲区与拥塞算法匹配业务特征。
-
439