<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sensen111111的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sensen111111</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sensen111111]]></copyright><item><title><![CDATA[前端技术--在浏览器输入url到界面渲染的过程发生了什么]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159695444</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159695444</guid><author>sensen111111</author><pubDate>Tue, 31 Mar 2026 21:00:14 +0800</pubDate><description><![CDATA[文章摘要：浏览器访问网页的完整流程包括URL解析、缓存检查、DNS查询、TCP连接建立、HTTP请求发送、服务器响应处理及浏览器渲染。关键步骤有：解析URL结构，检查缓存有效性，将域名转换为IP地址，通过三次握手建立TCP连接（HTTPS还需TLS握手），发送HTTP请求并接收响应。浏览器渲染阶段最复杂，需构建DOM树和CSSOM树，合成渲染树，进行布局计算和绘制，最终由GPU合成显示页面。整个过程涉及网络通信、资源缓存和页面渲染等多个环节的协同工作。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——装饰者模式：动态增强函数功能]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159618859</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159618859</guid><author>sensen111111</author><pubDate>Sun, 29 Mar 2026 23:34:45 +0800</pubDate><description><![CDATA[本文介绍了JavaScript中装饰者模式的实现与应用。该模式通过动态包装对象或函数来扩展功能，相比继承更灵活。文章首先分析了传统继承的缺点，然后展示了两种实现方式：面向对象风格的包装链和函数式风格的AOP（面向切面编程）。重点讲解了利用Function.prototype.before/after方法实现无侵入的函数装饰，并给出表单验证、数据上报等实际案例。最后比较了装饰者与代理模式的差异，指出装饰者更强调运行时动态添加行为。这种模式符合开放-封闭原则，是JavaScript函数式编程的重要体现。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——中介者模式：解耦对象间复杂关系的艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159616561</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159616561</guid><author>sensen111111</author><pubDate>Sun, 29 Mar 2026 20:11:50 +0800</pubDate><description><![CDATA[在面向对象系统中，随着对象增多，它们之间的关系往往会变得错综复杂，形成网状结构。这种紧耦合会导致系统难以维护和扩展：改变一个对象可能需要同时修改多个相关联的对象。中介者模式（Mediator Pattern）正是为解决这一问题而生——它通过引入一个中介者对象，将对象之间的多对多关系转化为一对多关系，从而解除对象间的紧耦合，使系统更易于理解和维护。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——职责链模式：解耦请求发送者与接收者的艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159505217</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159505217</guid><author>sensen111111</author><pubDate>Thu, 26 Mar 2026 20:26:27 +0800</pubDate><description><![CDATA[本文介绍了软件开发中的职责链模式，通过将多个处理对象连成链来解耦请求发送者和接收者。文章从公交车投币等生活实例入手，以电商订单处理为例展示传统实现方式的弊端，并通过拆解函数、创建Chain类等方式重构代码，实现灵活可扩展的职责链。同时探讨了异步职责链和AOP实现方式，分析了该模式解耦灵活等优点和性能损耗等缺点。最后指出职责链模式在作用域链、事件冒泡等场景的广泛应用，强调其提高系统灵活性的价值。全文通过具体案例生动阐释了职责链模式的核心思想与实现方法。]]></description><category></category></item><item><title><![CDATA[中高级前端面试大全]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159384019</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159384019</guid><author>sensen111111</author><pubDate>Mon, 23 Mar 2026 18:10:13 +0800</pubDate><description><![CDATA[本文摘要：文章系统介绍了Web开发核心技术，包括WebSocket与SSE的区别、富文本编辑器实现原理、虚拟列表优化方案、HTTP/TCP连接机制、CDN工作原理、浏览器缓存策略等。重点解析了Vue3响应式原理从Object.defineProperty转向Proxy的技术优势，React/Vue中key的作用，以及防抖节流的实现与应用场景。同时涵盖了ES6的Set/Map数据结构特性，Promise/Async异步处理机制，Generator函数的特殊用法，并通过具体代码示例演示了字母频率统计的实现方法。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——享元模式：用共享技术优化性能]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159379829</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159379829</guid><author>sensen111111</author><pubDate>Mon, 23 Mar 2026 09:03:08 +0800</pubDate><description><![CDATA[享元模式是一种通过共享技术优化大量细粒度对象的内存使用的设计模式。文章以内衣工厂案例为引，展示了如何通过区分内部状态（如性别）和外部状态（如内衣款式）来减少对象数量。接着以文件上传重构为例，详细演示了如何分离uploadType（内部状态）与file信息（外部状态），使用工厂和管理器实现对象共享，将2000个上传对象减少为2个。文章指出享元模式适用于对象数量庞大、内存消耗严重的场景，强调区分内外部状态是核心思想，并对比了对象池技术。该模式以空间换时间，能有效解决内存占用过高的问题。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——模板方法模式：定义算法骨架的艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159347353</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159347353</guid><author>sensen111111</author><pubDate>Sun, 22 Mar 2026 10:16:15 +0800</pubDate><description><![CDATA[摘要：模板方法模式是一种基于继承的设计模式，通过将算法骨架定义在父类中，让子类实现可变部分来实现代码复用。本文以&quot;咖啡与茶&quot;案例为例，展示了如何将公共步骤提取到父类Beverage中，子类只需实现brew、pourInCup等方法。针对JavaScript缺乏抽象类的问题，提出了抛出异常和高阶函数两种解决方案。该模式遵循&quot;好莱坞原则&quot;，实现控制反转，适用于框架设计等场景。虽然依赖继承，但通过函数式编程可更简洁地实现相同效果。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——组合模式：构建树形结构的艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159323761</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159323761</guid><author>sensen111111</author><pubDate>Sat, 21 Mar 2026 23:10:54 +0800</pubDate><description><![CDATA[本文介绍了组合模式（Composite Pattern）在程序设计中的应用。组合模式通过将对象组织成树形结构，统一处理单个对象和组合对象，适用于文件系统、UI组件等&quot;部分-整体&quot;层次结构场景。文章从宏命令示例入手，展示了组合模式的核心思想，并通过文件扫描案例演示其实现方式。文中还讨论了JavaScript中的实现特点、透明性保障、注意事项（如性能考虑、双向引用）以及删除操作的实现方法。组合模式能简化代码逻辑，使客户端无需区分叶节点和组合节点，适用于不确定层次深度的对象结构。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——命令模式：JavaScript中的行为封装与撤销重做]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159321480</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159321480</guid><author>sensen111111</author><pubDate>Sat, 21 Mar 2026 18:56:04 +0800</pubDate><description><![CDATA[本文介绍了命令模式在JavaScript中的实现与应用。命令模式通过将请求封装为对象，解耦请求发送者与接收者，支持撤销、重做、排队等功能。文章展示了传统面向对象风格和JavaScript函数式风格两种实现方式，并详细讲解了命令模式的高级应用场景，包括撤销命令、命令队列和宏命令。在JavaScript中，借助高阶函数可以更自然地实现命令模式的核心功能。该模式特别适用于需要高灵活性、可扩展性和可维护性的交互系统，是提升代码组织性的重要设计工具。]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 6：多智能体协作模式 Agent Teams]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159165568</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159165568</guid><author>sensen111111</author><pubDate>Tue, 17 Mar 2026 16:07:49 +0800</pubDate><description><![CDATA[AgentTeams是ClaudeCode中实现多AI协同工作的实验性功能，突破传统&quot;主从模式&quot;限制。该系统由团队负责人(TeamLead)和多个独立队友(Teammates)组成，支持点对点通信、共享任务列表和即时消息传递。通过任务拆分、并行执行和结果汇总，适用于代码审查、对抗调试、跨层开发等复杂场景。配置需启用实验性功能并选择显示模式(进程内或分屏)。虽然协作效率高，但需注意token成本、文件冲突等限制。该功能代表了从单智能体执行到多智能体协作的范式升级，特别适合需要多角度分析的任]]></description><category></category></item><item><title><![CDATA[JavaScript模式——发布-订阅模式：JavaScript中的事件解耦艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159156758</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159156758</guid><author>sensen111111</author><pubDate>Tue, 17 Mar 2026 13:48:35 +0800</pubDate><description><![CDATA[摘要：发布-订阅模式（观察者模式）通过解耦对象间的直接依赖关系，实现松耦合通信。本文从生活案例切入，分析该模式在时间解耦和对象解耦方面的优势，详细演示了从基础实现到全局事件总线的完整演进过程，包括事件分类、取消订阅、离线事件处理等核心功能。通过网站登录模块和点击计数器的实际案例，展现了该模式在前端开发中的典型应用场景，并对比了JavaScript与其他语言在实现上的差异，最后指出其内存占用和调试复杂度等潜在缺点。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——迭代器模式：JavaScript中的遍历艺术]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/159003037</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/159003037</guid><author>sensen111111</author><pubDate>Fri, 13 Mar 2026 09:30:57 +0800</pubDate><description><![CDATA[本文探讨了JavaScript中的迭代器模式，介绍了内部迭代器和外部迭代器的区别及实现方式。通过jQuery的$.each函数示例展示了迭代器的基本应用，并详细说明了如何自定义实现迭代器功能，包括倒序迭代和中止迭代等特性。文章还以文件上传功能为例，演示了迭代器模式在实际开发中的应用价值，体现了其分离遍历逻辑与业务代码的优势。最后强调迭代器模式能提高代码复用性和灵活性，是JavaScript开发中值得掌握的重要设计模式。]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 5：子代理（Subagent）使用指南]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158959875</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158959875</guid><author>sensen111111</author><pubDate>Thu, 12 Mar 2026 14:15:29 +0800</pubDate><description><![CDATA[摘要：子代理是ClaudeCode中的高级特性，允许将任务委派给独立上下文的专用AI助手，实现更好的隔离、约束和执行效率。子代理拥有独立的系统提示词、上下文窗口、模型选择和工具权限。本文详细介绍了子代理的概念、配置方法、运行机制（包括生命周期和上下文隔离）、内置子代理类型以及创建自定义子代理的三种方式。还深入讲解了配置文件结构、工具权限配置、执行模式（前台/后台）、持久化记忆、生命周期钩子等高级功能，并提供了多个实战配置模板。最后总结了最佳实践，包括职责单一化、最小权限原则、模型分层优化等，帮助用户充分利用]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 4：基础用法与使用场景]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158917908</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158917908</guid><author>sensen111111</author><pubDate>Wed, 11 Mar 2026 11:03:05 +0800</pubDate><description><![CDATA[本文详细介绍了ClaudeCode的核心使用方法和优化技巧。主要内容包括：1. 多种启动方式（交互模式/单次任务/会话恢复）；2. 三大核心操作（读取分析/编辑生成/命令执行）；3. 项目级配置文件CLAUDE.md的编写与维护策略；4. 常用斜杠命令和Git工作流；5. 高质量Prompt的编写方法。文章强调CLAUDE.md作为项目记忆文件的重要性，建议持续维护以提升AI输出质量，并提供了典型场景下的使用技巧和结构化Prompt模板。掌握这些方法能显著提升开发效率，使ClaudeCode成为得力的AI编]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 3：权限系统解析和安全实践]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158890841</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158890841</guid><author>sensen111111</author><pubDate>Tue, 10 Mar 2026 20:02:19 +0800</pubDate><description><![CDATA[本文系统解析了ClaudeCode权限系统的三层过滤模型（deny/ask/allow）及其优先级原则，介绍了五种预设权限模式及其适用场景。重点阐述了如何通过全局和项目级配置文件实现精细化权限管控，结合@mentions文件引用技巧传递完整上下文，并提出了四大核心工作流（代码审查、功能实现、Bug修复、Git操作）和关键快捷键。文章强调必须坚守三条安全红线（拒绝不明命令、保护.env文件、生产环境启用plan模式），并提供了经过验证的全局配置模板，帮助开发者在确保安全的前提下最大化研发效率。]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 2：多模型配置适配国内主流 AI 厂商]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158703368</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158703368</guid><author>sensen111111</author><pubDate>Thu, 05 Mar 2026 20:56:15 +0800</pubDate><description><![CDATA[突破官方模型限制，灵活接入 DeepSeek、通义千问、智谱 GLM，让智能编码工具真正本地化]]></description><category></category></item><item><title><![CDATA[Claude Code 入门实战 1：初次见面的小惊喜]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158660725</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158660725</guid><author>sensen111111</author><pubDate>Wed, 04 Mar 2026 19:59:42 +0800</pubDate><description><![CDATA[2026年2月，Anthropic发布ClaudeCode重大更新，转向原生安装器以降低使用门槛。作为AI驱动的代理编码工具，ClaudeCode与GitHub Copilot、Cursor本质不同，定位为全流程自动化开发平台。文章详解了其核心功能（代码理解、多文件分析、工程级修改）、安装方法（全平台原生安装器）、核心命令（交互式开发、单次执行、会话续传等），并通过贪吃蛇Web应用实战，展示了从项目初始化到代码审查的完整流程。ClaudeCode的价值在于将开发者从重复劳动中解放，聚焦架构设计与业务创新。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——代理模式：别直接上了，找个“中间人”帮你搞定]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158658847</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158658847</guid><author>sensen111111</author><pubDate>Wed, 04 Mar 2026 17:26:33 +0800</pubDate><description><![CDATA[本文介绍了JavaScript中的代理模式及其应用场景。代理模式通过替身对象控制对目标对象的访问，主要分为虚拟代理和缓存代理两类。虚拟代理可延迟执行开销大的操作（如图片预加载、合并HTTP请求、惰性加载），缓存代理则存储运算结果避免重复计算。文章通过具体代码示例展示了如何实现图片预加载代理、请求合并代理和缓存计算代理，并说明了代理模式遵循单一职责原则的优势。最后指出代理模式在JavaScript开发中是一种有效的性能优化手段，建议在需要时再引入代理，而非预先设计。]]></description><category></category></item><item><title><![CDATA[ Claude Code 配置HTTPS_PROXY代理后，导致git用不了]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158618203</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158618203</guid><author>sensen111111</author><pubDate>Tue, 03 Mar 2026 16:52:35 +0800</pubDate><description><![CDATA[拉取 Git 远程分支时遇到 TLS 连接错误，发现是由于前一天为使用 Claude Code AI 助手配置的 HTTP/HTTPS 代理环境变量未清除导致。这些代理设置导致 Git 错误地将内网请求也转发至代理服务器，而代理无法处理内网地址，造成连接中断。问题重现后发现代理变量仍存在于终端会话中，移除后恢复正常。]]></description><category></category></item><item><title><![CDATA[JavaScript模式——单例模式：别再乱new了，一个实例就够了！]]></title><link>https://blog.youkuaiyun.com/sensen111111/article/details/158579225</link><guid>https://blog.youkuaiyun.com/sensen111111/article/details/158579225</guid><author>sensen111111</author><pubDate>Tue, 03 Mar 2026 09:12:02 +0800</pubDate><description><![CDATA[单例模式是一种保证类仅有一个实例并提供全局访问点的设计模式。文章介绍了单例模式的多种实现方式：1）传统变量标记法；2）透明单例通过闭包保存实例；3）代理单例分离职责；4）JavaScript特有的对象字面量实现。重点探讨了惰性单例技术，通过getSingle函数将创建对象与管理单例逻辑分离，使其可复用。单例模式适用于全局缓存、登录浮窗等需要唯一实例的场景，既能避免重复创建，又能减少全局变量污染。文章通过具体代码示例展示了各种实现方式的优缺点，帮助开发者根据实际需求选择最佳方案。]]></description><category></category></item></channel></rss>