<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[汪同学的博客]]></title><description><![CDATA[做自己想做的，做自己认为对的，学习自己喜欢的。]]></description><link>https://blog.youkuaiyun.com/videwhy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; videwhy]]></copyright><item><title><![CDATA[Python httpx 实战：一个客户端同时吃掉同步、异步与 HTTP/2]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170230686</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170230686</guid><author>videwhy</author><pubDate>Sat, 07 Nov 2026 20:30:00 +0800</pubDate><description><![CDATA[2026 年了，你的 Python 项目里是不是还停在requests？不是不行，是当业务开始要并发打几十个接口、要异步、要 HTTP/2 时，requests就只剩把请求丢进线程池这一种笨办法。本文用一套可运行代码，把 httpx 0.28 的同步/异步/连接池/超时/重试讲透，让你一行import改完就能从requests平迁过来，并发量直接上一个量级。]]></description><category></category></item><item><title><![CDATA[Python + SQLite3 本地数据库实战：不装服务器，先给数据一个家]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170230493</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170230493</guid><author>videwhy</author><pubDate>Sat, 07 Nov 2026 20:15:00 +0800</pubDate><description><![CDATA[Python 标准库 sqlite3 实战：从 CRUD 到事务回滚、部分/覆盖索引、WAL 并发、批量导入提速 100 倍，附可复用 Storage 类与 12 条踩坑。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 图片显示与解码缓存实战：PNG 上屏、C 数组与文件双方案]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170230367</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170230367</guid><author>videwhy</author><pubDate>Sat, 07 Nov 2026 20:00:00 +0800</pubDate><description><![CDATA[LVGL v8.3 图片两种存储方式、PNG/JPG 上屏解码器挂载、LV_IMG_CACHE_DEF_SIZE 缓存调优、手动预解码头像有效性判断，及"缓存被动画清空"真实踩坑。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 动画实战：用 lv_anim 让嵌入式界面从“会动“到“有手感“]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170181350</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170181350</guid><author>videwhy</author><pubDate>Fri, 06 Nov 2026 20:30:00 +0800</pubDate><description><![CDATA[LVGL v8.3 动画核心 lv_anim_t 的标准写法，覆盖 7 种缓动曲线、数值过渡、回放重复、动画时间线与自定义曲线，附 v8.3↔v9 差异和 12 条踩坑。]]></description><category></category></item><item><title><![CDATA[Python logging 日志实战：从 print 调试到可运维的日志系统]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170181121</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170181121</guid><author>videwhy</author><pubDate>Fri, 06 Nov 2026 20:15:00 +0800</pubDate><description><![CDATA[print 在无人值守脚本里三大硬伤；用 logging 四级骨架实现分级、文件轮转与结构化输出，附可直接复用的集中配置函数与 12 条踩坑。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 中文显示实战：FreeType 加载字体与点阵字库两套方案]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170180767</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170180767</guid><author>videwhy</author><pubDate>Fri, 06 Nov 2026 20:00:00 +0800</pubDate><description><![CDATA[解决 LVGL 中文变方框问题，给出 v8.3 下 FreeType 加载矢量字体与点阵字库两套完整写法，附 12 条工程踩坑与 v8↔v9 差异。]]></description><category></category></item><item><title><![CDATA[Python 并发请求实战：串行、线程池与 asyncio 到底怎么选]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170124543</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170124543</guid><author>videwhy</author><pubDate>Thu, 05 Nov 2026 20:30:00 +0800</pubDate><description><![CDATA[用三套可运行代码把 200 个 I/O 请求从 98 秒压到 4 秒以内，讲清 threading / asyncio / multiprocessing 的选型边界与 12 个踩坑。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 多界面页面管理：屏幕切换、过渡动画与内存回收实战]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170124451</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170124451</guid><author>videwhy</author><pubDate>Thu, 05 Nov 2026 20:15:00 +0800</pubDate><description><![CDATA[屏幕机制是 LVGL 多界面工程的地基：用切屏、用数组当页面栈、用auto_del或手动lv_obj_del回收内存、用懒加载对抗 PSRAM 碎片。这套骨架我已用在旋钮菜单项目里，跑一周没闪退。你现在的项目用几块屏？是set_hidden显隐派还是切屏派？评论区聊聊，遇到低温/碎片的坑我帮你一起排。]]></description><category></category></item><item><title><![CDATA[Python 批量处理 PDF：合并、拆分、提取文本与表格（pypdf + pdfplumber 实战）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170124080</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170124080</guid><author>videwhy</author><pubDate>Thu, 05 Nov 2026 20:00:00 +0800</pubDate><description><![CDATA[pypdf 管「搬移合并」、pdfplumber 管「读懂内容」，两者配合能吃下绝大多数办公 PDF 场景。本篇代码我已抽成单文件，后续 Python 实战文会复用。你手头最常被 PDF 卡住的是哪一步？合并、抽表格、还是批量重命名？评论区说一下，下一篇我挑最高频的再写透。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 图表实战：用 lv_chart 画出嵌入式实时数据曲线（附双轴工程）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170043151</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170043151</guid><author>videwhy</author><pubDate>Wed, 04 Nov 2026 20:30:00 +0800</pubDate><description><![CDATA[lv_chart 是固定长度的滑动窗口而非无限折线，新手常卡在 add_series 坐标轴参数、直接写数组忘刷新、Y 轴被自动拉伸。本文用 v8.3 官方 API 写温湿度双曲线实时刷新工程，并标出 v8.3 与 v9 的签名差异。]]></description><category></category></item><item><title><![CDATA[Python matplotlib 数据可视化实战：中文不乱码、图表能直接交差的 8 个硬技巧]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/170024005</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/170024005</guid><author>videwhy</author><pubDate>Wed, 04 Nov 2026 20:15:00 +0800</pubDate><description><![CDATA[matplotlib 默认字体没有中文字形，导致标题图例全是方块。本文用回退链 + 绝对路径双保险解决中文乱码，再用 OO 接口、双 Y 轴、语义化样式和 dpi=300 高清导出，给出一套能直接贴进报告的可复用模板。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 软键盘 lv_keyboard 实战：关联输入框、自定义按键与暗黑主题适配（附代码）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169637023</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169637023</guid><author>videwhy</author><pubDate>Sat, 31 Oct 2026 10:52:29 +0800</pubDate><description><![CDATA[触摸屏设备没有物理键盘，靠 lv_keyboard + lv_textarea 做输入。本文按 v8.3 实测 API 讲清关联、取值、自定义按键与暗黑主题适配，并点明 LVGL 不内置中文输入法的边界。]]></description><category></category></item><item><title><![CDATA[Python 实战：用 smtplib 邮件 + 企业微信机器人做服务监控双通道告警（附源码）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169636532</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169636532</guid><author>videwhy</author><pubDate>Sat, 31 Oct 2026 10:46:25 +0800</pubDate><description><![CDATA[服务半夜挂了没人知道？用 Python 写 HTTP 探活脚本，异常时同时推企业微信机器人和邮件，双通道互相兜底，附可直接跑的源码与部署方式。]]></description><category></category></item><item><title><![CDATA[Python 环境管理别再瞎装：venv、conda、pipx 三个场景一次说清]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169540986</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169540986</guid><author>videwhy</author><pubDate>Fri, 30 Oct 2026 10:22:22 +0800</pubDate><description><![CDATA[环境管理 90% 场景只需 venv+conda+pipx 三选一；附决策树、对比表与 10 条踩坑，配 2026 新工具 uv 上手。]]></description><category></category></item><item><title><![CDATA[LVGL v8.3 实战：用 lv_table 做设备参数设置页（编码器导航 + 编辑回写）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169540420</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169540420</guid><author>videwhy</author><pubDate>Fri, 30 Oct 2026 10:16:56 +0800</pubDate><description><![CDATA[LVGL v8.3 用 lv_table 做设备参数设置页，含编码器导航、roller 弹窗编辑、NVS 回写与 11 条踩坑，附 v8.3↔v9 差异。]]></description><category></category></item><item><title><![CDATA[嵌入式 LVGL：旋钮编码器 + lv_group 焦点管理完全实战（v8.3，含设置菜单工程）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169430819</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169430819</guid><author>videwhy</author><pubDate>Thu, 29 Oct 2026 09:19:23 +0800</pubDate><description><![CDATA[带屏设备没触屏只有一个旋钮？LVGL v8.3 用 lv_group + 编码器输入设备管焦点，导航/编辑双模式自动切换，附硬件原理、焦点高亮、多界面切换和完整设置菜单工程骨架。]]></description><category></category></item><item><title><![CDATA[Python 实战：用 pathlib + shutil 把下载文件夹一键归类（附源码，支持配置化与自动运行）]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169430115</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169430115</guid><author>videwhy</author><pubDate>Thu, 29 Oct 2026 08:45:27 +0800</pubDate><description><![CDATA[下载文件夹几百个文件混在一起？不到 60 行 Python 脚本按类型一键归类，升级版支持 JSON 配置、按日期归档、写日志和定时自动跑，零第三方依赖。]]></description><category></category></item><item><title><![CDATA[Python 实战：给大模型 API 调用加上重试、超时与降级，别让一次 429 拖垮整个服务]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169342502</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169342502</guid><author>videwhy</author><pubDate>Wed, 28 Oct 2026 10:13:28 +0800</pubDate><description><![CDATA[去年 DeepSeek 几次故障，大量依赖它的小应用集体 5xx，根因大多不是模型挂了，而是调用层没有重试、超时、降级三件套。这篇把这三件套用标准库手写一遍，不依赖任何第三方包，复制就能跑。接大模型 API 做业务，最怕的不是模型答得不好，而是上游抽风：限流 429、网关超时、偶发连接重置。只重试"可重试"错误（限流、超时），对参数错误、鉴权失败一律不重试，避免无效打爆上游。重试耗尽仍失败，别把异常抛给用户——返回缓存答案或安全兜底，保证主流程不崩。，偶发全部失败时走缓存或兜底，主流程始终不抛错。]]></description><category></category></item><item><title><![CDATA[Python 3.14 新特性 t-string 实战：手写防 SQL 注入的参数化工具]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169341555</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169341555</guid><author>videwhy</author><pubDate>Wed, 28 Oct 2026 10:04:48 +0800</pubDate><description><![CDATA[t-string 不是替掉 ORM，而是给你一个"在字符串层面就能拆变量"的原语——做 SQL 构造器、模板引擎、日志脱敏时特别顺手。问题出在 f-string 把变量值直接融进字符串，运行时已经分不清哪里是"文本"、哪里是"参数"。对象，把"静态文本"和"插值变量"分开存着，让你在真正拼字符串之前逐个决定怎么处理。正好补这个缺口：它不像 f-string 那样立刻算出字符串，而是先产出一个。关键就在这：变量还没被"压平"成字符串，你有机会先决定它该走什么通道。可靠，也比"别拼字符串"这种口号可落地。]]></description><category></category></item><item><title><![CDATA[优快云 变现路径全攻略：六大收益渠道的门槛、分成与到账规则]]></title><link>https://blog.youkuaiyun.com/videwhy/article/details/169233160</link><guid>https://blog.youkuaiyun.com/videwhy/article/details/169233160</guid><author>videwhy</author><pubDate>Tue, 27 Oct 2026 08:43:18 +0800</pubDate><description><![CDATA[优快云 广告分成 2026 年 3 月已改纯 CPC，曝光量不再直接换钱。本文拆解六大变现渠道的门槛、分成与到账规则，附零粉丝到第一笔现金的三阶段路线图。]]></description><category></category></item></channel></rss>