技术爱好者周刊(第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, 前/后端)有区别,那就用新...
技术爱好者周刊(第38期)
TensorFlow.js 概述:从技术原理到行业实践 崔鹏程
文章深入探讨了 TensorFlow.js 的技术原理及其在各个行业的实际应用案例。详细介绍了 TensorFlow.js 的架构设计、核心功能以及如何在浏览器中运行机器学习模型。通过多个行业实践案例,展示了 TensorFlow.js 在图像识别、自然语言处理、推荐系统等领域的应用,为开发者提供了全面的视野和实用的参考。
7种在 JavaScript 中分解长任务的技术 李勇鲁
探讨了在 JavaScript 中分解长任务的多种方法,包括 setTimeout()、async/await、scheduler.postTask()、requestIdleCallback()、requestAnimationFra...
技术爱好者周刊(第37期)
OT 算法 刘世豪(言未)
OT(操作转换)算法是一种解决实时协同编辑冲突的技术,通过对并发操作进行转换使所有用户最终看到一致的文档内容。它基于三个核心原则:因果律(确保操作顺序符合因果关系)、结果收敛(确保所有用户最终看到相同结果)和意图保留(尽量保持用户的原始编辑意图)。OT 算法通过向量时钟追踪操作的时序关系,并使用 transform 函数将并发操作转换为可以顺序应用的形式,从而实现多用户无缝协作编辑。
怎么浏览器打开图片的url默认是下载?) 徐堂鑫
为什么浏览器打开图片的url默认是下载,归根结底是Response-Header里面的Content-Type决定的
前端100万行代码是怎样的体验? 车泽民
100万行整个开发过程涉及到的人员和模块都很多,产...
技术爱好者周刊(第36期)
前端Ai库brain.js指北 刘世豪(言未)
一个前端AI库Brain.js的介绍
视频播放测试地址(MP4、M3U8 格式) 徐堂鑫
视频播放测试链接
ES2025 爆款新特性,让开发效率翻倍 车泽民
了解未来可能的新语法,有些像rust
TypeScript中的Omit与Pick:何时使用 王森
typescript Pick 与 Omit 的使用。Pick 很常用,Omit 也可以了解下,在某些情况下更适合。
少数人知道的 10 个神奇 CSS 选择器 李文娟(李果然)
一些不常用的但也能优雅处理部分场景的css选择器,还可以尝试组合使用,以实现更精准的样式控制。
【::first-line】:段落的首行样式
【::first-letter 】...
技术爱好者周刊(第35期)
JS 检测设备性能 刘世豪(言未)
使用JS检测当前运行时的性能(繁忙度)及设备硬件所反映的性能水平
「硬核JS」你真的了解垃圾回收机制吗 徐堂鑫
介绍了 JavaScript 的垃圾回收机制,包括什么是垃圾回收、垃圾产生及回收原因、常见回收策略,还介绍了 V8 引擎对垃圾回收的优化
【第3444期】Chrome 131 开发者工具的新变化 车泽民
新版浏览器调试工具变化
圈复杂度在转转前端质量体系中的应用 王森
一种衡量代码质量的指标:圈复杂度。
Chrome 133+ 全新 DOM 操作方法:moveBefore 李文娟(李果然)
一个新的 DOM 操作方法:Node.prototype.moveBefore,它能够在移动 DOM 元素时保留元素的...
共计 44 篇文章,6 页。