主页

技术爱好者周刊(第46期)

[ECMAScript] 杂谈: setTimeout 还有多少未知 刘世豪 关于 settimeout 的一些冷门知识点 Vue 性能调试实战:精准定位组件渲染瓶颈 崔鹏程 本文将介绍一种 简单、高效、体系化 的调试方法,从浏览器性能面板时间线入手,结合 Vue 提供的调试钩子,完成全链路渲染调试。 随便看看周刊 车泽民 随便看看周刊 Pinia 最新发布的 6 个插件,效率提升 300%! 李勇鲁 覆盖 数据持久化、性能优化、开发调试、类型安全 等常见需求的 pinia 插件 枚举 & 联合类型 李文娟 枚举 vs 联合类型怎么选? 2025 年 Object 和 Map 如何选择? 陆欣 Object 和 Map 的选择

阅读更多

技术爱好者周刊(第45期)

认知负荷才是关键 张修竹 卓越开发者的特质 要深入了解一个工具,你需要知道: 它的历史:谁创造了它?为什么?要解决什么问题? 它的现状:谁在维护它?他们在哪里工作?在做什么? 它的局限:什么情况下不适合使用这个工具?什么时候会出问题? 它的生态:有哪些库?谁在使用它?有什么插件? 举个例子,如果你是一名后端工程师,大量使用 Kafka,我希望你对 Kafka 了如指掌——不是仅仅停留在 Reddit 上看到的内容。至少,如果你想成为最优秀的工程师之一,这是我对你的期望。 滥用 DRY 原则(Abusing DRY principle) 不要重复编写相同的代码 —— 这是你在软件工程师的学习和工作过程中,被反复灌输的重要原则之一。它植根于我们的观念当中,以至于我们对代码冗余几乎零容忍...

阅读更多

技术爱好者周刊(第44期)

浅谈前端出现率高的设计模式 刘世豪 浅谈前端出现率高的设计模式 《重构》经典句子摘录 徐堂鑫 有一句很有道理:“重构的意义不在于把代码库打磨得闪闪发光,而是纯粹经济角度出发的考量。我们之所以重构,因为它能让我们更快——添加功能更快,修复bug更快。一定要随时记住这一点,与别人交流时也要不断强调这一点。重构应该总是由经济利益驱动” 内存管理 崔鹏程 JavaScript 是在创建对象时自动分配内存,并在不再使用时自动释放内存(垃圾回收)。这个自动性是混乱的潜在根源:它让开发者错误地以为他们不需要担心内存管理。 太酷了!3秒 把 Vue、React 源码可视化!看源码神器! 李勇鲁 快来看哈,快速梳理源码核心思路,省时省力 🔥🔥🔥2.5W字!8个场景问题!带你了解最...

阅读更多

技术爱好者周刊(第43期)

前端异常隔离:Proxy、Web Workers 与 iframe 的深度对比 李勇鲁 Proxy 代理:灵活轻量,适合需精细控制权限的场景。Web Workers:安全高效,适合计算密集型或高安全需求的任务。iframe:终极隔离,但成本和复杂度较高,适合完全不可信内容。 如何强制用户看完广告? 车泽民 强制看公告,更新内容,视频等等 前端佬们!塌房了!用过Element-Plus的进来~ 谢宇翔 内存泄露问题 list-style-type 徐堂鑫 list-style-type 可以设置列表元素的 marker(比如圆点、符号、或者自定义计数器样式)。 早知道有这个东西,就不用傻乎乎地用dom写了。 Promise.try() 李文娟 Promise.t...

阅读更多

技术爱好者周刊(第42期)

认知负荷才是关键 张修竹 认知负荷才是关键,开发者为了完成一项任务而投入的思考量才是关键 滥用 DRY 原则(Abusing DRY principle) 不要重复编写相同的代码 —— 这是你在软件工程师的学习和工作过程中,被反复灌输的重要原则之一。它植根于我们的观念当中,以至于我们对代码冗余几乎零容忍,哪怕只有几行的重复代码也不行。总体而言,它是一个很好的基本原则,但过度遵循它可能会带来过多的认知负荷,令我们不堪重负。 当前,人们构建软件时通常基于逻辑分离的组件。这些一般分布在多个代码库中,代表着不同的服务。在你努力消除重复的过程中,可能会使原本不相关的组件变得紧密耦合。这样一来,后续对某个部分的修改可能会在其他看似毫无关联的地方引发意想不到的后果。同时,这也会削弱在不影响整个系...

阅读更多

技术爱好者周刊(第41期)

使用 scheduler.yield() 拆分长任务) 车泽民 可以拆分任务的api 127.0.0.1 与 localhost:需要知道的区别与用法 王森 由一个小知识点引出来解决问题方式:透过现象看本质。 Vue3 新趋势:是时候淘汰 Axios 了! 李勇鲁 文章主要介绍了Alova.JS这个轻量级HTTP请求库,它在Vue3新趋势下被视为可能替代Axios的选择: Alova.JS简介 ◦ 是一个轻量级HTTP请求库,支持多种请求适配器,可在Vue、React、Svelte等框架中使用。 ◦ 具有跨框架支持、简洁API、高性能请求策略、体积小、高灵活性、多种数据缓存模式、丰富扩展功能、SSR支持、请求共享、数据预拉取、实时自动状态管理、交互式文档和示例、...

阅读更多

技术爱好者周刊(第40期)

Map vs Object 终极对决:90%开发者不知道的六大性能杀招💡 开篇灵魂拷问 为什么Vue3源码中使用了12 - 掘金 车泽民 说是map性能好 async/await 必须使用 try/catch 吗?在 JavaScript 中使用 async/await - 掘金 王森 刚好今天讨论过 try…catch,这位作者也有自己的观点,求同存异。 WebSocket太笨重?试试SSE的轻量级魅力!一、 前言 Hello~ 大家好。我是秋天的一阵风~ 关注我时间长一点 - 掘金 李勇鲁 轮询的缺点 资源浪费 网络带宽:频繁请求会增加不必要的网络流量。 服务器负载:即使空返回,也会...

阅读更多

技术爱好者周刊(第39期)

编辑器探索 - 带你全面了解 Web Editor 架构设计、技术选型 张修竹 这篇文章介绍了如何通过优化代码来提高性能,特别是在处理大量数据时。作者通过分析性能瓶颈,提出了减少循环嵌套、使用高效数据结构、批量处理和并行处理等优化策略,并通过具体案例展示了优化前后的性能对比。最终强调了合理优化对提升代码效率的重要性。 设计原则:亲密性、对齐、重复、对比 刘世豪 设计的四大基本原则:亲密性、对齐、重复、对比。 其中的亲密性对我们设计与开发有些许启发: “为实现共同目标的代码应该放在一起,规模较大的模块需要拆分成更细粒度; 关系亲密、相互合作的代码就应该让它们的物理距离(代码位置)更接近,遵循亲密性原则; 如果不同职责的代码天赋属性(如 html/js, 前/后端)有区别,那就用新...

阅读更多