<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>瓶子博客 RSS</title><description>前端开发者，正在探索后端与 AI 领域，记录学习与实践</description><link>https://wungjyan.com/</link><language>zh-cn</language><item><title>使用 frp 实现 NAS 内网穿透：云服务器与 Docker 部署指南</title><link>https://wungjyan.com/posts/frp-nas-remote-access/</link><guid isPermaLink="true">https://wungjyan.com/posts/frp-nas-remote-access/</guid><description>介绍如何在公网云服务器部署 frps、在 NAS 的 Docker 中运行 frpc，将 MySQL 等内网服务映射到公网，并说明端口、防火墙和服务暴露的安全注意事项。</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate><category>frp</category><category>NAS</category><category>Docker</category><category>内网穿透</category><category>反向代理</category></item><item><title>LangGraph 中状态的更新策略</title><link>https://wungjyan.com/posts/langgraph-state-update-strategies/</link><guid isPermaLink="true">https://wungjyan.com/posts/langgraph-state-update-strategies/</guid><description>LangGraph 状态更新策略全解析，涵盖默认覆盖更新、add_messages 追加消息、operator.add 累加、operator.mul 的零初始化陷阱，以及如何自定义 Reducer。</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate><category>LangGraph</category><category>Reducer</category></item><item><title>LangGraph 概述与入门</title><link>https://wungjyan.com/posts/langgraph-intro/</link><guid isPermaLink="true">https://wungjyan.com/posts/langgraph-intro/</guid><description>LangGraph 概念入门——介绍什么是 LangGraph、为什么需要它、与 LangChain 的关系，以及核心概念（StateGraph、Node、Edge、State），配合可视化和一个 Hello World 示例快速上手。</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><category>LangGraph</category><category>LangChain</category><category>Agent</category></item><item><title>一个最简单 RAG 功能的实现流程</title><link>https://wungjyan.com/posts/minimal-rag-implementation-guide/</link><guid isPermaLink="true">https://wungjyan.com/posts/minimal-rag-implementation-guide/</guid><description>使用 Python + LangChain 搭建一个最小可运行的 RAG 流程，涵盖文档加载、分割、向量化入库、检索与大模型生成四个核心步骤。</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>LangChain</category><category>RAG</category></item><item><title>LangChain 模型调用：invoke、stream 与 batch</title><link>https://wungjyan.com/posts/langchain-model-invocation-methods/</link><guid isPermaLink="true">https://wungjyan.com/posts/langchain-model-invocation-methods/</guid><description>介绍 LangChain 模型的 invoke、stream 和 batch 调用方式，以及对应的异步方法、输入格式与返回值。</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate><category>LangChain</category><category>LLM</category><category>Runnable</category></item><item><title>LangChain 聊天模型初始化：3 种常见方式</title><link>https://wungjyan.com/posts/langchain-chat-model-initialization/</link><guid isPermaLink="true">https://wungjyan.com/posts/langchain-chat-model-initialization/</guid><description>介绍在 LangChain 中使用供应商专属集成类、init_chat_model 和 OpenAI 兼容接口初始化聊天模型的方法。</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate><category>LangChain</category><category>LLM</category><category>DeepSeek</category></item><item><title>使用 NestJS 开发微信公众号消息接口实践</title><link>https://wungjyan.com/posts/nestjs-wx-dev/</link><guid isPermaLink="true">https://wungjyan.com/posts/nestjs-wx-dev/</guid><description>记录如何利用 NestJS 框架开发微信公众号消息接口，实现动态回复功能，包括接口配置、消息解析和回复实现</description><pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate><category>NestJS</category><category>微信公众号</category><category>后端开发</category></item><item><title>配置 git commit 提交信息约束</title><link>https://wungjyan.com/posts/how-set-constraints-for-git-commit/</link><guid isPermaLink="true">https://wungjyan.com/posts/how-set-constraints-for-git-commit/</guid><description>本文详细介绍如何在多人协作项目中配置 git commit 信息约束，涵盖 commitlint、husky、commitizen、cz-git 等工具的安装与使用，帮助开发者实现自动化提交规范，提升团队协作效率。</description><pubDate>Thu, 30 Oct 2025 08:08:17 GMT</pubDate><category>前端</category></item><item><title>NestJS 中实现完整的 JWT 认证系统</title><link>https://wungjyan.com/posts/nestjs-jwt-auth/</link><guid isPermaLink="true">https://wungjyan.com/posts/nestjs-jwt-auth/</guid><description>深入讲解如何在 NestJS 中构建完整的 JWT 认证系统，包括用户注册、登录、Token 生成与校验，以及路由守卫的实现</description><pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate><category>NestJS</category><category>JWT</category><category>后端开发</category></item><item><title>微信小程序中使用 page-meta 优雅处理滚动穿透问题</title><link>https://wungjyan.com/posts/wx-miniprogram-page-meta/</link><guid isPermaLink="true">https://wungjyan.com/posts/wx-miniprogram-page-meta/</guid><description>使用 page-meta 解决微信小程序中的滚动穿透问题</description><pubDate>Mon, 21 Jul 2025 02:35:00 GMT</pubDate><category>uniapp</category><category>微信小程序</category></item><item><title>NestJS 中使用 winston 日志库</title><link>https://wungjyan.com/posts/use-winston-in-nestjs/</link><guid isPermaLink="true">https://wungjyan.com/posts/use-winston-in-nestjs/</guid><description>介绍在 nestjs 中如何使用 winston 日志库，以及结合 nest-winston 模块使用。</description><pubDate>Wed, 25 Jun 2025 02:15:44 GMT</pubDate><category>NestJS</category><category>后端开发</category></item><item><title>NestJS 中自定义日志</title><link>https://wungjyan.com/posts/nestjs-log/</link><guid isPermaLink="true">https://wungjyan.com/posts/nestjs-log/</guid><description>介绍 NestJS 中自定义日志的实现方式，以及介绍自定义日志类如何实现依赖注入。</description><pubDate>Tue, 24 Jun 2025 03:27:23 GMT</pubDate><category>NestJS</category><category>后端开发</category></item><item><title>家庭网络架构变更记录</title><link>https://wungjyan.com/posts/home-network-architecture-change-record/</link><guid isPermaLink="true">https://wungjyan.com/posts/home-network-architecture-change-record/</guid><description>记录一下家庭网络从路由器拨号到光猫拨号再到添加软路由拨号的折腾过程，详解各种网络架构方案。</description><pubDate>Tue, 10 Jun 2025 06:19:22 GMT</pubDate><category>网络</category></item><item><title>Three.js 绘制点，线，面和自定义几何体</title><link>https://wungjyan.com/posts/threejs-create-custom-geometry/</link><guid isPermaLink="true">https://wungjyan.com/posts/threejs-create-custom-geometry/</guid><description>介绍使用 Three.js 中的 BufferGeometry 来绘制点，线，面以及自定义几何体</description><pubDate>Fri, 09 May 2025 07:33:02 GMT</pubDate><category>Threejs</category></item><item><title>Go 语言的 context 包</title><link>https://wungjyan.com/posts/go-context/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-context/</guid><description>介绍 Go 语言中 context 包的使用，包括 WithCancel、WithTimeout、WithDeadline 和 WithValue 等方法的应用。</description><pubDate>Wed, 30 Apr 2025 00:00:00 GMT</pubDate><category>Go</category></item><item><title>给终端加点颜色：ANSI转义序列探索</title><link>https://wungjyan.com/posts/ansi-escape-sequences-color/</link><guid isPermaLink="true">https://wungjyan.com/posts/ansi-escape-sequences-color/</guid><description>介绍ANSI转义序列的基本原理，演示设置文本颜色（包括RGB颜色）和样式修饰符的方法，提供Go、Node.js等多语言示例代码。</description><pubDate>Thu, 24 Apr 2025 07:23:38 GMT</pubDate><category>ANSI</category></item><item><title>详解 NestJS 环境变量使用</title><link>https://wungjyan.com/posts/nestjs-env-config/</link><guid isPermaLink="true">https://wungjyan.com/posts/nestjs-env-config/</guid><description>详解NestJS环境变量配置实践，涵盖@nestjs/config模块使用、多环境配置(.env/.env.production)、YAML文件集成及Joi校验方案，通过优先级覆盖机制和全局加载策略构建专业级应用配置体系。</description><pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate><category>NestJS</category><category>后端开发</category></item><item><title>Go 语言中 panic 和 recover</title><link>https://wungjyan.com/posts/go-panic-and-recover/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-panic-and-recover/</guid><description>介绍 Go 语言中 panic 和 recover 机制的使用，包括 panic 函数的触发和 recover 函数的捕获。</description><pubDate>Sat, 05 Apr 2025 00:00:00 GMT</pubDate><category>Go</category></item><item><title>Go 语言中的 channel</title><link>https://wungjyan.com/posts/go-channel/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-channel/</guid><description>详解Go语言Channel核心机制：涵盖无缓冲/有缓冲通道、select多路复用、单向通道及超时处理，解决协程通信死锁问题，提升并发编程可靠性。</description><pubDate>Thu, 27 Mar 2025 06:57:02 GMT</pubDate><category>Go</category></item><item><title>Go 语言互斥锁与读写锁</title><link>https://wungjyan.com/posts/go-mutex-and-rwmutex/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-mutex-and-rwmutex/</guid><description>解析Go语言互斥锁与读写锁机制：区分写排他/读并行场景，解决数据竞争与性能瓶颈，优化高并发程序在读写密集型任务中的执行效率。</description><pubDate>Tue, 25 Mar 2025 06:18:41 GMT</pubDate><category>Go</category></item><item><title>Go 语言defer详解</title><link>https://wungjyan.com/posts/go-defer/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-defer/</guid><description>详解Go语言defer机制：涵盖延迟执行顺序、参数预计算、返回值修改，解决资源管理与错误处理难题，提升代码健壮性与可维护性。</description><pubDate>Mon, 24 Mar 2025 06:33:20 GMT</pubDate><category>Go</category></item><item><title>Go 语言切片的值传递</title><link>https://wungjyan.com/posts/go-slice-value-propagation/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-slice-value-propagation/</guid><description>解析Go语言切片值传递机制：通过底层数组指针与扩容原理，阐明函数参数修改对原数据的影响边界，解决开发中的常见理解误区。</description><pubDate>Fri, 21 Mar 2025 09:00:10 GMT</pubDate><category>Go</category></item><item><title>CSS 属性值 initial、unset 和 revert 的区别</title><link>https://wungjyan.com/posts/css-initial-vs-unset-vs-revert/</link><guid isPermaLink="true">https://wungjyan.com/posts/css-initial-vs-unset-vs-revert/</guid><description>记录 CSS 属性值 initial、unset 和 revert 的区别。</description><pubDate>Fri, 29 Nov 2024 00:00:00 GMT</pubDate><category>CSS</category></item><item><title>解决 Mac 钥匙串访问中证书不受信任问题</title><link>https://wungjyan.com/posts/resolving-the-issue-of-untrusted-certificates/</link><guid isPermaLink="true">https://wungjyan.com/posts/resolving-the-issue-of-untrusted-certificates/</guid><description>解决Mac钥匙串中iOS开发证书不受信任问题：通过下载安装Apple Worldwide Developer Relations根证书，修复.p12证书导出错误，保障应用打包流程顺畅。</description><pubDate>Thu, 31 Oct 2024 02:46:35 GMT</pubDate><category>IOS开发</category></item><item><title>Go 语言中空接口以及类型断言的使用</title><link>https://wungjyan.com/posts/go-empty-interface/</link><guid isPermaLink="true">https://wungjyan.com/posts/go-empty-interface/</guid><description>解析Go语言空接口机制与类型断言实践：实现动态数据存储与安全类型转换，解决JSON解析与配置管理中的类型不确定性难题。</description><pubDate>Sat, 28 Sep 2024 08:29:28 GMT</pubDate><category>Go</category></item><item><title>TypeScript 中类型 object 和类型 Object 的区别</title><link>https://wungjyan.com/posts/typescript-object-vs-object/</link><guid isPermaLink="true">https://wungjyan.com/posts/typescript-object-vs-object/</guid><description>探讨 TypeScript 中 object 和 Object 两种类型的关键差异及使用场景</description><pubDate>Sun, 11 Aug 2024 00:00:00 GMT</pubDate><category>TypeScript</category></item><item><title>TypeScript 中 null，undefined 和 void 的区别</title><link>https://wungjyan.com/posts/typescript-null-vs-undefined-vs-void/</link><guid isPermaLink="true">https://wungjyan.com/posts/typescript-null-vs-undefined-vs-void/</guid><description>记录 TypeScript 中 null、undefined 与 void 类型区别，并说明 strictNullChecks 配置对类型安全的影响。</description><pubDate>Tue, 25 Jun 2024 02:13:17 GMT</pubDate><category>TypeScript</category></item><item><title>Vite 项目配置模块分包</title><link>https://wungjyan.com/posts/vite-config-modules-chunks/</link><guid isPermaLink="true">https://wungjyan.com/posts/vite-config-modules-chunks/</guid><description>详解Vite项目模块分包优化：通过rollupOptions配置manualChunks拆分第三方库与业务代码，提升加载速度与缓存利用率，解决大文件性能瓶颈的最佳实践。</description><pubDate>Thu, 13 Jun 2024 14:04:18 GMT</pubDate><category>Vite</category></item><item><title>Vue项目自动路由和自动导入功能配置</title><link>https://wungjyan.com/posts/auto-router-and-auto-import/</link><guid isPermaLink="true">https://wungjyan.com/posts/auto-router-and-auto-import/</guid><description>通过 unplugin-vue-router 实现文件系统路由自动生成，结合 unplugin-auto-import 解决模块重复导入痛点，提升开发效率与代码整洁度。</description><pubDate>Tue, 04 Jun 2024 04:51:07 GMT</pubDate><category>Vite</category></item><item><title>解决 Leaflet 地图出现 1px 白线问题</title><link>https://wungjyan.com/posts/resolve-leaflet-map-1px-line/</link><guid isPermaLink="true">https://wungjyan.com/posts/resolve-leaflet-map-1px-line/</guid><description>Leaflet 地图会出现 1px 白线问题，找到一个临时解决方法来解决。</description><pubDate>Tue, 07 May 2024 02:15:00 GMT</pubDate><category>Leaflet</category></item><item><title>uniapp 开发记录</title><link>https://wungjyan.com/posts/uniapp-record/</link><guid isPermaLink="true">https://wungjyan.com/posts/uniapp-record/</guid><description>总结uniapp跨平台App开发实战经验：涵盖基座配置、证书管理、easycom组件模式、路由拦截及原生图层层级难题解决方案，助力高效避坑与性能优化。</description><pubDate>Thu, 28 Mar 2024 08:45:39 GMT</pubDate><category>uniapp</category></item></channel></rss>