<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[写完这行代码打球去的博客]]></title><description><![CDATA[国企程序猿啦]]></description><link>https://blog.youkuaiyun.com/fakerplus</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fakerplus]]></copyright><item><title><![CDATA[2026 年完整实战指南 —— 以 `github-copilot-demo` 项目为例]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/159494619</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/159494619</guid><author>fakerplus</author><pubDate>Thu, 26 Mar 2026 10:19:32 +0800</pubDate><description><![CDATA[2026年GitHub Copilot实战指南摘要 本文以github-copilot-demo项目为例，全面介绍2026版GitHub Copilot的核心功能和使用技巧。Copilot已从代码补全工具进化为能自主规划、跨文件修改、执行终端命令的编程代理(Agent)。 主要内容包括： 环境准备与界面熟悉：安装登录、三种交互模式(Ask/Edit/Agent)及模型选择 核心功能详解：内联补全、Inline Chat精准对话、全功能Chat面板、受控多文件编辑(Edit Mode)、自主任务完成(Agen]]></description><category></category></item><item><title><![CDATA[前端工程师必备：Docker 从入门到实战]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/154774213</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/154774213</guid><author>fakerplus</author><pubDate>Thu, 13 Nov 2025 09:50:49 +0800</pubDate><description><![CDATA[本文介绍了Docker如何解决前端开发中的环境不一致问题。主要内容包括：Docker的核心概念（镜像、容器、Dockerfile、仓库）；与传统虚拟机的对比；安装配置步骤；以及将前端项目容器化的实战教程。通过Docker可以实现开发、测试、生产环境的一致性，简化部署流程，提升开发效率。文章详细讲解了如何编写Dockerfile、配置Nginx，以及一些实用技巧，帮助前端开发者快速掌握Docker的核心用法。]]></description><category></category></item><item><title><![CDATA[React + TypeScript 笔试题库]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/154655396</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/154655396</guid><author>fakerplus</author><pubDate>Mon, 10 Nov 2025 17:44:39 +0800</pubDate><description><![CDATA[本文总结了基于 UmiMax + React + Ant Design Pro + TypeScript 技术栈的核心知识体系，内容涵盖： TypeScript 基础 - 包括类型推断、接口与类型别名区别、函数重载、枚举类型和类型守卫等核心概念 高级类型 - 深入讲解联合/交叉类型、映射类型、条件类型和 infer 关键字等进阶特性 React 集成 - 展示如何将 TypeScript 与 React 组件、Hooks 等结合使用 工程实践 - 包含 UmiMax 和 Ant Design Pro 相关的]]></description><category></category></item><item><title><![CDATA[Umi 数据预加载功能详解]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/154427185</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/154427185</guid><author>fakerplus</author><pubDate>Wed, 05 Nov 2025 09:33:01 +0800</pubDate><description><![CDATA[摘要 Umi 的数据预加载方案通过 clientLoader 机制解决了传统嵌套路由下的瀑布流请求问题。传统方式在组件挂载后串行请求数据（如 useEffect），导致总耗时累加。而 Umi 在路由匹配阶段即并行发起所有层级的数据请求，总耗时仅取决于最慢的单个请求，性能提升显著（示例中从530ms降至200ms）。该方案通过导出 clientLoader 函数实现，支持依赖父级数据和自动错误处理，结合约定式API路由可进一步简化开发。相比传统方式，Umi 实现了更快的加载速度和更好的用户体验。]]></description><category></category></item><item><title><![CDATA[先做个“垃圾“：完美主义陷阱的突破之道]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/153679489</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/153679489</guid><author>fakerplus</author><pubDate>Tue, 21 Oct 2025 09:55:48 +0800</pubDate><description><![CDATA[真正的完美并非一蹴而就，也不是凭空想象出来的。它是在不完美的基础上，通过不断的实践、试错、反思和改进，逐步迭代而来的。那些看似完美无缺的产品和作品，背后都有着无数次的修改和优化。]]></description><category></category></item><item><title><![CDATA[SQL：30个实用技巧全面解析]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/153678526</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/153678526</guid><author>fakerplus</author><pubDate>Tue, 21 Oct 2025 09:36:37 +0800</pubDate><description><![CDATA[本文系统整理了SQL核心知识点，涵盖基础查询、条件过滤、排序分页、函数应用、聚合分组、关联查询、子查询和开窗函数等30个关键内容。提供语法速查表和实战示例，包括字段别名（AS）、条件过滤（WHERE/HAVING）、去重（DISTINCT）、排序（ORDER BY）、分页（LIMIT）、条件分支（CASE WHEN）等基础操作，以及时间函数、字符串处理、数值计算等常用函数。特别详解了四种关联查询方式（CROSS/INNER/LEFT/RIGHT JOIN）和开窗函数（SUM OVER/RANK/ROW_NU]]></description><category></category></item><item><title><![CDATA[你会用Github Copilot 吗 ——《内置功能详解》]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/149266683</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/149266683</guid><author>fakerplus</author><pubDate>Fri, 11 Jul 2025 09:32:26 +0800</pubDate><description><![CDATA[GitHub Copilot 提供了丰富的内置功能，通过聊天框中的特殊符号（`#`、`@`、`/`）来访问。这些功能可以帮助开发者更高效地编写代码、调试问题和管理项目。]]></description><category></category></item><item><title><![CDATA[GitHub Copilot 三种模式详解：Ask、Agent、Edit]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/149199454</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/149199454</guid><author>fakerplus</author><pubDate>Tue, 08 Jul 2025 15:32:38 +0800</pubDate><description><![CDATA[github copilot得三种模式详解，ask agent edit]]></description><category></category></item><item><title><![CDATA[归并排序法排序数组（js版）]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/147139790</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/147139790</guid><author>fakerplus</author><pubDate>Fri, 11 Apr 2025 11:28:07 +0800</pubDate><description><![CDATA[总结： 归并排序通过递归拆分数组，再合并排序好的子数组，高效地实现了整体排序。]]></description><category></category></item><item><title><![CDATA[新旧方法对比：JavaScript 中改变 `this` 指向的方式详解]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146948412</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146948412</guid><author>fakerplus</author><pubDate>Wed, 02 Apr 2025 15:37:24 +0800</pubDate><description><![CDATA[JavaScript 提供了多种方式来改变this指向，从传统的callapply和bind到 ES6 引入的箭头函数、ReflectAPI 和Proxy，每种方式都有其独特的应用场景。开发者可以根据需求选择最合适的方式，以编写更简洁、可读性更高的代码。]]></description><category></category></item><item><title><![CDATA[前端通信事件：深入理解 Event Bus 与浏览器通信 API]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146940409</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146940409</guid><author>fakerplus</author><pubDate>Wed, 02 Apr 2025 11:50:14 +0800</pubDate><description><![CDATA[Event Bus是一种基于发布-订阅模式的通信机制，常用于模块之间的解耦。它是 Node.js 各模块的基石，同时也是前端组件通信的重要手段之一。：通过实现页面与 Service Worker 之间的通信。适合离线缓存和后台任务场景。' });});：允许多个页面共享一个 Worker 实例，用于跨页面通信。' });WebSocket：用于实时通信，适合需要服务器参与的场景。' }));IndexedDB：虽然主要用于存储，但也可以通过轮询或监听变化实现通信。' });]]></description><category></category></item><item><title><![CDATA[深入理解 JavaScript 的 Set 对象]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146607111</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146607111</guid><author>fakerplus</author><pubDate>Fri, 28 Mar 2025 17:49:46 +0800</pubDate><description><![CDATA[Set是一个集合（collection），其中的元素是唯一的，并且按照插入顺序存储。它可以存储任何类型的值，包括原始值和对象。Set是一个强大的工具，适用于需要存储唯一值的场景。通过本文的介绍，你应该对Set的特性、用法以及与其他数据结构的对比有了更深入的了解。希望你能在实际开发中灵活运用Set，提升代码的效率和可读性！]]></description><category></category></item><item><title><![CDATA[深入理解 JSONP：跨域的经典解决方案]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146600927</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146600927</guid><author>fakerplus</author><pubDate>Fri, 28 Mar 2025 14:26:01 +0800</pubDate><description><![CDATA[JSONP（JSON with Padding）是一种跨域数据请求的解决方案。它的核心思想是利用<script>标签不受同源策略限制的特性，通过动态创建<script>标签来实现跨域请求。JSONP 是一种经典的跨域解决方案，其简单性和兼容性使其在过去的前端开发中占据了重要地位。然而，随着 CORS、反向代理等技术的普及，JSONP 的使用场景逐渐减少。在现代开发中，我们更倾向于选择安全性更高、功能更强大的跨域技术。但了解 JSONP 的原理和实现，仍然是每个前端开发者的必修课。]]></description><category></category></item><item><title><![CDATA[理解 JavaScript 中的迭代协议和迭代器协议]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146560647</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146560647</guid><author>fakerplus</author><pubDate>Fri, 28 Mar 2025 06:00:00 +0800</pubDate><description><![CDATA[迭代协议允许 JavaScript 对象定义或定制它们的迭代行为。例如，在for...of循环中，哪些值可以被遍历到。let i = 0;},return() {// 解构可迭代对象break;// 迭代一次，执行 return 方法可迭代协议定义了对象如何被迭代，要求实现方法。迭代器协议定义了如何生成一系列值，要求实现next()方法。JavaScript 提供了许多内置的可迭代对象和支持迭代的 API。]]></description><category></category></item><item><title><![CDATA[深入理解 JavaScript 生成器（Generator）(后含async/await实现原理)]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146560140</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146560140</guid><author>fakerplus</author><pubDate>Thu, 27 Mar 2025 15:05:52 +0800</pubDate><description><![CDATA[生成器是由function*声明创建的特殊函数，它返回一个Generator 对象，该对象符合可迭代协议和迭代器协议。生成器函数可以在执行过程中暂停，并在稍后恢复，其上下文（包括变量绑定）会在恢复时保持不变。生成器是 JavaScript 中非常强大的工具，适用于异步编程、迭代器实现、无限序列生成等场景。通过灵活使用yield和yield*，可以大大提升代码的可读性和可维护性。]]></description><category></category></item><item><title><![CDATA[深入理解 JavaScript 的 `async/await`]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146536378</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146536378</guid><author>fakerplus</author><pubDate>Wed, 26 Mar 2025 17:36:10 +0800</pubDate><description><![CDATA[是对generator的封装，它隐藏了Promise和迭代器的复杂性，使得异步代码更易读、更易写。可以将理解为一种更高级的generator用法。通过本文的介绍，相信你对的概念、优势以及底层原理有了更深入的理解。希望你能在实际开发中灵活运用它，编写出更优雅的异步代码！]]></description><category></category></item><item><title><![CDATA[WebGPU 全面解析：下一代 Web 图形与计算 API 的崛起]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146533840</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146533840</guid><author>fakerplus</author><pubDate>Wed, 26 Mar 2025 16:18:07 +0800</pubDate><description><![CDATA[WebGPU 是 Web 图形和计算领域的一次革命，它为开发者提供了前所未有的性能和灵活性。虽然目前仍处于早期阶段，但其潜力巨大。→🐒。]]></description><category></category></item><item><title><![CDATA[浅谈 Vue3 中的设计模式]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146502753</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146502753</guid><author>fakerplus</author><pubDate>Tue, 25 Mar 2025 14:37:19 +0800</pubDate><description><![CDATA[设计模式是软件开发中的一种最佳实践，它提供了解决特定问题的通用解决方案。通过合理运用设计模式，可以提高代码的可维护性、可扩展性和可读性。在 Vue3 的源码中，设计模式被广泛应用于各个模块中，充分体现了其在现代前端框架中的重要性。]]></description><category></category></item><item><title><![CDATA[还在让主线程忙到崩溃？用 Web Worker 解锁前端多线程的正确姿势！]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146478944</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146478944</guid><author>fakerplus</author><pubDate>Mon, 24 Mar 2025 16:20:27 +0800</pubDate><description><![CDATA[JavaScript 是一种单线程语言，意味着它在一个时间点只能执行一个任务。尽管如此，一个进程可以包含多个线程，例如浏览器中的 Web Worker 提供了一种在后台线程中运行脚本的方式，从而避免主线程被阻塞。]]></description><category></category></item><item><title><![CDATA[居然还不知道防抖和节流？前端性能优化的必备神器！]]></title><link>https://blog.youkuaiyun.com/fakerplus/article/details/146462627</link><guid>https://blog.youkuaiyun.com/fakerplus/article/details/146462627</guid><author>fakerplus</author><pubDate>Sun, 23 Mar 2025 21:42:53 +0800</pubDate><description><![CDATA[防抖（Debounce）和节流（Throttle）是前端开发中常用的性能优化技术，主要用于控制高频触发的事件处理函数的执行次数。]]></description><category></category></item></channel></rss>