<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GLimerence的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GLimerence</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GLimerence]]></copyright><item><title><![CDATA[微信小程序秒杀活动实战：从倒计时、库存扣减到防超卖的全链路实现]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/167392157</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/167392157</guid><author>GLimerence</author><pubDate>Fri, 09 Oct 2026 17:10:49 +0800</pubDate><description><![CDATA[我的建议是要，但只在最后 10 秒开，而且只更新两位（百分秒）。理由：最后 10 秒是用户心理压力最大的时候，"00:09" 和 "00:08" 之间的一秒空档会让用户怀疑卡死。代价是刷新频率从 1Hz 提到 100Hz——这显然不行。最后 10 秒用 50ms 的刷新间隔显示两位毫秒（10ms 位会跳，但视觉上是连续的），并且把倒计时单独拆成组件，原因见 7.1 节。// 刷新频率分级：既保证观感，又控制 setData 次数// 超过 1 分钟：1 秒 1 次。]]></description><category></category></item><item><title><![CDATA[Git 团队实战]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/167224229</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/167224229</guid><author>GLimerence</author><pubDate>Wed, 07 Oct 2026 20:02:38 +0800</pubDate><description><![CDATA[本文剖析团队常见Git事故根源，强调“低级但致命”源于心智模型错误。通过构建“三区一指针”模型，厘清reset与revert的本质区别：前者改本地历史，后者生成安全回滚提交。提出“已推送必用revert、reset前先stash、遇事先reflog”三大救命原则，并制定涵盖分支管理、提交规范、标签发布（附注标签+SemVer）的团队落地规则，实现事故率从每月数起降至近乎为零。]]></description><category></category></item><item><title><![CDATA[前端 H5 实战]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166982357</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166982357</guid><author>GLimerence</author><pubDate>Fri, 02 Oct 2026 07:59:22 +0800</pubDate><description><![CDATA[本文讲述了H5 它在企业里到底扮演什么角色，以及那些躲不掉的坑]]></description><category></category></item><item><title><![CDATA[RAG 完整链路拆解：原理、每个模块该干什么]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166904209</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166904209</guid><author>GLimerence</author><pubDate>Wed, 30 Sep 2026 23:02:48 +0800</pubDate><description><![CDATA[本文揭示RAG核心价值：通过检索增强生成，将“模型臆测”转为“有据可查”。其本质是解耦“理解能力”与“事实知识”，实现知识热更新、答案可溯源、私有数据不出域。关键在于离线链的文档解析、切片、向量化与检索优化，尤其强调“先看召回结果，再调生成”。真正提升可信度的不是更聪明的模型，而是敢于说“不知道”的机制。]]></description><category></category></item><item><title><![CDATA[多 Agent 系统企业级实战]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166828273</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166828273</guid><author>GLimerence</author><pubDate>Tue, 29 Sep 2026 08:42:53 +0800</pubDate><description><![CDATA[本文系统梳理了从单Agent到企业级多Agent系统的架构设计实践，强调“多Agent非必要不拆”，并基于真实踩坑经验提出八条军规：职责分离、结构化通信、三层记忆管理、最小权限、防注入、容错机制与全链路可观测。核心思想是：多Agent的本质是分布式系统工程，关键在于可控、可审计、可回滚。]]></description><category></category></item><item><title><![CDATA[Vibe Coding 指南]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166790885</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166790885</guid><author>GLimerence</author><pubDate>Mon, 28 Sep 2026 16:53:13 +0800</pubDate><description><![CDATA[VibeCoding原指不审查、不理解的AI编程，仅适用于低风险项目。本文厘清其与专业开发（VibeEngineering）的本质区别：前者放弃责任，后者强调审查与担当。作者提出“风险分区”工作流，倡导在绿区试用、红区禁用，并建立规范、测试先行、逐行审查。职场中需警惕信任崩塌、安全漏洞与能力退化，关键在于以“可解释、可负责”为底线。最终提醒：用AI提效，但别让代码失去人的温度。]]></description><category></category></item><item><title><![CDATA[FastAPI 实战：从“能跑的 Demo“到“敢上生产的 API“]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166737173</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166737173</guid><author>GLimerence</author><pubDate>Sun, 27 Sep 2026 15:54:07 +0800</pubDate><description><![CDATA[本文基于项目从Demo到生产的真实演进，揭示FastAPI在类型标注、异步编程、依赖注入、模型分层与任务调度中的典型坑点。通过四个核心案例：同步阻塞卡死事件循环、依赖注入滥用、敏感字段泄露、重任务阻塞请求，提出全链路异步改造、生命周期管理、三层Pydantic模型设计、任务异步化等重构方案，并附12项生产化检查清单，强调“理解执行模型”比“快速上手”更重要。]]></description><category></category></item><item><title><![CDATA[微信小程序电商交易链路实战]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166489597</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166489597</guid><author>GLimerence</author><pubDate>Wed, 23 Sep 2026 18:09:01 +0800</pubDate><description><![CDATA[本文讲述了自己在公司开发微信小程序在加购到支付链路，从踩坑到成功的每一步]]></description><category></category></item><item><title><![CDATA[前端组件封装]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/166370797</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/166370797</guid><author>GLimerence</author><pubDate>Tue, 22 Sep 2026 19:11:53 +0800</pubDate><description><![CDATA[组件封装几乎是每个前端都会做的事，但"把代码塞进一个文件"和"封装出一个好组件"之间，差着好几年的踩坑经验。本文从一个我亲手写烂又亲手重构的实时状态卡片讲起，聊聊组件封装的方法论：什么时候该封装、怎么设计边界、怎么面对同事的吐槽和需求的变化。]]></description><category></category></item><item><title><![CDATA[AI Agent 入门完全指南]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/164867193</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/164867193</guid><author>GLimerence</author><pubDate>Thu, 10 Sep 2026 17:32:01 +0800</pubDate><description><![CDATA[AI Agent（人工智能智能体）是一个以大语言模型（LLM）为大脑、能够自主感知环境、进行推理规划、调用工具执行行动、并从反馈中学习的自主系统。Agent = LLM + 记忆 + 规划 + 工具使用。LLM（Large Language Model）是 Agent 的核心推理引擎。OpenAIAnthropic开源模型│            Agent 记忆系统                ││  │  短期记忆     │  │    长期记忆       │  │。]]></description><category></category></item><item><title><![CDATA[React学习第一天]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/147170974</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/147170974</guid><author>GLimerence</author><pubDate>Sun, 20 Apr 2025 15:40:05 +0800</pubDate><description><![CDATA[在编译时（通常通过 Babel 这样的工具），JSX 会被转换为 React.createElement() 的函数调用。在React中，一个组件就是首字母大写的函数，内部存放了组件的逻辑和视图UI，渲染组件只需要把组件当成标签即可，可以看上面list.js代码部分。在React中，状态被认为是只读的，我们应该始终替换它而不是修改它，直接修改状态不能引发视图更新。以组件的方式使用：创建一个list文件，放在与App.js同级目录下的base文件夹中。如果你希望样式仅适用于特定组件，可以使用CSS模块。]]></description><category></category></item><item><title><![CDATA[微信小程序基础知识-进阶一]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/147160905</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/147160905</guid><author>GLimerence</author><pubDate>Sat, 12 Apr 2025 14:32:16 +0800</pubDate><description><![CDATA[动态绑定样式：通过 style 属性绑定数据，支持动态更新样式值。动态绑定类名：通过 class 属性绑定数据，支持条件切换或多类名拼接。数据驱动：尽量避免直接操作 DOM，而是通过 setData 更新数据，触发视图刷新。// 子组件（child-component.js）// 接收父组件传递的参数title: {value: '默认标题'},count: {value: 0});// 子组件（child-component.js）methods: {');});]]></description><category></category></item><item><title><![CDATA[2024前端面试]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/141029874</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/141029874</guid><author>GLimerence</author><pubDate>Sat, 10 Aug 2024 10:59:06 +0800</pubDate><description><![CDATA[在‌Vue中，‌data必须是一个‌函数，这是因为当data是函数时，每个组件实例化时都会调用该函数，返回一个新的数据对象，从而保证每个组件实例拥有独立的数据，避免数据冲突和不正确的状态更新。‌具体来说，如果data是一个对象字面量，多个组件实例会共享同一个数据对象，导致数据冲突和不正确的状态更新。而当data是一个函数时，每次创建组件实例时都会调用该函数，返回一个新的数据对象，每个组件实例都有自己的数据对象，互不干扰。这样，改变其中一个组件的状态不会影响到其他组件。‌。]]></description><category></category></item><item><title><![CDATA[Vue常见问题（一）组件的使用]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/140955138</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/140955138</guid><author>GLimerence</author><pubDate>Tue, 06 Aug 2024 17:23:10 +0800</pubDate><description><![CDATA[内容解释：组件未定义，请确保你的组件已经定义了，另外可以理解成错误使用。报错的内容大致意思是：组件错误使用或者失效。]]></description><category></category></item><item><title><![CDATA[JavaScript中bind、apply、call的理解]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/140686122</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/140686122</guid><author>GLimerence</author><pubDate>Thu, 25 Jul 2024 13:33:29 +0800</pubDate><description><![CDATA[JavaScript中bind、apply、call的理解]]></description><category></category></item><item><title><![CDATA[JavaScript创建函数和对象的常用方法]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/139649390</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/139649390</guid><author>GLimerence</author><pubDate>Thu, 13 Jun 2024 11:37:58 +0800</pubDate><description><![CDATA[JavaScript中常见的创建函数和对象的方法以及对应的优缺点]]></description><category></category></item><item><title><![CDATA[git获取的项目无法运行]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/139447500</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/139447500</guid><author>GLimerence</author><pubDate>Tue, 04 Jun 2024 19:34:58 +0800</pubDate><description><![CDATA[删除node_modules中的3个文件夹：core-js 、core-js-compat 、core-util-js。下面两个文件都可以下载，但推荐使用.zip文件，下载更快一下。随后直接安装即可（注意路径不要有中文，选默认路径即可）之后执行下面的命令后，即可执行npm run dev运行了。：不要在VScode终端中运行，除非配置好了终端环境。以上内容来自各个博主的经验贴以及本人自身经历。无误后即可重新执行npm install.]]></description><category></category></item><item><title><![CDATA[uni-app解决表格uni-table样式问题]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/139283076</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/139283076</guid><author>GLimerence</author><pubDate>Wed, 29 May 2024 15:56:25 +0800</pubDate><description><![CDATA[在第一列uni-th中加上类名first，随后设置固定位置，个人尝试过使用position: sticky;在App中并没有生效。此外，element-plus导入到uni-app项目运行到真机中也会报错，因为样式冲突和导入方式等问题，无法使用，后续找到解决方案会更新，所以没有使用el-table来实现。通过检查页面效果来找到对应隐藏的内容，在进行样式设置，如果没有生效，考虑使用!important。]]></description><category></category></item><item><title><![CDATA[Element-Plus中表格及分页功能]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/139264302</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/139264302</guid><author>GLimerence</author><pubDate>Tue, 28 May 2024 13:52:35 +0800</pubDate><description><![CDATA[解释：这里我用了首列索引，但索引值希望是自己想要的值，所以通过type="index" :index="indexMethod"，绑定了indexMethod方法，该方法在methods中定义。这里用的是虚拟数据，所以需要一个副本将虚拟数据的内容进行深拷贝，然后根据当前页面大小和当前页数进行计算，将最终的副本数据进行渲染到页面上。Vue3和Vue2的区别在于拷贝，因为Vue3使用的是组合式API，所以在响应式基础上，能够对data中的数组进行直接拷贝渲染。]]></description><category></category></item><item><title><![CDATA[Vue2进阶Vue3时常见问题]]></title><link>https://blog.youkuaiyun.com/GLimerence/article/details/139091912</link><guid>https://blog.youkuaiyun.com/GLimerence/article/details/139091912</guid><author>GLimerence</author><pubDate>Sun, 26 May 2024 19:48:53 +0800</pubDate><description><![CDATA[当你在 Vue 的模板或 setup 函数的返回值中引用 ref 创建的响应式变量时，不需要使用 .value。Composition API 中，组件根据逻辑功能来组织的，一个功能所定义的所有 API 会放在一起（更加的高内聚，低耦合），即使项目很大，功能很多，我们都能快速的定位到这个功能所用到的所有 API。在 Vue 3 中，ref 用于创建响应式的引用（references），它总是返回一个包装对象，这个对象的 .value 属性包含了真正的响应式值。]]></description><category></category></item></channel></rss>