摘要:
Socket.IO 是一个建立在 WebSocket 协议之上的库,可以在客户端和服务器之间实现低延迟、双向和基于事件的通信。 并且提供额外的保证,例如回退到 HTTP 长轮询、自动重连、数据包缓冲、多路复用等。 WebSocket 是一种基于 TCP 协议在服务器和浏览器之间提供全双工和低延迟通道 阅读全文
摘要:
本节会重点分析内存和进程奔溃,并且会给出相应的监控方法。 本系列所有的示例源码都已上传至Github,点击此处获取。 一、内存 虽然在 Node.js 中并不需要手动的对内存进行分配和销毁,但是在开发中因为程序编写问题也会发生内存泄漏的情况。 所以还是有必要了解一些 Node.js 开放的内存操作和 阅读全文
摘要:
市面上成熟的 Node.js 性能监控系统,监控的指标有很多。 以开源的 Easy-Monitor 为例,在系统监控一栏中,指标包括内存、CPU、GC、进程、磁盘等。 这些系统能全方位的监控着应用的一举一动,并且可以提供安全提醒、在线分析、导出真实状态等服务。 本专题分为上下两个篇章,会简单分析下在 阅读全文
摘要:
在 Node.js 中,提供了 error 模块,并且内置了标准的 JavaScript 错误,常见的有: EvalError:在调用 eval() 函数时出现问题时抛出该错误。 SyntaxError:调用不符合 JavaScript 的语法时抛出该错误。 RangeError:超出可接受值的集合 阅读全文
摘要:
在 Node.js 中,提供了console模块,这是一个简单的调试控制台,其功能类似于浏览器提供的 JavaScript 控制台。 本系列所有的示例源码都已上传至Github,点击此处获取。 一、原理 与浏览器一样,Node.js 也提供了一个全局变量 console(实例化 Console 类) 阅读全文
摘要:
文件系统是一种用于向用户提供底层数据访问的机制,同时也是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。 Node.js 中的fs模块就是对文件系统的封装,整合了一套标准 POSIX 文件 I/O 操作的集合,包括文件的读写、删除、遍历、重命名等操作。 fs 模块中的所有方法都提供了 阅读全文
摘要:
HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种获取网络资源(例如图像、HTML文档)的应用层协议,它是互联网数据通信的基础,由请求和响应构成。 在 Node.js 中,提供了 3 个与之相关的模块,分别是 HTTP、HTTP2 和 HTTPS,后两者分别是 阅读全文
摘要:
Events 是 Node.js 中最重要的核心模块之一,很多模块都是依赖其创建的,例如上一节分析的流,文件、网络等模块。 比较知名的 Express、KOA 等框架在其内部也使用了 Events 模块。 Events 模块提供了EventEmitter类,EventEmitter 也叫事件触发器, 阅读全文
摘要:
在 JavaScript 中,一般只处理字符串层面的数据,但是在 Node.js 中,需要处理网络、文件等二进制数据。 由此,引入了Buffer和Stream的概念,两者都是字节层面的操作。 Buffer 表示一块专门存放二进制数据的缓冲区。Stream 表示流,一种有序、有起点和终点的二进制传输手 阅读全文
摘要:
2022年6月15日,微软终止对IE的支持,自此IE走入历史,可以说这是一个时代的终结。 自己在 2011 年刚从业时,IE 在国内的市场占有率可是遥遥领先的,下图来自于 StatCounter 网站的统计结果。 将浏览器版本再细分,排在前面的也是 IE 的四个版本,其中 IE6 的占有率最高,兼容 阅读全文