博客主题访问地址:https://github.com/logan70/logan70.github.io
流(stream)是一种在 Node.js 中处理流式数据的抽象接口。流可以是可读的、可写的、或是可读写的。
Node.js 中有四种基本的流类型:
Writable
: 可写入数据的流(例如 fs.createWriteStream()
)。Readable
: 可读取数据的流(例如 fs.createReadStream()
)。Duplex
: 可读又可写的流(例如 net.Socket
)。Transform
: 在读写过程中可以修改或转换数据的 Duplex 流(例如 zlib.createDeflate()
)。const fs = require('fs')
在 ES6 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 NodeJS API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。Buffer 属于 Global 对象,使用时不需引入,且 Buffer 的大小在创建时确定,无法调整。
注意:
在v6.0之前创建Buffer对象直接使用new Buffer()
构造函数来创建对象实例,但是Buffer对内存的权限操作相比很大,可以直接捕获一些敏感信息,所以在v6.0以后,官方文档里面建议使用 Buffer.from()
接口去创建Buffer对象。
dir
:列出当前目录下所有文件及文件夹cd dName
:进入指定目录,cd ..
为返回上级目录md
或者mkdir
:创建文件夹rd
或者rmdir
:删除文件夹rd
或者rmdir
:删除文件夹cls
: 清屏exit
: 退出命令行概念
进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程为程序的运行提供了必备的环境。
我们写的代码和程序都是放在进程里面的,相当于工厂中的车间
概念
线程是计算机中的最小计算单位,负责执行进程中的程序
相当于车间中的操作工人
软件使用方式上的两种划分
Client/Server PC客户端、服务器架构
特点
在服务器当中就主要是一个数据库,把所有的业务逻辑以及界面都交给客户端完成
优点
较为安全、用户界面丰富、用户体验好
缺点
每次升级都要重新安装,针对于不同的操作系统开发,可移植性差
Browser/Server 浏览器/服务器架构
特点
基于浏览器访问的应用,把业务层交给服务器来完成,客户端仅仅做页面的渲染和数据的交换
优点
只开发服务器端,可以跨平台、移植性很强
缺点
安全性比较低,用户体验较差
Node.js之父
Ryan Dahl : 2009年推出Node.js, 2012年退出Node.js, 转战Go语言
Node.js出现的背景
为了解决Web服务器的高并发性能问题
什么是V8引擎
一款专门对JavaScript语言进行解释和执行的流程虚拟机
比如把V8引擎嵌入到浏览器中,那么我们写的JavaScript代码就会被浏览器所执行;如果把V8引擎嵌入到NodeJS环境下,那我我们写的JavaScript代码就会被服务器所执行
只要V8引擎能够嵌入到不同的宿主环境中,那么就可以用JavaScript语言来写各种不同领域的应用。-万能的JS