自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 前端技术--在浏览器输入url到界面渲染的过程发生了什么

文章摘要:浏览器访问网页的完整流程包括URL解析、缓存检查、DNS查询、TCP连接建立、HTTP请求发送、服务器响应处理及浏览器渲染。关键步骤有:解析URL结构,检查缓存有效性,将域名转换为IP地址,通过三次握手建立TCP连接(HTTPS还需TLS握手),发送HTTP请求并接收响应。浏览器渲染阶段最复杂,需构建DOM树和CSSOM树,合成渲染树,进行布局计算和绘制,最终由GPU合成显示页面。整个过程涉及网络通信、资源缓存和页面渲染等多个环节的协同工作。

2026-03-31 21:00:14 60

原创 JavaScript模式——装饰者模式:动态增强函数功能

本文介绍了JavaScript中装饰者模式的实现与应用。该模式通过动态包装对象或函数来扩展功能,相比继承更灵活。文章首先分析了传统继承的缺点,然后展示了两种实现方式:面向对象风格的包装链和函数式风格的AOP(面向切面编程)。重点讲解了利用Function.prototype.before/after方法实现无侵入的函数装饰,并给出表单验证、数据上报等实际案例。最后比较了装饰者与代理模式的差异,指出装饰者更强调运行时动态添加行为。这种模式符合开放-封闭原则,是JavaScript函数式编程的重要体现。

2026-03-29 23:34:45 414

原创 JavaScript模式——中介者模式:解耦对象间复杂关系的艺术

在面向对象系统中,随着对象增多,它们之间的关系往往会变得错综复杂,形成网状结构。这种紧耦合会导致系统难以维护和扩展:改变一个对象可能需要同时修改多个相关联的对象。中介者模式(Mediator Pattern)正是为解决这一问题而生——它通过引入一个中介者对象,将对象之间的多对多关系转化为一对多关系,从而解除对象间的紧耦合,使系统更易于理解和维护。

2026-03-29 20:11:50 349

原创 JavaScript模式——职责链模式:解耦请求发送者与接收者的艺术

本文介绍了软件开发中的职责链模式,通过将多个处理对象连成链来解耦请求发送者和接收者。文章从公交车投币等生活实例入手,以电商订单处理为例展示传统实现方式的弊端,并通过拆解函数、创建Chain类等方式重构代码,实现灵活可扩展的职责链。同时探讨了异步职责链和AOP实现方式,分析了该模式解耦灵活等优点和性能损耗等缺点。最后指出职责链模式在作用域链、事件冒泡等场景的广泛应用,强调其提高系统灵活性的价值。全文通过具体案例生动阐释了职责链模式的核心思想与实现方法。

2026-03-26 20:26:27 382

原创 中高级前端面试大全

本文摘要:文章系统介绍了Web开发核心技术,包括WebSocket与SSE的区别、富文本编辑器实现原理、虚拟列表优化方案、HTTP/TCP连接机制、CDN工作原理、浏览器缓存策略等。重点解析了Vue3响应式原理从Object.defineProperty转向Proxy的技术优势,React/Vue中key的作用,以及防抖节流的实现与应用场景。同时涵盖了ES6的Set/Map数据结构特性,Promise/Async异步处理机制,Generator函数的特殊用法,并通过具体代码示例演示了字母频率统计的实现方法。

2026-03-23 18:10:13 452

原创 JavaScript模式——享元模式:用共享技术优化性能

享元模式是一种通过共享技术优化大量细粒度对象的内存使用的设计模式。文章以内衣工厂案例为引,展示了如何通过区分内部状态(如性别)和外部状态(如内衣款式)来减少对象数量。接着以文件上传重构为例,详细演示了如何分离uploadType(内部状态)与file信息(外部状态),使用工厂和管理器实现对象共享,将2000个上传对象减少为2个。文章指出享元模式适用于对象数量庞大、内存消耗严重的场景,强调区分内外部状态是核心思想,并对比了对象池技术。该模式以空间换时间,能有效解决内存占用过高的问题。

2026-03-23 09:03:08 369

原创 JavaScript模式——模板方法模式:定义算法骨架的艺术

摘要:模板方法模式是一种基于继承的设计模式,通过将算法骨架定义在父类中,让子类实现可变部分来实现代码复用。本文以"咖啡与茶"案例为例,展示了如何将公共步骤提取到父类Beverage中,子类只需实现brew、pourInCup等方法。针对JavaScript缺乏抽象类的问题,提出了抛出异常和高阶函数两种解决方案。该模式遵循"好莱坞原则",实现控制反转,适用于框架设计等场景。虽然依赖继承,但通过函数式编程可更简洁地实现相同效果。

2026-03-22 10:16:15 392

原创 JavaScript模式——组合模式:构建树形结构的艺术

