Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

rsshub.app

掘金前端

Get the latest updates from 掘金前端 directly as they happen.

Follow now 122 followers

Latest posts

Last updated 19 days ago

Lodash源码阅读-uniq

19 days ago

Lodash 源码阅读-uniq 概述 uniq 函数用于创建一个数组的去重版本,只保留数组中每个元素的第一次出现。这个函数使用 SameValueZero 进行相等性比较,结果数组中元素的顺序取决于它们在原数组中首次出现的位置。 前置学习 函数依赖: baseUniq: 不支持迭代器简写形式的 uniq...

Lodash源码阅读-baseUniq

19 days ago

概述 baseUniq 是 Lodash 内部的基础函数,用于数组去重操作,支持自定义迭代器和比较器,是 _.uniq 和 _.uniqBy 等方法的底层实现。 前置学习 依赖函数: arrayIncludes:...

webpack JS meta 信息插件 /lib/JavascriptMetaInfoPlugin.js

19 days ago

插件名称定义为 JavascriptMetaInfoPlugin,并应用于 Webpack 的编译流程中。 监听 compiler.hooks.compilation 钩子,在编译过程中注入逻辑。 为三种 JavaScript 模块类型(AUTO、DYNAMIC、ESM)注册 parser 钩子,统一处理逻辑。...

webpack 运行时模版 第 六 节 /lib/RuntimeTemplate.js

19 days ago

blockPromise(options) 功能:生成用于加载 chunk 的 Promise 表达式。 用途:支持异步模块(如 import())在 runtime 中正确加载 chunk。 逻辑:...

VUE项目发版后用户访问的仍然是旧页面?原因和解决方案都在这啦!

19 days ago

A系统(VUE项目)在版本迭代中,有时会出现打包上线后,用户仍然访问的是旧版本页面的现象。这时,用户需手动刷新,才能访问到新版本页面,影响用户体验。 这种现象出现的根本原因是浏览器缓存机制问题,那么,浏览器的缓存机制到底是怎样的?上述现象又该如何避免呢? 一、浏览器缓存机制 浏览器默认缓存机制‌主要包括两种类型:‌强缓存‌和‌协商缓存‌。 强缓存是指浏览器在加载网页时直接从本地缓存中读取资源,而不与服务器进行交互。强缓存主要通过设置HTTP响应头中的Expires和Cache-Control来实现。 协商缓存是指浏览器在加载资源时,先向服务器询问资源是否发生变化。如果服务器确认资源未变化,则返回304状态码,浏览器继续使用缓存中的资源;否则返回新的资源。协商缓存主要通过在HTTP响应头中设置Last-Modified和ETag来实现。 其中强缓存优先于协商缓存,而当没有设置缓存的时候浏览器默认的缓存策略为: 缓存时长 = (访问时间 - 最后一次修改时间)...

从圣经Babel到现代编译器:没开玩笑,普通程序员也能写出自己的编译器!

19 days ago

当你自己设计一个DSL(领域特定语言)并实现解析、转译、生成时,你做的事情,本质上和Babel、Vue、React这些伟大的项目,在技术哲学层面竟然惊人地一致。 Babel的名字为什么来源于《圣经》? Babel转译和Polyfill到底有什么本质区别? 为什么说JavaScript也需要编译? 如何系统性设计自己的DSL编译器? 程序员常见工具名字背后的文化典故 01 | Babel:来自圣经的巴别塔故事 《圣经·创世纪》里,有一个著名的故事:巴别塔(Tower of Babel)。...

前端自做埋点,我们应该要注意的几个问题

19 days ago

一、代码埋点操作原理 代码埋点是一种数据采集技术,通过在应用程序的特定位置插入代码片段,来记录用户行为、系统状态等信息。其核心原理是: ‌触发机制‌:在特定事件(如点击、页面加载、API调用)发生时触发埋点 ‌数据收集‌:收集相关信息(如用户ID、时间戳、事件类型、上下文数据) ‌数据传输‌:将收集的数据发送到后端服务器 ‌数据存储与分析‌:后端接收并存储数据,供后续分析使用 二、代码埋点实现方案 1. 前端埋点实现(JavaScript示例) // 埋点工具类 class...

Linux平台实现低延迟的RTSP、RTMP播放

19 days ago

在流媒体播放器的开发过程中,RTSP(实时流协议)和RTMP(实时消息协议)是广泛应用的流媒体协议。本博客将介绍如何使用大牛直播SDK实现一个Linux平台下的RTSP/RTMP播放器。大牛直播SDK的Linux平台播放SDK,支持RTSP/RTMP,功能丰富,性能优异,超低延迟,并能够在X11窗口中渲染视频。 依赖库与环境 Linux环境:支持X11图形库,能够在X窗口系统中渲染视频。 Smart Player SDK:这是一款功能强大的流媒体播放SDK,支持多种音视频格式。 X11:作为Linux上的图形显示系统,X11用于渲染视频流。 系统初始化与SDK配置 首先,需要进行SDK的初始化,获取播放所需的API接口,并设置相关的回调函数以处理事件和视频帧。代码如下: // 初始化SDK日志功能 void...

前端必知必会:JavaScript 对象与数组克隆的 7 种姿势,从浅入深一网打尽!

19 days ago

大家好,我是鱼樱!!! 关注公众号【鱼樱AI实验室】持续每天分享更多前???和AI辅助前端编码新知识~~喜欢的就一起学反正开源至上,无所谓被诋毁被喷被质疑文章没有价值~~~坚持自己观点 写点笔记写点生活~写点经验。 在当前环境下,纯前端开发者可以通过技术深化、横向扩展、切入新兴领域以及产品化思维找到突破口。 为什么需要克隆? JavaScript 中直接赋值对象或数组时,传递的是引用地址而非独立副本。修改克隆对象会影响原对象,导致难以追踪的 Bug。掌握正确的克隆姿势是前端开发的必备技能! 一、浅拷贝:仅复制第一层属性 适用场景:简单对象、无嵌套结构、无需修改子属性。 1. Object.assign()...

告别~!烦人的 homebrew 强制更新

19 days ago

Homebrew 使用中的“踩坑”和“填坑”经验总结! 1. Homebrew 自动更新问题 问题:执行 brew install 或 upgrade 时,Homebrew 强制运行...

用 Trae + Coze 一天开发"生命之轮"App

19 days ago

我正在参加Trae「超级体验官」创意实践征文,本文所使用的 Trae 免费下载链接:www.trae.com.cn/?utm_source… 1. 引言 😐 人到中年,愈发迷茫,浑浑噩噩,毫无方向,不知道应该干嘛,于是乎我尝试拾起了书📖,尝试从中寻找答案。持续了一阵子的 高强度读书(每周20h+) 后,我反而更迷茫了😑,好像懂了更多的东西,但生活依旧没有波澜不惊,😶 我意识到,真的想有所改变,还需要配合行动,而行动的第一步,就是 发现问题,我需要一个 分析工具。在...

three的基本介绍

19 days ago

官方网址:threejs.org/ 民间官方文档:www.yanhuangxueyuan.com/threejs/doc… gui使用文档:lil-gui.georgealways.com/#Guide#Fold… 1. 创建物体 物体也就是Mesh,相当于自然界中的一个物体,它有两个属性来描述,一个是物体的形状,另一个就是物体的材质 // 创建几何体 let geometry = new...