<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[专注前端领域，深耕 Vue/React、工程化与性能优化。博客记录技术探索、源码解读与实战方案，分享靠谱的前端干货。]]></title><description><![CDATA[• ​技术深潜​：框架源码解析/浏览器工作原理  
• ​实战指南​：从零搭建企业级项目脚手架  
• ​踩坑实录​：那些年我绕过的弯路  
• ​未来视野​：WebAssembly/Progres]]></description><link>https://blog.youkuaiyun.com/Dale_Brown</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Dale_Brown]]></copyright><item><title><![CDATA[深度长文--从编译原理角度深度 JavaScript 的作用域]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/161956858</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/161956858</guid><author>Dale_Brown</author><pubDate>Sat, 13 Jun 2026 15:43:51 +0800</pubDate><description><![CDATA[做前端开发快八年了。说实话，有很长一段时间，我觉得自己什么都会一点——React 能写，Vue 能写，Node 也能写。但真要让我说清楚"闭包到底是什么"或者"Event Loop 完整执行顺序"，话到嘴边又觉得讲不透。我相信很多人跟我有同样的感觉：瓶颈期。什么都能干，但深入一步就有点虚。这个系列就是我对这些年积累的系统复盘。从 JavaScript 最底层的概念出发——作用域、原型、类型、异步——把那些"似懂非懂"的东西彻底掰开讲清楚。]]></description><category></category></item><item><title><![CDATA[前端进阶文章集合，建议收藏]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/156127830</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/156127830</guid><author>Dale_Brown</author><pubDate>Sun, 21 Dec 2025 12:55:34 +0800</pubDate><description><![CDATA[前端进阶干活，持续更新中~]]></description><category></category></item><item><title><![CDATA[: Web开发这些年：从“小油条”到“老油条”的成长之路。]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/153596866</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/153596866</guid><author>Dale_Brown</author><pubDate>Tue, 21 Oct 2025 23:02:35 +0800</pubDate><description><![CDATA[做 Web 开发有些年头了，目前头发还算茂密，只是人已不再少年。​当年上班摸鱼都有负罪感的 “小油条”，如今也成了佛系的 “老油条”。​相似的业务代码写得越多，那种难以压抑的枯燥感就越强烈 —— 写这坨代码有什么用？像极了一个渣男，经历过一次次短暂的感情后，最终丢掉了最初初见佳人时的心动。​今天想简单聊聊个人能力提升那点事，以及自己是如何从 “小油条” 走到 “老油条” 这条路上的。​。]]></description><category></category></item><item><title><![CDATA[打破软件“收费”羞愧感，勇敢要钱]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/152051221</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/152051221</guid><author>Dale_Brown</author><pubDate>Wed, 24 Sep 2025 21:48:59 +0800</pubDate><description><![CDATA[盈利”其实是补上最后一块关键拼图——只有形成“设计-开发-盈利”的完整闭环，软件才不用一直靠我的“咖啡钱”贴补，才不用担心里程碑式的“欠费通知”，才能真的稳定地活下去，继续给需要的人解决证照处理的麻烦。毕竟在国内，“免费使用软件”早就成了大家的默认习惯，不管是看几十秒广告，还是掏哪怕一块钱，只要沾了“付费”的边，都像在无形中“冒犯”用户——说不定人家眉头一皱，随手就把小程序关了，下次再也不会打开。更麻烦的是，还得下载图片、退出小程序去扫码——操作一中断，靠这种“收费”方式赚钱，概率实在太低了。]]></description><category></category></item><item><title><![CDATA[没想到！上周写证照小程序的博文火了]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/152051183</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/152051183</guid><author>Dale_Brown</author><pubDate>Wed, 24 Sep 2025 21:47:24 +0800</pubDate><description><![CDATA[这段时间，看着文章的阅读量一点点涨，看着小程序被越来越多人使用，我最大的感受就是：很幸运，能做一个 “连接者”—— 把好用的工具分享给需要的人，也把大家的需求传递给开发团队，昂，开发团队就是我自己了。未来我还会继续分享这些 “能解决实际问题” 的生活工具和体验，也希望大家如果有什么使用心得或者建议，都可以在评论区告诉我～毕竟好的东西，需要我们一起打磨，一起让生活变得更省心呀～]]></description><category></category></item><item><title><![CDATA[爆肝三周，我终于上线了自己的第一个小程序]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/150725346</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/150725346</guid><author>Dale_Brown</author><pubDate>Sun, 24 Aug 2025 23:14:42 +0800</pubDate><description><![CDATA[原来自己做的工具能真正帮到别人，是这么踏实的感觉。现在回头看，那些熬到凌晨的夜晚、反复调试的代码、流程里的磕磕绊绊，都成了最实在的收获。最后，给大家分享一下我做的小程序吧，直接扫码或者搜索“豆豆证照工坊”，如果你觉得能帮到你，不妨分享给你的朋友们，如果觉得有做得不好的地方，欢迎留言区提建议（轻喷）。]]></description><category></category></item><item><title><![CDATA[Vue vs React 多维度剖析: 哪一个更适合大型项目？]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/150290942</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/150290942</guid><author>Dale_Brown</author><pubDate>Tue, 12 Aug 2025 22:20:08 +0800</pubDate><description><![CDATA[Vue与React作为主流前端框架各有优势：Vue提供清晰的单文件组件结构和官方状态管理方案，学习曲线平缓，适合团队水平参差的项目；React则更灵活，强调函数式编程，需要团队自行制定规范但扩展性强，适合需要高度定制化和TypeScript集成的复杂项目。Vue降低决策成本，React提供更大自由度，选择需根据团队技术栈和项目需求权衡。无论选哪个框架，都需要结合具体场景评估。]]></description><category></category></item><item><title><![CDATA[搞前端还有出路吗？如果有，在哪里？]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/149788315</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/149788315</guid><author>Dale_Brown</author><pubDate>Wed, 30 Jul 2025 22:16:56 +0800</pubDate><description><![CDATA[个人觉得，如果你是一个新人，需要找一份开发相关的工作，个人觉得前端开发还是算不错。而如果你是一个老前端开发，在工作这么多年之后，开始进入舒适区，亦或者有危机感了，那么不妨尝试着在新的方向探索了。在当前的就业环境下，不建议频繁跳槽搞钱，毕竟打工发财是不现实的。有一份工作，能够养家糊口，上班偶尔还能摸摸鱼，差不多就可以了。大环境好的时候都搞不到钱，现在说要搞钱不是为难自己么？健康饮食，适当运动，保持一个好的身体，这就是在省钱了！扯远了…上述内容皆为个人观点，如有不同看法，欢迎评论区交流。]]></description><category></category></item><item><title><![CDATA[从崩溃到稳定：前端开发者必学的 Node.js 守护进程实战指南]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/149431367</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/149431367</guid><author>Dale_Brown</author><pubDate>Thu, 17 Jul 2025 21:40:26 +0800</pubDate><description><![CDATA[除了上面的方法，其实也还有其它一些快捷的方式来创建守护进程，如使用pm2或者forever, 但是纯手工创建守护进程的基本功不能丢了。实现守护进程的过程，也是深入理解 Node.js 进程模型和操作系统交互的绝佳机会。从工作目录设置、权限管理到信号处理、错误捕获，每一个细节都体现了对系统编程的深刻理解。这些知识不仅适用于守护进程开发，更能帮助我们编写更健壮的 Node.js 应用。]]></description><category></category></item><item><title><![CDATA[从 Vuex 到 Pinia：Vue 3 状态管理的全面升级]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/149055720</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/149055720</guid><author>Dale_Brown</author><pubDate>Tue, 01 Jul 2025 21:58:50 +0800</pubDate><description><![CDATA[在Vue 3的“江湖”里，状态管理这块可是发生了大变化！当咱们从Vue 2“升级打怪”到Vue 3，以前常用的Vuex逐渐被更“香”的Pinia替代了。今天就来唠唠Vuex和Pinia到底有啥不一样，帮大家轻松拿捏新的状态管理姿势！]]></description><category></category></item><item><title><![CDATA[一文读懂 Cookie、Session 和 Token：原理、区别与应用场景]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/149055226</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/149055226</guid><author>Dale_Brown</author><pubDate>Tue, 01 Jul 2025 21:34:05 +0800</pubDate><description><![CDATA[《Cookie、Session和Token：网络世界的身份证明》解析了三种常见的身份验证机制。Cookie是存储在浏览器的小数据包，用于记录用户偏好和登录状态；Session是服务器端的会话数据存储，依靠Session ID识别用户；Token则是加密的令牌，适合跨平台认证。三者各有优劣：Cookie易被篡改但使用方便，Session安全性高但服务器负担大，Token灵活性强但需防泄漏。应用场景上，Cookie用于个性化设置，Session适用于电商等安全需求高的服务，Token则广泛用于移动端和微服务架构]]></description><category></category></item><item><title><![CDATA[JavaScript的“数值计算困局“：生态缺位下的破局之路]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148962154</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148962154</guid><author>Dale_Brown</author><pubDate>Fri, 27 Jun 2025 22:57:49 +0800</pubDate><description><![CDATA[Node.js生态缺乏与Python NumPy匹敌的科学计算库，并非技术缺陷所致。V8引擎性能优异，且通过WebAssembly和N-API可达到C语言效率，但生态循环困境更关键：数据科学家偏爱Python成熟工具，JS库维护者缺乏持续动力。转机出现在边缘计算、WebGPU等新兴领域，JS正凭借可视化计算、低延迟等差异化优势吸引跨界开发者。未来JS数值计算不会简单复制NumPy，而是融合前端交互优势，创造独特的&quot;计算原语&quot;范式。这场生态突围的核心在于挖掘JS不可替代的特质，而非单纯追赶]]></description><category></category></item><item><title><![CDATA[为什么团队总在写烂代码？因为 “背锅侠” 根本不存在]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148958863</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148958863</guid><author>Dale_Brown</author><pubDate>Fri, 27 Jun 2025 18:30:56 +0800</pubDate><description><![CDATA[摘要 本文探讨了软件开发中&quot;烂代码却能运行&quot;的普遍现象及其成因。文章指出，项目代码质量恶化往往始于看似微小的改动，如复制代码或增加条件判断，导致系统熵增。在功能优先的开发模式下，组件通用性常被牺牲，而多人协作中责任感的缺失进一步加剧了代码腐烂。伪组件化看似提升复用，实则破坏单一职责原则。文章揭示，烂代码的本质是团队管理机制和责任感的缺失，而非单纯的技术问题。代码审查的形式化使得质量把控形同虚设，最终导致项目维护成本不断攀升。]]></description><category></category></item><item><title><![CDATA[搭建个人博客系列--(4) 利用Github Actions自动构建博客]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148816531</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148816531</guid><author>Dale_Brown</author><pubDate>Sat, 21 Jun 2025 21:57:09 +0800</pubDate><description><![CDATA[本文介绍了如何利用GitHub Actions实现Hexo博客的自动化编译与部署。通过配置YAML工作流，在代码推送时自动执行编译（hexo build）并部署到GitHub Pages。核心步骤包括：1）检出代码；2）设置Node环境；3）安装依赖；4）执行编译；5）上传并部署静态文件。该方法简化了手动编译上传的繁琐流程，只需提交Markdown文件即可自动完成发布。文章还展示了完整的workflow配置示例，并指导如何验证部署效果。系列教程最终实现从博客搭建到自动化发布的完整解决方案。]]></description><category></category></item><item><title><![CDATA[搭建个人博客系列--(3) Hexo 静态博客搭建实战]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148594882</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148594882</guid><author>Dale_Brown</author><pubDate>Wed, 11 Jun 2025 21:45:00 +0800</pubDate><description><![CDATA[摘要：本文介绍了如何使用Hexo静态站点生成器快速搭建个人博客。Hexo具有入门门槛低、中文生态友好等特点，只需安装Node环境后，通过4个简单步骤即可完成博客搭建：1)安装Node环境；2)全局安装Hexo脚手架；3)初始化博客目录并启动本地预览；4)生成静态文件部署到GitHub Pages。文章还推荐了更换主题和自定义配置的方法，帮助用户打造个性化博客。Hexo让博客创作摆脱了手动编写HTML的繁琐，使作者能专注于内容本身。（150字）]]></description><category></category></item><item><title><![CDATA[Node安装保姆级教程]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148594737</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148594737</guid><author>Dale_Brown</author><pubDate>Wed, 11 Jun 2025 21:41:29 +0800</pubDate><description><![CDATA[本文介绍了两种Node.js安装方法：1）使用安装包，从官网或公众号获取安装包后，按提示完成安装步骤，可修改默认安装路径；2）二进制文件安装，解压后需手动配置环境变量。最后通过node -v命令验证安装是否成功。两种方式均配有详细图文指引，适合不同安装需求的开发者参考。（摘要字数：150）]]></description><category></category></item><item><title><![CDATA[搭建个人博客系列--(2) 动手搭建自己的第一个博客站点]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148387851</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148387851</guid><author>Dale_Brown</author><pubDate>Mon, 02 Jun 2025 22:29:08 +0800</pubDate><description><![CDATA[你还在纠结要不要开博客？这可能是数字时代最好的自我投资。]]></description><category></category></item><item><title><![CDATA[搭建个人博客系列--(1) 为什么每个人都该有个数字自留地]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/148242013</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/148242013</guid><author>Dale_Brown</author><pubDate>Tue, 27 May 2025 07:45:00 +0800</pubDate><description><![CDATA[你还在纠结要不要开博客？这可能是数字时代最好的自我投资]]></description><category></category></item><item><title><![CDATA[关于微信云托管对象存储那点事]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/146780053</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/146780053</guid><author>Dale_Brown</author><pubDate>Sun, 30 Mar 2025 22:47:31 +0800</pubDate><description><![CDATA[最近在鼓捣一个关于图像处理相关的小程序，出于快速开发考虑，在后台开发这块，没有选择走传统的后台部署服务。毕竟，购买云服务器，注册购买域名以及备案等一系列操作下来，也够让人心累。这次选择的是微信开发的平台的云托管，至于为什么走的不是云函数开发，其中就涉及到了开发语言的选择–python, 如果改用javascript重写一下，成本有点高，所以最终方案选择云托管。在按照云托管的部署流程一通走下来后，everything is fine. But…]]></description><category></category></item><item><title><![CDATA[我的Vue之旅（1）]]></title><link>https://blog.youkuaiyun.com/Dale_Brown/article/details/109267313</link><guid>https://blog.youkuaiyun.com/Dale_Brown/article/details/109267313</guid><author>Dale_Brown</author><pubDate>Sat, 24 Oct 2020 22:30:07 +0800</pubDate><description><![CDATA[2020-10-17
今天主要学习了Vue中以下几个指令的使用

v-bind
v-if
v-on
v-for
v-model

其中v-bind与v-model都是属于数据绑定，v-bind通常来说是绑定属性与data中的数据，而v-model较多
在表单中使用，实现数据的双向绑定。v-if的话和其他语言中的if使用差不多吧，当条件为true时，标签的内容
就可以生效，即在页面上显示出来。v-for循环加载对象列表中的对象，做一些相同的操作，不过要搞清楚v-for应该放在
需要进行操作的标签内，不要搞错位]]></description><category></category></item></channel></rss>