一次循环引用导致的内存泄漏分析,重新认识JavaScript

内存泄漏的事情遇到的也不少,但是感觉问题蛮大,这是第一次。🤦‍♂️🤦‍♂️🤦‍♂️ 前段时间自己开发了一个基于Canvas的专用于DIY的图形编辑器:https://douyin.nicen.cn/m.html 兢兢业业写了许久(目前300多次提交),从零开始,完成了许多以前没敢想的功能。 自以为快要小成了,今天突然想着分析一下内存。好家伙!这一波分析下来,发现了大问题,😂😂😂。 回顾了一下自己的
一次循环引用导致的内存泄漏分析,重新认识JavaScript

Three.js 基础知识,Three.js 学习笔记

Three.js 相关教程:http://www.webgl3d.cn/ Three.js 是一个基于 WebGL 的 JavaScript 库,它允许你在浏览器中创建和显示3D图形。 在Three.js中通常涉及以下几个基本组件: 场景(Scene):场景是所有对象、灯光和相机的容器。它是3D世界中所有可见元素的集合。 相机(Camera):相机定义了观察场景的视角。Three.js中最常用的相
Three.js 基础知识,Three.js 学习笔记

WordPress用户行为回放插件,精准捕捉用户行为的每一步

在数字营销的世界里,了解用户行为是提升用户体验和转化率的关键。nicen-replay 插件,它能够让您轻松回放用户在网站上的每一步操作,从点击到滚动,再到表单填写,每一个细节都清晰可见。 nicen-replay,是一款可以监控并回放用户行为的插件,支持如下功能: 数据收集:在不影响站点速度的情况下,收集用户在站点上的操作, 实时回放:插件后台可以回放用户的所有行为,通过视频的方式来帮助你分析用
WordPress用户行为回放插件,精准捕捉用户行为的每一步

DIY.JS 开发文档, 一款专用于DIY定制的Canvas图形库

DIY.JS是一款专用于DIY定制的Canvas图形库,兼容h5、微信小程序、抖音小程序、淘宝小程序 DIY的可操作区域由两部分组成(两个层叠的Canvas对象): 背景图层:用于物品模型绘制,比如衣服、手机壳 DIY图层:用于素材绘制,以及定义对应物品的可DIY区域 DIY区域指的是在指定物品上,用户可以进行个性化定制的区域。 DIY区域由Canvas的destination-in的混合模式进行
DIY.JS 开发文档, 一款专用于DIY定制的Canvas图形库

如何在Vue中实现单个组件的动态重新加载?

单个组件动态重新加载,指的是让某个已经渲染的组件,自动销毁然后开始一个新的生命周期。 大部分情况下,一个需求会很多种实现方法,而接下来要说明的方法,也是众多解决方法之一。 到目前为止,遇到过两个需要实现这种功能的需求: 1. 后台管理系统中,对页面的功能区域(导航栏、侧边栏之外的区域)进行局部刷新 简单一点的功能页面,或许只需要重新加载接口,触发一下数据更新就够了,但是某些复杂的页面通过更新数据来
如何在Vue中实现单个组件的动态重新加载?

Fabric.js 学习笔记,快速上手

Fabric.js官网:http://fabricjs.com/ Fabric.js自定义构建:http://fabricjs.com/build/ Fabric.js 是一个强大的、灵活的 HTML5 画布库。 在 Fabric.js 中,preserveObjectStacking 属性是一个布尔值,用于控制当对象被修改(例如移动、旋转、缩放等)时,它们在堆栈中的位置是否保持不变。 设置 pr
Fabric.js 学习笔记,快速上手

Vite如何自动导入指定目录内的静态资源文件,并生成导出模块?

上一次详细学习Vite的文档的时候还是Vite2.x,现在Vite已经到了Vite5,在此期间已经有了很多新的变化和特性,刚好今天抽空重新学习一下。 Vite 不再支持 Node.js 14 / 16 / 17 / 19,因为它们已经到了 EOL。现在需要 Node.js 18 / 20+。 查看Vite预设的各种开发模板:https://github.com/vitejs/vite/tree/m
Vite如何自动导入指定目录内的静态资源文件,并生成导出模块?

一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码)

一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码),兼容抖音和微信小程序,在线案例: Github:https://github.com/friend-nicen/DIY Gitee:https://gitee.com/friend-nicen/DIY 下载HBuilderX,导入项目 修改中的为你的小程序的 安装依赖 "" 运行到微信或抖音小程序(无后端代码,需要模拟接口) ├─.hb
一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码)

拼多多服务商应用开发,相关笔记

开发文档:https://open.pinduoduo.com/application/document/browse?idStr=04DD98845AD2977D 拼多多服务商应用发布要求必须使用多多云的云服务器、数据库、Redis等 拼多多提供了一些可选的自带运行环境的容器。 购买的云实例操作起来,限制比较多。可以上传源代码、通过特定的方式修改配置文件以及连接web shell。 每次容器重启
拼多多服务商应用开发,相关笔记

通过PM2来管理Node、PHP CLI等脚本应用进程,什么是PM2进程管理器?

PM2官网:https://pm2.keymetrics.io/docs PM2.js是一个Node.js应用程序的进程管理器,可以帮助开发人员在生产环境中管理和监控Node.js应用程序或其他程序的进程。它可以自动重启应用程序,监控应用程序的资源使用情况,以及提供实时日志记录和错误处理等功能。此外,PM2.js还可以通过集成的API和CLI工具来管理和监控多个Node.js应用程序。 对于nod
通过PM2来管理Node、PHP CLI等脚本应用进程,什么是PM2进程管理器?

前端Server-Sent Events、EventSource接口相关知识点总结,什么是EventSource?

转自:http://www.ruanyifeng.com/blog/2017/05/server-sent_events.html 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来
前端Server-Sent Events、EventSource接口相关知识点总结,什么是EventSource?

前端事件总线(Event Bus)是什么?前端事件总线的简单介绍

参考文章:https://www.pipipi.net/questions/13598.html 事件总线是对发布-订阅模式的一种实现,它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 发布订阅模式定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 发布订阅模式主要有两个角色: 发布方(Publ
前端事件总线(Event Bus)是什么?前端事件总线的简单介绍