本文介绍了组合模式(Composite Pattern)在程序设计中的应用。组合模式通过将对象组织成树形结构,统一处理单个对象和组合对象,适用于文件系统、UI组件等"部分-整体"层次结构场景。文章从宏命令示例入手,展示了组合模式的核心思想,并通过文件扫描案例演示其实现方式。文中还讨论了JavaScript中的实现特点、透明性保障、注意事项(如性能考虑、双向引用)以及删除操作的实现方法。组合模式能简化代码逻辑,使客户端无需区分叶节点和组合节点,适用于不确定层次深度的对象结构。

2026-03-21 23:10:54 396

原创 JavaScript模式——命令模式:JavaScript中的行为封装与撤销重做

本文介绍了命令模式在JavaScript中的实现与应用。命令模式通过将请求封装为对象,解耦请求发送者与接收者,支持撤销、重做、排队等功能。文章展示了传统面向对象风格和JavaScript函数式风格两种实现方式,并详细讲解了命令模式的高级应用场景,包括撤销命令、命令队列和宏命令。在JavaScript中,借助高阶函数可以更自然地实现命令模式的核心功能。该模式特别适用于需要高灵活性、可扩展性和可维护性的交互系统,是提升代码组织性的重要设计工具。

2026-03-21 18:56:04 196

原创 Claude Code 入门实战 6:多智能体协作模式 Agent Teams

AgentTeams是ClaudeCode中实现多AI协同工作的实验性功能,突破传统"主从模式"限制。该系统由团队负责人(TeamLead)和多个独立队友(Teammates)组成,支持点对点通信、共享任务列表和即时消息传递。通过任务拆分、并行执行和结果汇总,适用于代码审查、对抗调试、跨层开发等复杂场景。配置需启用实验性功能并选择显示模式(进程内或分屏)。虽然协作效率高,但需注意token成本、文件冲突等限制。该功能代表了从单智能体执行到多智能体协作的范式升级,特别适合需要多角度分析的任

2026-03-17 16:07:49 2233

原创 JavaScript模式——发布-订阅模式:JavaScript中的事件解耦艺术

摘要:发布-订阅模式(观察者模式)通过解耦对象间的直接依赖关系,实现松耦合通信。本文从生活案例切入,分析该模式在时间解耦和对象解耦方面的优势,详细演示了从基础实现到全局事件总线的完整演进过程,包括事件分类、取消订阅、离线事件处理等核心功能。通过网站登录模块和点击计数器的实际案例,展现了该模式在前端开发中的典型应用场景,并对比了JavaScript与其他语言在实现上的差异,最后指出其内存占用和调试复杂度等潜在缺点。

2026-03-17 13:48:35 419

原创 JavaScript模式——迭代器模式:JavaScript中的遍历艺术

本文探讨了JavaScript中的迭代器模式,介绍了内部迭代器和外部迭代器的区别及实现方式。通过jQuery的$.each函数示例展示了迭代器的基本应用,并详细说明了如何自定义实现迭代器功能,包括倒序迭代和中止迭代等特性。文章还以文件上传功能为例,演示了迭代器模式在实际开发中的应用价值,体现了其分离遍历逻辑与业务代码的优势。最后强调迭代器模式能提高代码复用性和灵活性,是JavaScript开发中值得掌握的重要设计模式。

2026-03-13 09:30:57 347

原创 Claude Code 入门实战 5:子代理(Subagent)使用指南

摘要:子代理是ClaudeCode中的高级特性,允许将任务委派给独立上下文的专用AI助手,实现更好的隔离、约束和执行效率。子代理拥有独立的系统提示词、上下文窗口、模型选择和工具权限。本文详细介绍了子代理的概念、配置方法、运行机制(包括生命周期和上下文隔离)、内置子代理类型以及创建自定义子代理的三种方式。还深入讲解了配置文件结构、工具权限配置、执行模式(前台/后台)、持久化记忆、生命周期钩子等高级功能,并提供了多个实战配置模板。最后总结了最佳实践,包括职责单一化、最小权限原则、模型分层优化等,帮助用户充分利用

2026-03-12 14:15:29 3138

原创 Claude Code 入门实战 4:基础用法与使用场景

本文详细介绍了ClaudeCode的核心使用方法和优化技巧。主要内容包括:1. 多种启动方式(交互模式/单次任务/会话恢复);2. 三大核心操作(读取分析/编辑生成/命令执行);3. 项目级配置文件CLAUDE.md的编写与维护策略;4. 常用斜杠命令和Git工作流;5. 高质量Prompt的编写方法。文章强调CLAUDE.md作为项目记忆文件的重要性,建议持续维护以提升AI输出质量,并提供了典型场景下的使用技巧和结构化Prompt模板。掌握这些方法能显著提升开发效率,使ClaudeCode成为得力的AI编

2026-03-11 11:03:05 864

原创 Claude Code 入门实战 3:权限系统解析和安全实践

