【配置】VS Code常用插件整理-2024版
Visual Studio Code 是个牛逼的编辑器,启动非常快,我已经抛弃 WebStorm Sublime 了。
支持各种语言,相比其他 IDE,轻量级完全可配置还集成 Git 感觉非常的适合前端开发。 所以我仔细研究了一下文档未来可能会作为主力工具使用。
如何用心仪的域名访问博客?记录上线过程
经过大半个月的折腾,看到自己的博客成功上线并能够访问,感到非常欣喜。尽管之前写过类似的文章,但貌似不见了,因此我决定重新写一篇,作为总结,并顺便为博客注入新的活力。
【Node.js】文件系统模块深度解析
Node.js 的fs(File System)模块是与操作系统交互的核心入口,但其底层逻辑却涉及文件描述符、libuv 异步机制、跨平台路径处理等多个复杂概念。本文将从底层原理到项目实践,逐步拆解fs模块的工作机制,并通过实际项目示例帮你掌握其最佳实践。
【Node.js】crypto 与 WebCrypto:从 Legacy 到密码学
在现代 Web 开发中,密码学 API 不是“可选功能”,而是“安全底线”。它解决的是三个核心问题:
【Node.js】WinterCG,从 Web 可互操 runtime 到 URL 标准的演进之路
想象一个场景:你开发了一个低代码平台,允许用户编写插件处理表单逻辑。这些插件需要同时运行在:
【Node.js】VM模块深度解析一:从CommonJS基础到沙箱隔离的原理与实践
你可能从没写过require('vm'),但你每用一次npm install、每跑一个koa中间件、每用一个模板引擎,都在间接依赖vm——它是 Node.js 模块系统的“编译引擎”,也是沙箱隔离的“安全门”。
【Node.js】process:掌控进程的“神经中枢”(二)
除了process.env和uncaughtException,process还有很多生产环境高频使用的 API,以下是最核心的几个:
【Node.js】process:从底层原理到生产实践(一)
线上服务突然崩溃,日志里只有一行uncaughtException: Error: Connection refused;改了.env文件,重启服务却没生效;用Ctrl+C停止服务,数据库连接没关闭导致数据丢失——这些问题的根源,都在process 模块里。
【Node.js】Buffer 深度解析:从核心概念,彻底搞懂这个“字节工具人”
Buffer 是 Node.js 中非常重要且核心的概念,尤其在处理 I/O 操作(如文件、网络流)时必不可少。它代表了 JavaScript 与二进制数据直接交互的能力。
【Node.js】模块机制深度解析:从 CommonJS 到 ESM 的进化之路
早年间做前端开发时,我曾遇到过一个经典痛点:引入 jQuery 后,自己写的utils.js里也用了$作为函数名,结果页面加载后,jQuery 的$被覆盖,所有依赖 jQuery 的代码都报错了。那时的 JavaScript 没有模块机制,所有变量都暴露在全局作用域——代码越多,冲突越频繁。
【Node.js】事件循环深度解析:从 libuv 到"两层轮回"的异步密码
在一次电商大促的压测中,我们遇到了一个诡异的问题:原本设置 1 秒执行的库存扣减定时器,实际延迟了 300ms。排查后发现,原因居然是事件循环被长任务阻塞——当主线程在处理大量订单的 I/O 回调时,定时器的”到期时间”被忽略了。
【Node.js】深入浅出 stream 模块
让数据流动起来。数据从原来的 source 流向 dest,要像水一样,慢慢的一点一点通过一个管道流过去。stream 并不是 node.js 独有的概念,而是一个操作系统最基本的操作方式,只不过 node.js 有 API 支持这种操作方式。linux 命令的|就是 stream,因此所有 server 端语言都应该实现 stream 的 API。
【源码学习】前端存储之Cookie、Session
Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。
【数据结构】栈、队列、链表及其区别
栈是一种遵从后进先出(LIFO, Last in First out)原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端叫作栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。