React 基础知识和陷阱

React 基础知识和陷阱。大部分来自官方文档

Service Worker 和 Web Worker 之间的区别

Web Worker 和 Service Worker 都是在后台运行的 JavaScript Worker,独立于浏览器主线程。但它们的用途不同,且具有不同的特征。

带回调的异步并行行为

async 库具有一个名为 parallel 的便捷方法,该方法接受要运行的异步函数集合以及一个可选的回调函数,在所有函数成功完成后运行该回调函数。

将纪元毫秒时间戳转换为可读日期时间

在许多情况下,例如在处理 JSON 格式的 API 响应、处理网站上嵌入的 JavaScript 资源等时,我们经常会看到 13 位长数字,我们可能知道它是源自 new Date().getTime() 等代码的纪元时间戳,但是,作为人类,我们无法快速判断它代表什么日期和时间。有一个名为 Epoch Converter 的便捷网站可以帮助轻松将其转换为人类可读的格式,但大多数时候对于开发人员来说,甚至还有比打开网站更快捷的方法,即使用许多编程语言自带的 interactive shell

如何在 Nodejs 中将流转换为缓冲区

在 Nodejs 中,当处理非文本文件(例如图像)的 IO 操作(例如通过网络传输或从磁盘读取)时,有很大的机会以 stream.Readable 的形式接收内容,并且在我们能够处理内存中的完整数据(例如计算字节大小或图像尺寸)之前,我们需要将 stream 保存到 buffer 中,这里有几种方法。

Intellij IDEA eslint 和别名问题解决方法

我使用永久回退许可证版本的 Intellj IDEA Ultimate 进行日常开发,但最近我注意到 JavaScript 开发环境中存在与 ESLint 和模块别名解析相关的两个问题。幸运的是,对于这两个问题我都找到了解决方案。

如何在 JSON stringify 中处理 BigInt

我们知道,JavaScript 中 BigInt 类型是一种能够表示任意大整数的数据类型,当值超出 number 所能表示的范围时,这是一个很好的补充。然而,当你使用需要以 JSON 格式交换数据的应用程序时,BigInt值就会成为一个问题,因为 JSON 默认情况下不知道如何序列化 BigInt 值,在这种情况下,一种解决方案是将 BigInt 转换为 string,正如这篇文章所示。

将 socket.io 从 v3 升级到 v4

将 socket.io 从 v2 升级到 v3 之后,本文是关于将 socket.io 及其相关软件包升级到撰写本文时的最新版本,唯一的设置更改似乎是来自 redis-adapater 和这次导入客户端 io 的方式(针对我们的特定用例)。

将 socket.io 从 v2 升级到 v3

socket.io 及其相关库(例如 socket.io-redis-adaptersocket.io-redis-emitter)自 v3 以来在功能或行为方面发生了一些重大变化,这可能会在从 v2 迁移到 v3 时引发问题。本文列出了遇到的问题以及如何根据实际经验针对特定用例解决问题。

JS 资源

由于我发现自己现在越来越多地用 JavaScript 编写代码,无论是后端还是前端开发,所以我认为我应该至少认真考虑一下它,这是十多年来的第一次,以下是我在深入研究这种长期被忽视的编程语言时发现的有用的资源。

JavaScript typeof 返回和 falsy 值

JavaScript typeof 返回和 falsy 值。

How to dynamically insert js

如何动态插入js。

如何在js中生成26个英文字母

如何在js中生成26个英文字母。

Nodenv 快速命令备忘单

nodenv 是一个管理多个 NodeJS 版本的好工具,这里总结了一些常用的命令,以供快速参考。

React-csv 异步数据和渲染中的问题

在前端开发中,有时你需要将数据(通常为 JSON 格式)导出为可下载的 csv 格式,对于那些在 ReactJS 相关 Web 应用程序上工作的人来说,有一个名为 react-csv 的包可以帮助你避免破坏 DRY... 但是,在某些特定场景中应用此包时你也可能会遇到问题,比如我即将写的一个场景,其中涉及异步加载但初始 UI 渲染需要的数据。

浮动水平滚动条

如何使用 jquery 插件实现浮动水平滚动条,这对于单页应用程序特别有用,其中页面的部分内容(例如数据表)很大且动态更新,并且您不想使用浏览器滚动条来滚动部分内容。

Javascript 日历

一个 JavaScript 日历。