随笔分类 -  Node.js精进

Node.js精进(12)——ElasticSearch
摘要:ElasticSearch(简称 ES)是一款基于 Lucene 的分布式、可扩展、RESTful 风格的全文检索和数据分析引擎,擅长实时处理 PB 级别的数据。 一、基本概念 1)Lucene Lucene 是一款开源免费、成熟权威、高性能的全文检索库,是 ES 实现全文检索的核心基础,而检索的关 阅读全文
posted @ 2023-11-20 10:28 咖啡机(K.F.J) 阅读(388) 评论(0) 推荐(3) 编辑
Node.js精进(11)——Socket.IO
摘要:Socket.IO 是一个建立在 WebSocket 协议之上的库,可以在客户端和服务器之间实现低延迟、双向和基于事件的通信。 并且提供额外的保证,例如回退到 HTTP 长轮询、自动重连、数据包缓冲、多路复用等。 WebSocket 是一种基于 TCP 协议在服务器和浏览器之间提供全双工和低延迟通道 阅读全文
posted @ 2022-07-22 07:57 咖啡机(K.F.J) 阅读(1125) 评论(2) 推荐(2) 编辑
Node.js精进(10)——性能监控(下)
摘要:本节会重点分析内存和进程奔溃,并且会给出相应的监控方法。 本系列所有的示例源码都已上传至Github,点击此处获取。 一、内存 虽然在 Node.js 中并不需要手动的对内存进行分配和销毁,但是在开发中因为程序编写问题也会发生内存泄漏的情况。 所以还是有必要了解一些 Node.js 开放的内存操作和 阅读全文
posted @ 2022-07-18 06:21 咖啡机(K.F.J) 阅读(1061) 评论(0) 推荐(1) 编辑
Node.js精进(9)——性能监控(上)
摘要:市面上成熟的 Node.js 性能监控系统,监控的指标有很多。 以开源的 Easy-Monitor 为例,在系统监控一栏中,指标包括内存、CPU、GC、进程、磁盘等。 这些系统能全方位的监控着应用的一举一动,并且可以提供安全提醒、在线分析、导出真实状态等服务。 本专题分为上下两个篇章,会简单分析下在 阅读全文
posted @ 2022-07-11 07:28 咖啡机(K.F.J) 阅读(1439) 评论(2) 推荐(1) 编辑
Node.js精进(8)——错误处理
摘要:在 Node.js 中,提供了 error 模块,并且内置了标准的 JavaScript 错误,常见的有: EvalError:在调用 eval() 函数时出现问题时抛出该错误。 SyntaxError:调用不符合 JavaScript 的语法时抛出该错误。 RangeError:超出可接受值的集合 阅读全文
posted @ 2022-07-06 09:39 咖啡机(K.F.J) 阅读(870) 评论(0) 推荐(0) 编辑
Node.js精进(7)——日志
摘要:在 Node.js 中,提供了console模块,这是一个简单的调试控制台,其功能类似于浏览器提供的 JavaScript 控制台。 本系列所有的示例源码都已上传至Github,点击此处获取。 一、原理 与浏览器一样,Node.js 也提供了一个全局变量 console(实例化 Console 类) 阅读全文
posted @ 2022-07-04 08:05 咖啡机(K.F.J) 阅读(547) 评论(0) 推荐(1) 编辑
Node.js精进(6)——文件
摘要:文件系统是一种用于向用户提供底层数据访问的机制,同时也是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。 Node.js 中的fs模块就是对文件系统的封装,整合了一套标准 POSIX 文件 I/O 操作的集合,包括文件的读写、删除、遍历、重命名等操作。 fs 模块中的所有方法都提供了 阅读全文
posted @ 2022-06-29 07:58 咖啡机(K.F.J) 阅读(716) 评论(0) 推荐(1) 编辑
Node.js精进(5)——HTTP
摘要:HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种获取网络资源(例如图像、HTML文档)的应用层协议,它是互联网数据通信的基础,由请求和响应构成。 在 Node.js 中,提供了 3 个与之相关的模块,分别是 HTTP、HTTP2 和 HTTPS,后两者分别是 阅读全文
posted @ 2022-06-27 08:13 咖啡机(K.F.J) 阅读(590) 评论(1) 推荐(1) 编辑
Node.js精进(4)——事件触发器
摘要:Events 是 Node.js 中最重要的核心模块之一,很多模块都是依赖其创建的,例如上一节分析的流,文件、网络等模块。 比较知名的 Express、KOA 等框架在其内部也使用了 Events 模块。 Events 模块提供了EventEmitter类,EventEmitter 也叫事件触发器, 阅读全文
posted @ 2022-06-24 09:52 咖啡机(K.F.J) 阅读(984) 评论(0) 推荐(0) 编辑
Node.js精进(3)——流
摘要:在 JavaScript 中,一般只处理字符串层面的数据,但是在 Node.js 中,需要处理网络、文件等二进制数据。 由此,引入了Buffer和Stream的概念,两者都是字节层面的操作。 Buffer 表示一块专门存放二进制数据的缓冲区。Stream 表示流,一种有序、有起点和终点的二进制传输手 阅读全文
posted @ 2022-06-21 08:18 咖啡机(K.F.J) 阅读(512) 评论(0) 推荐(1) 编辑
Node.js精进(2)——异步编程
摘要:虽然 Node.js 是单线程的,但是在融合了libuv后,使其有能力非常简单地就构建出高性能和可扩展的网络应用程序。 下图是 Node.js 的简单架构图,基于 V8 和 libuv,其中 Node Bindings 为 JavaScript 和 C++ 搭建了一座沟通的桥梁,使得 JavaScr 阅读全文
posted @ 2022-06-15 08:03 咖啡机(K.F.J) 阅读(542) 评论(0) 推荐(4) 编辑
Node.js精进(1)——模块化
摘要:模块化是一种将软件功能抽离成独立、可交互的软件设计技术,能促进大型应用程序和系统的构建。 Node.js内置了两种模块系统,分别是默认的CommonJS模块和浏览器所支持的ECMAScript模块。 其中,ECMAScript模块是在8.5.0版本中新增的,后面又经过了几轮的迭代。本文若无特别说明, 阅读全文
posted @ 2022-06-13 07:53 咖啡机(K.F.J) 阅读(538) 评论(0) 推荐(1) 编辑