<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_35359474的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_35359474</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_35359474]]></copyright><item><title><![CDATA[vueDiff算法]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/170291165</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/170291165</guid><author>qq_35359474</author><pubDate>Sun, 08 Nov 2026 16:08:06 +0800</pubDate><description><![CDATA[【代码】vueDiff算法。]]></description><category></category></item><item><title><![CDATA[es6新特性]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/164448816</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/164448816</guid><author>qq_35359474</author><pubDate>Mon, 07 Sep 2026 08:13:36 +0800</pubDate><description><![CDATA[*‌新数据结构‌：**新增‌Map 和 Set‌ 集合，Map 支持任意类型键值，Set 自动去重；新增‌Symbol‌ 类型创建唯一标识。**‌模块化‌：**通过‌import 和 export‌ 实现模块的导入导出，支持将代码拆分为独立文件，提升可维护性。**‌Promise 对象‌：**提供统一的‌异步编程接口‌，通过 then 链式调用处理异步操作，避免回调地狱。**‌模板字符串‌：**使用‌反引号 (`)‌ 包裹字符串，支持换行和${}变量插值，简化拼接操作。，例如 function。]]></description><category></category></item><item><title><![CDATA[JavaScript 的事件循环]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/164431488</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/164431488</guid><author>qq_35359474</author><pubDate>Sun, 06 Sep 2026 23:00:38 +0800</pubDate><description><![CDATA[JavaScript 的事件循环（Event Loop）是它实现异步非阻塞操作的核心机制。即使 JavaScript 是单线程的（一次只能做一件事），事件循环也能让它处理定时器、网络请求、用户点击等并发任务。]]></description><category></category></item><item><title><![CDATA[Git Flow 分支模型]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/163801506</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/163801506</guid><author>qq_35359474</author><pubDate>Sun, 16 Aug 2026 17:55:31 +0800</pubDate><description><![CDATA[从 develop 分支创建，进行最后的测试和修复，然后合并回 develop 和 master 分支，并打上版本标签。从 master 分支创建，修复完成后合并回 master 和 develop 分支，并打上版本标签。每次发布一个新的版本时，都会从 develop 分支合并到 master 分支。从 develop 分支创建，开发完成后合并回 develop 分支。功能分支、发布分支和修复分支都从这里分支出去，最终合并回这里。命名规范：hotfix/hotfix-name。用于集成所有的开发分支。]]></description><category></category></item><item><title><![CDATA[vue知识点]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/154618770</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/154618770</guid><author>qq_35359474</author><pubDate>Mon, 27 Jul 2026 14:42:46 +0800</pubDate><description><![CDATA[Vue3 核心概念摘要 父子组件通信 Props单向绑定：使用defineProps声明接收属性，支持类型检查和默认值 Provide/Inject：跨层级数据传递，父组件provide，任意子组件inject 事件总线：使用mitt库创建全局事件总线，实现组件间发布订阅 Symbol应用 依赖注入键名：避免provide/inject键名冲突 全局标识：标记特殊组件类型 私有属性：在响应式对象中使用Symbol键防止属性覆盖 组件注册 全局注册：通过app.component()注册，所有组件可用 局部注]]></description><category></category></item><item><title><![CDATA[Vue.js 3 的设计思路]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/162574701</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/162574701</guid><author>qq_35359474</author><pubDate>Sun, 05 Jul 2026 14:02:42 +0800</pubDate><description><![CDATA[Vue.js是一个声明式框架，声明式的好处在于它直接描述结果，用户不关注过程。Vue.js采用模板的方式来描述UI,但它同样支持使用虚拟DOM来描述UI。虚拟DOM比模板更灵活，模板比虚拟DOM更加直观。渲染器的作用是，把虚拟DOM渲染为真实DOM元素。它的工作原理是递归地遍历虚拟DOM对象，并调用原生DOM API来完成真实DOM元素的创建。渲染器的精髓在于更新，它会通过Diff算法找出变更点，并且只会更新需要更新的内容。]]></description><category></category></item><item><title><![CDATA[vue项目创建指令]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/159214323</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/159214323</guid><author>qq_35359474</author><pubDate>Wed, 18 Mar 2026 22:33:25 +0800</pubDate><description><![CDATA[【代码】vue项目创建指令。]]></description><category></category></item><item><title><![CDATA[vue3开发过程中的性能优化]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/154724120</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/154724120</guid><author>qq_35359474</author><pubDate>Fri, 14 Nov 2025 03:29:04 +0800</pubDate><description><![CDATA[vue性能优化]]></description><category></category></item><item><title><![CDATA[Vue2与Vue3工作原理对比]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/154665189</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/154665189</guid><author>qq_35359474</author><pubDate>Tue, 11 Nov 2025 12:21:05 +0800</pubDate><description><![CDATA[在 main.js 中执行 new Vue() 时：全局组件：已经在注册时处理完成，new Vue() 时直接可用局部组件：在渲染过程中按需解析和初始化根组件数据：new Vue() 时立即初始化根组件的响应式数据子组件数据：在组件被渲染创建实例时才初始化所以 new Vue() 会触发组件初始化链，从根组件开始，逐步初始化所有用到的组件及其数据。创建 Vue 实例。]]></description><category></category></item><item><title><![CDATA[Chromium浏览器代码拉取，编译，构建]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/153332816</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/153332816</guid><author>qq_35359474</author><pubDate>Sat, 18 Oct 2025 19:50:58 +0800</pubDate><description><![CDATA[在这里打开cmd，避免直接打开终端下载代码时链接不到服务器。]]></description><category></category></item><item><title><![CDATA[Keepalived主备架构主节点性能瓶颈解决]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/151159735</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/151159735</guid><author>qq_35359474</author><pubDate>Thu, 04 Sep 2025 03:55:28 +0800</pubDate><description><![CDATA[本文介绍了三种实现Nginx负载均衡器高可用的方案。方案一使用DNS轮询，简单但存在健康检查缺失、客户端缓存等问题，仅适用于测试环境。方案二采用全主动模式+云负载均衡器，是云上生产环境的黄金标准，具备自动扩展、健康检查等优势，但需支付云服务费用。方案三通过BGP/ECMP实现全主动模式，适合大型企业自建数据中心，可线性扩展吞吐量，但配置复杂、成本高昂。总体来说，方案二在可用性和成本间取得最佳平衡，是大多数云环境的推荐选择。]]></description><category></category></item><item><title><![CDATA[axios结合AbortController取消文件上传]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147879594</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147879594</guid><author>qq_35359474</author><pubDate>Sun, 11 May 2025 21:29:43 +0800</pubDate><description><![CDATA[【代码】axios结合AbortController取消文件上传。]]></description><category></category></item><item><title><![CDATA[文件（分片）并行上传时计算总的上传进度]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147878458</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147878458</guid><author>qq_35359474</author><pubDate>Sun, 11 May 2025 21:20:00 +0800</pubDate><description><![CDATA[/</exportdefaultdatareturn0// 存储每个文件的上传进度 { filename: percentage }asynceconst;if!return;// 初始化进度记录this;;// 并行上传constfrommapfile=>constnewFormData;returnpost'/upload'=>// 更新单个文件进度thisround100;// 计算总进度。]]></description><category></category></item><item><title><![CDATA[并行发起http请求]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147878824</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147878824</guid><author>qq_35359474</author><pubDate>Sun, 11 May 2025 20:52:51 +0800</pubDate><description><![CDATA[本文介绍了四种前端文件上传的实现方式。首先，使用 axios 和 Promise.all 实现并行上传多个文件，确保设置正确的 Content-Type 头。其次，使用原生 fetch 和 async/await 实现类似功能，fetch 会自动处理 multipart/form-data。第三，通过 p-limit 库限制并发上传数量，避免服务器压力过大，适用于大文件批量上传场景。最后，使用 axios 的 onUploadProgress 回调函数显示每个文件的上传进度，便于用户实时查看上传状态。这些方]]></description><category></category></item><item><title><![CDATA[vue父子组件生命周期和props执行顺序]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147706400</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147706400</guid><author>qq_35359474</author><pubDate>Mon, 05 May 2025 02:35:19 +0800</pubDate><description><![CDATA[父组件依次执行 beforeCreate → created → beforeMount父组件在 beforeMount 阶段将 props 数据传递给子组件。]]></description><category></category></item><item><title><![CDATA[流媒体协议选型]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147705939</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147705939</guid><author>qq_35359474</author><pubDate>Mon, 05 May 2025 00:45:54 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[微服务框架选型]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147705340</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147705340</guid><author>qq_35359474</author><pubDate>Sun, 04 May 2025 23:35:54 +0800</pubDate><description><![CDATA[需求： 跨语言+C++/Python 高性能通信。场景：服务网格sidecar、多数据中心通信。场景：高频交易系统、游戏服务器通信。场景：传统企业微服务改造、初创项目。场景：电商订单系统、支付清算系统。需求： 快速开发+全栈解决方案。需求：Java生态+完善治理。需求：云原生+K8s集成。]]></description><category></category></item><item><title><![CDATA[Bento4的安装和简单转码]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147543753</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147543753</guid><author>qq_35359474</author><pubDate>Sat, 26 Apr 2025 22:22:32 +0800</pubDate><description><![CDATA[分片化的视频转码为dash。]]></description><category></category></item><item><title><![CDATA[使用spring boot vue 上传mp4转码为dash并播放]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147514043</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147514043</guid><author>qq_35359474</author><pubDate>Fri, 25 Apr 2025 15:44:23 +0800</pubDate><description><![CDATA[播放的是转码分片后的文件。3.6转码后文件位置。]]></description><category></category></item><item><title><![CDATA[使用blob文件流]]></title><link>https://blog.youkuaiyun.com/qq_35359474/article/details/147386615</link><guid>https://blog.youkuaiyun.com/qq_35359474/article/details/147386615</guid><author>qq_35359474</author><pubDate>Mon, 21 Apr 2025 12:01:29 +0800</pubDate><description><![CDATA[使用blob文件流。]]></description><category></category></item></channel></rss>