- 博客(29)
- 资源 (8)
- 收藏
- 关注
原创 FastAPI + Pydantic 防御式编程:90% 的人第一步就错了
看完本文,你会用 Pydantic 把各种“奇葩请求”挡在门外,让接口更稳、报错更清楚。
2025-12-21 09:54:35
1079
原创 HTTPS 到底是什么?为什么你的网站没它就像“寄明信片”
看完本文,你会搞懂:HTTPS 为啥出现、HTTP 还能不能用、以及怎么让自己的网站“一键穿盔甲”。
2025-12-17 13:13:12
1691
原创 女朋友到家前 10 分钟,空调自动开暖风(小智 MCP 实战)
本文介绍如何利用小智音箱的MCP协议实现智能家居自动化控制,重点解决到家前10分钟自动开空调的实用场景。
2025-12-16 20:43:52
782
原创 改一个需求动 23 处代码?你可能踩进了这个坑
设计模式的价值,不在于代码变少,而在于改动变少。当你能做到「加功能只需加代码,不需改代码」的时候,你就真正理解了设计模式的精髓。而这,也是区分「写代码」和「做工程」的分水岭。
2025-12-14 10:36:44
1354
原创 Let‘s Encrypt 证书有效期将缩短至 45 天,怎么办?别慌!一篇讲清楚
Let's Encrypt 官宣:2028 年起证书有效期从 90 天减半至 45 天。这对习惯了"配置一次、忘掉一年"的开发者来说,是时候重新审视你的证书自动化流程了。
2025-12-13 17:58:53
1018
原创 我用 5 个 AI 编程助“手搓”一个企业服务:真实体验报告(含踩坑)
本文分享了使用5款AI编程助手(Claude Code、Cursor IDE、GitHub Copilot等) 在一周内完成企业级对账报表服务的开发经历。
2025-12-12 14:52:01
1003
原创 与模型打交道(2)| PyTorch 显存 OOM 频繁?4 个策略让你的 GPU 稳定运行 AI 大模型
文章讲述了AI工程师小禾在解决LLM服务显存泄漏问题的过程。凌晨3点因GPU显存溢出导致服务崩溃后,小禾发现三个关键问题:未释放的张量、累积的中间变量和不受控的并发请求。他通过三道防线解决:1) 用信号量限制并发请求数;2) 增加显存余量检查,拒绝超负荷请求;3) 在每次生成后强制垃圾回收并清理PyTorch显存缓存。这些措施有效预防了显存泄漏,保障了服务稳定性。
2025-12-12 11:20:35
1025
原创 与模型打交道(1)| 换了 4 家 AI 模型,代码只动了 1 行——这个架构设计让老板随便折腾
本文讲述了被迫更换4个不同LLM模型的痛苦经历,从GPT-5.1、Gemini 3.0到本地Qwen和Claude,每次更换都需重写47处业务代码。通过分析问题根源——业务代码与LLM实现强耦合,文章提出了适配器模式的解决方案:建立统一的LLM抽象层,定义标准消息格式和生成接口,使业务代码仅依赖抽象接口。以OpenAI适配器为例展示了具体实现,将各平台差异封装在适配器中,实现模型切换时业务代码无需修改。这种架构设计显著提升了系统的灵活性和可维护性。
2025-12-11 13:04:31
877
原创 CUDA 王炸:GPU 编程门槛被踩到 20 年来最低!手把手带你玩转 CUDA Tile
英伟达更新 CUDA!v13.1 将编程门槛踩到地板,从“我不配”到“啊,就这?”——手把手带你上车 CUDA Tile 编程
2025-12-11 07:49:32
1038
原创 性能追踪 | 用户说这 AI 推理太慢了,但我不知道慢在哪,直到……
3个步骤定位性能瓶颈:1) 添加基础计时中间件,发现总耗时12秒;2) 完善日志中间件,记录请求ID和详细耗时;3) 实现分段计时器,最终确认94%时间消耗在AI模型推理环节。
2025-12-10 09:15:59
1061
原创 前端传了个 null,后端直接炸了——防御性编程原来这么重要!
本文介绍了如何使用Pydantic在FastAPI中实现强大的请求参数验证。针对接口开发中常见的奇葩参数问题,作者展示了如何通过Pydantic模型自动验证数据类型、字段必填性、取值范围等。文章详细讲解了基础模型定义、自定义验证器、枚举类型限制以及嵌套模型等高级用法,帮助开发者构建健壮的API接口,有效防范非法参数导致的系统崩溃。通过Pydantic的自动验证机制,开发者可以确保接口只接收符合规范的数据,并自动生成清晰的错误响应。
2025-12-10 09:04:09
606
原创 接口报 500 了,日志里却空空的?如何给你的 AI 后端加上「三层防护」
本文带你重构异常处理体系,分为三层防护:全局异常处理器(兜底所有异常并记录日志)、业务异常处理(返回友好提示)、端点级try-except(细粒度恢复)。
2025-12-09 15:01:27
764
原创 改了个字段,用户集体白屏——前端 LocalStorage 数据迁移血泪史
本文讲述了一个线上事故案例:在发布新版本时,由于未考虑老用户数据的兼容性而导致应用崩溃,从事故发生到解决问题的整个过程。
2025-12-08 06:03:40
754
原创 “AI 正在生成视频分镜...” 这个 loading 状态比你想的复杂多了
本文通过视频分镜生成的案例,生动展示了状态管理从简单到复杂的演进过程。
2025-12-08 06:03:21
770
原创 vLLM 本地部署与模型预热全攻略:让首次响应从 5 秒变 1 秒
本文分享了如何优化本地GPU部署vLLM大模型时的预热过程,解决首token延迟问题。文章首先介绍了vLLM引擎的特点及适用模型,推荐了Qwen2.5-7B-Instruct等热门模型。接着详细说明了硬件要求、环境配置步骤,并指出冷启动时存在的分词器加载、CUDA内核编译等隐形成本。针对这些问题,作者设计了一套覆盖不同prompt长度、输出长度、并发量和语料类型的预热策略,提供了Python预热脚本示例,通过模拟真实请求场景提前触发各类初始化操作,从而显著降低用户首次请求的响应延迟。
2025-12-07 10:48:36
1072
原创 Dify 自建部署完全指南:从上手到放弃到真香
本文记录了一个开发者在企业内部部署Dify AI平台的两周血泪史。从老板突然要求搭建私有化AI平台开始,开发者评估了Coze、FastGPT等方案后选择了Dify。部署过程充满挑战:PostgreSQL数据库初始化失败、前端静态资源404、DeepSeek API的HTTP/2兼容问题,以及SGLang流式输出格式差异等。通过删除残留Docker卷、调整Nginx配置、添加HTTP代理和修复SSE格式等解决方案,最终成功搭建起支持多种模型的企业级AI平台。文章生动展现了技术实践
2025-12-07 10:07:08
1213
原创 深度嵌套数据,Vue 页面渲染卡成 PPT,原来是这里做错了——Map前来救场
本文记录了开发过程中解决Vue状态管理深层嵌套数据访问问题的实践。初始方案直接通过索引访问四层嵌套数据(故事→场景→分镜→属性),存在路径深、索引不稳定等问题。改进方案经历了三个阶段:1)改用ID代替索引提高稳定性;2)封装查找逻辑避免重复代码;3)使用Pinia的getters提供便捷访问。最终形成了状态管理的清晰分层结构:state存储原始数据,getters封装查询逻辑,actions处理业务操作。这种模式有效解决了深层数据访问的痛点,提高了代码的可维护性
2025-12-06 10:35:50
1000
原创 用户怒了:手一滑按了 F5,2 小时的工作全没了——我解决了问题,并顺带加了「防抖」
本文介绍了一个Vue3项目中实现状态持久化的完整方案:从用户数据丢失的紧急工单出发,逐步优化了基于Pinia和localStorage的数据持久化实现。
2025-12-06 08:38:28
1003
原创 AI 返回的 JSON 总是格式错误?我写了个「容错解析器」- 附代码
本文通过一个故事介绍了一个专用于 AI 的 JSON 容错解析器的完整实现。
2025-12-04 08:21:43
815
1
原创 为了让 AI 用 5 个姿势生成图片,我差点写了 32 个 if-else
盯着屏幕上的代码金字塔,认真思考了一个问题:是代码先崩,还是我先崩?后来我用了一个"古老"的设计模式,把 32 个分支变成了 6 个独立的类。现在产品经理再加功能,我只需要新建一个文件。改动?不存在的。
2025-12-04 08:08:41
683
原创 基于 Ubuntu 自签永久免费 HTTPS 证书:一次帮你把坑踩个遍
本文记录了在Ubuntu 22.04上配置Cloudflare+Nginx+Let's Encrypt时遇到的三个关键问题及解决方案,最终实现了端到端加密的稳定HTTPS服务,包含自动证书续期和Cloudflare防护功能。
2025-12-03 10:56:41
1534
原创 再见 1970!一篇说透 Unix 时间戳、Vue 里的日期和 Excel 日期
这篇文章,希望能带你把散落在脑海里的几个关键词——**Excel 日期**、**JavaScript `Date`**、**Unix 时间戳**——串成一条清晰又好懂的故事线。
2025-12-03 10:38:18
1002
原创 老板说换个 AI 模型,我花了 5 分钟搞定
本文通过程序员小刘的故事,生动讲解了适配器模式的应用场景和实现方法。面对OpenAI、Ollama和NVIDIANIM三种大模型API调用方式不一致的问题,小刘采用适配器模式定义了统一接口ModelAdapter,并为每个模型创建对应的适配器类,将不同API封装成一致的调用方式。结合工厂模式,只需修改配置文件即可切换不同模型,彻底解决了if-else泛滥的问题。文章还强调了错误处理、日志记录和测试Mock三个关键细节,展示了设计模式在实际开发中的强大威力。
2025-12-01 22:28:32
1123
原创 小孩才用 if-else,来看看成年人怎么做选择
本文详细介绍了简单工厂、注册式工厂、单例工厂和分层工厂等不同实现方式,并提供了根据项目复杂度选择合适方案的决策指南。
2025-11-30 13:54:35
1331
原创 Lombok在VSCode中不生效的解决办法
通过以上处理,问题应该能解决。2. 启用Java注解处理。3. Java 项目设置。执行Maven清理和构建。
2025-04-01 09:16:57
3219
3
项目经理的九阴真经-从非常困难到灰常容易
2013-07-25
高层述职报告模板
2013-07-25
著名网站架构设计(包括Facebook Google Amazon 共计123篇)
2013-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