在 Linux 上把 PPT 转成长图:office2pdf + PyMuPDF 的选型与踩坑

博主头像 介绍 群里收到 PPT 时,仅看文件名往往判断不了内容。按常规流程要下载、打开 Office、等加载、再翻页,多个文件下来很耗时间。我做了个小工具:在 Linux 服务器上把 PPT 转成一张纵向长图,用户在聊天窗口或手机里点开就能滑动浏览,不需要安装或打开 Office。 本文记录选型过程、关键实 ...

从怀疑到真香——AI 重构代码后,我不再追求“最合适”,而是做好这两件事:测试和优化

博主头像 AI 写代码越来越强,但实测显示它的初次通过率并不高。它擅长快速生成方案、补全测试、指出冗余,却很难真正理解业务边界和团队取舍。本文结合我在实际项目中使用 AI 重构代码的经验,分享一套可落地的质量把控方法:测试交给 AI,边界由人定义;优化交给 AI,标准由人制定。AI 不是替代者,它更像一套机械... ...

aaaaaaaaaaa

博主头像 u8g2 库移植与使用说明(STM32G431 + ST7735S) 本文档面向本工程 Moisture_Meter_g431_lcd,完整说明 u8g2 图形库是如何移植到 STM32G431 + ST7735S 彩色 TFT 上、如何使用、以及本工程实际用到的每一个 u8g2 函数的作用。 目录 ...

负载均衡到底在干嘛?7 个场景给你说明白

博主头像 引子 先问个问题:几百万人在同一秒打开一个 App,请求是怎么被接住的? 为什么双十一抢购页面没崩?为什么半夜某台服务器悄悄挂了,你刷抖音刷得照样流畅? 很多人会说,因为后端有很多台服务器嘛。 对,但只对了一半。机器多了,新的问题跟着就来了:请求给谁?某台坏了怎么办?流量涨了怎么加机器? 干这些活的 ...

你的账,是补出来的还是做出来的

博主头像 ERPLITE · 开源项目 中小企业要的 ERP,可能不是功能最多的那个,而是不用月底补账的那个。 中小企业上 ERP,通常栽在三件事上:功能一堆但八成用不上;账要月底手工对一遍;想改个字段得排厂商的期。 ERPLite 想解决的不是「功能不够」,而是把「单据 → 库存 → 账」这条链做顺:审核的 ...

分享一次真实面试里的6道AI测试题,逐题拆解(抓紧围观)

博主头像 前段时间有位粉丝去参加面试,回来总觉得答得不太好,找到我,想让我帮他复盘一下。题目拿过来一看,里面有几道问题挺典型的,挑几道出来,跟大家分享一下。 面试聊的是他做的测试用例 Agent 项目,面试官问得挺细,从提效数据怎么统计,一直问到方案本身有什么短板。每道题我都站在面试官的角度拆了一下,这道题面 ...

Day 18:错误契约与用户可见消息

一次调用失败分两种。一种是业务规则正常挡下来的,订单没有选客户、状态不允许这样转,这段消息是写给用户看的;另一种是程序没有预期到的异常,消息里可能有服务器的文件路径,那是写给开发者看的。两种回到调用端长得一模一样,都是 JSON-RPC payload 里的 error 字段。分不出来就只能一律显示 ...

开发基于ComfyUI图片生成类应用Step by step (四)前后端分离架构:独立ComfyUI服务于应用技术栈选型

博主头像 前面我们已经介绍了ComfyUI的工作流原理,并搭建了运行环境。在我们创建的环境中,ComfyUI运行在后端,应用程序通过http和web socker协议与ComfyUI服务进行数据交换。本文重点介绍该架构涉及的协议和技术栈选型。 一、架构说明 下图说明了应用程序与ComfyUI服务之间的关系: ...

Docker Compose 平滑切换环境变量文件,容器配置不残留

博主头像 在 Docker Compose 项目里更换环境变量文件时,如果直接改文件名再启动,旧容器可能仍带着上一次的环境变量。笔者按三个步骤操作,可以避免旧配置残留,让容器用上新文件。 01 | 先停掉并清理旧容器 切换前,先用当前的环境变量文件停止并删除正在运行的容器: docker-compose -- ...

HybridCache-缓存架构决策框架落地

博主头像 缓存本质是数据副本,非加速器。接入缓存即签署一致性合同,需明确陈旧窗口、影响范围与责任归属。HybridCache 标准化并发合并、两级编排与批量失效,但其一致性上界由进程内 TTL 决定,架构师无权代业务决策。关键在于:是否可测量性能问题?是否为事实读?是否需强一致?能否签署暴露量?是否真需高级特... ...

把视频生产做成一条可验证的流水线

博主头像 DEEPSEEK HARNESS · ENGINEERING NOTE 把视频生产做成一条可验证的流水线 从旁白、时间轴到门禁:一支代码生成的片子,怎么被一步步验出来 一份关于确定性渲染、实测时间轴与多层门禁的工程笔记 封面示意:横向条带代表连续的帧流,顶部刻度是时间轴上的采样点。 目 录 一、问题 ...

Day20 · 面向对象(二)继承、多态与高级特性

博主头像 Day20 · 面向对象(二)继承、多态与高级特性 阶段:阶段一 · 核心基础 | 前置:Day19 | 技术基准:Python 3.15.0 学习目标 掌握单继承、多继承与 MRO(方法解析顺序),会用 super() 理解多态与鸭子类型 会用 __slots__ 节省内存,用 @property ...

123···100>