本文系统解析了ClaudeCode权限系统的三层过滤模型(deny/ask/allow)及其优先级原则,介绍了五种预设权限模式及其适用场景。重点阐述了如何通过全局和项目级配置文件实现精细化权限管控,结合@mentions文件引用技巧传递完整上下文,并提出了四大核心工作流(代码审查、功能实现、Bug修复、Git操作)和关键快捷键。文章强调必须坚守三条安全红线(拒绝不明命令、保护.env文件、生产环境启用plan模式),并提供了经过验证的全局配置模板,帮助开发者在确保安全的前提下最大化研发效率。

2026-03-10 20:02:19 1324

原创 Claude Code 入门实战 2:多模型配置适配国内主流 AI 厂商

突破官方模型限制,灵活接入 DeepSeek、通义千问、智谱 GLM,让智能编码工具真正本地化

2026-03-05 20:56:15 2837

原创 Claude Code 入门实战 1:初次见面的小惊喜

2026年2月,Anthropic发布ClaudeCode重大更新,转向原生安装器以降低使用门槛。作为AI驱动的代理编码工具,ClaudeCode与GitHub Copilot、Cursor本质不同,定位为全流程自动化开发平台。文章详解了其核心功能(代码理解、多文件分析、工程级修改)、安装方法(全平台原生安装器)、核心命令(交互式开发、单次执行、会话续传等),并通过贪吃蛇Web应用实战,展示了从项目初始化到代码审查的完整流程。ClaudeCode的价值在于将开发者从重复劳动中解放,聚焦架构设计与业务创新。

2026-03-04 19:59:42 642

原创 JavaScript模式——代理模式:别直接上了,找个“中间人”帮你搞定

本文介绍了JavaScript中的代理模式及其应用场景。代理模式通过替身对象控制对目标对象的访问,主要分为虚拟代理和缓存代理两类。虚拟代理可延迟执行开销大的操作(如图片预加载、合并HTTP请求、惰性加载),缓存代理则存储运算结果避免重复计算。文章通过具体代码示例展示了如何实现图片预加载代理、请求合并代理和缓存计算代理,并说明了代理模式遵循单一职责原则的优势。最后指出代理模式在JavaScript开发中是一种有效的性能优化手段,建议在需要时再引入代理,而非预先设计。

2026-03-04 17:26:33 370

原创 Claude Code 配置HTTPS_PROXY代理后,导致git用不了

拉取 Git 远程分支时遇到 TLS 连接错误,发现是由于前一天为使用 Claude Code AI 助手配置的 HTTP/HTTPS 代理环境变量未清除导致。这些代理设置导致 Git 错误地将内网请求也转发至代理服务器,而代理无法处理内网地址,造成连接中断。问题重现后发现代理变量仍存在于终端会话中,移除后恢复正常。

2026-03-03 16:52:35 1279

原创 JavaScript模式——单例模式:别再乱new了,一个实例就够了!

单例模式是一种保证类仅有一个实例并提供全局访问点的设计模式。文章介绍了单例模式的多种实现方式:1)传统变量标记法;2)透明单例通过闭包保存实例;3)代理单例分离职责;4)JavaScript特有的对象字面量实现。重点探讨了惰性单例技术,通过getSingle函数将创建对象与管理单例逻辑分离,使其可复用。单例模式适用于全局缓存、登录浮窗等需要唯一实例的场景,既能避免重复创建,又能减少全局变量污染。文章通过具体代码示例展示了各种实现方式的优缺点,帮助开发者根据实际需求选择最佳方案。

2026-03-03 09:12:02 755

原创 告别手动改配置!CC-Switch:你的AI编码助手“万能遥控器”

摘要:CC-Switch是一款开源跨平台的AI编码助手配置管理工具,支持ClaudeCode等多款AI工具。它能存储多组API配置,实现一键切换,自动备份和加密保护。相比手动修改配置文件的繁琐流程,CC-Switch将操作简化为点击即可完成,大幅提升开发效率。工具还提供MCP服务器管理、Skills一键安装等进阶功能,支持Windows/macOS/Linux系统。通过自动诊断和备份机制,有效避免配置错误风险,是开发者提升AI编码助手使用体验的必备工具。

2026-03-02 14:32:44 8233 2

原创 JavaScript模式——策略模式:告别if-else地狱,2个案例让你“策略”在握

策略模式是一种行为设计模式,它将算法或规则封装成独立对象,使它们可以相互替换。该模式的核心思想是将"做什么"和"怎么做"分离,通过多态特性实现算法的灵活切换。文中通过年终奖计算和动画缓动两个案例,展示了策略模式如何消除大量if-else语句,提高代码可维护性和扩展性。在JavaScript中,由于函数是一等公民,策略模式可以简化为函数对象的形式,使其实现更加简洁高效。该模式虽然会增加策略对象的数量,但能有效提高代码复用性和灵活性。

2026-03-02 11:29:21 1019

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除