为了账号安全,请及时绑定邮箱和手机立即绑定
立即订阅 试读

扫一扫 手机阅读

作者简言

大家好,我是双越老师,在慕课网出过《前端JavaScript面试技巧》等多门实战课,同时也是PMP、开源编辑器wangEditor作者。想成为node.js高手,掌握stream必不可少,而很多前端同学很少接触server端开发,学习stream会遇到很多困难,别担心,本专栏带你轻松学会它!

双越

如果你正在学习或者使用 node.js ,那么 stream (即“流”)是一个你必须要掌握的概念。如果你想成为 node.js 高手,stream 一定是武功秘籍中不可缺少的一部分。然而对于很多前端同学来说,由于很少接触 server 端开发,所以学习 stream 会遇到很多困难,本课程就带你轻松学会 node.js 的概念和使用。

什么是 stream

在编写代码时,我们应该有一些方法将程序像连接水管一样连接起来 – 当我们需要获取一些数据时,可以去通过"拧"其他的部分来达到目的。这也应该是 I/O 应有的方式。 – Doug McIlroy. October 11, 1964

stream 并不是 node.js 特有的。从早先的 unix 开始,stream 便开始进入了人们的视野,在过去的几十年的时间里,它被证明是一种可依赖的编程方式,它可以将一个大型的系统拆成一些很小的部分,并且让这些部分之间完美地进行合作。因此,只要有 I/O 操作,肯定会用到 stream 。

为何要学习 stream

node.js 是为 server 端设计的,常被用来开发网络服务器(如 express koa)或者前端构建工具(如 webpack babel)。这两种常用的应用场景,都离不开 I/O 操作。网络服务器要进行网络 I/O 操作,即处理 http 请求。前端构建工具要进行文件 I/O 操作,即文件的读写。因此,node.js 离不开 I/O 操作,也就离不开 stream 。

stream 的理念是用类似流动的方式一点一点的读写数据。这使得在网络带宽、内存空间有限的情况下,能操作更大的数据,极大提升了性能。对于同样的 I/O 操作,使用 stream 会带来巨大的性能提升,这一点对于 server 端开发尤为重要。

stream 的正确学习方式

网络上一些介绍 stream 的课程和博客,一开始就讲解一些概念,如 stream 有几种类型,每种类型什么样子…… 而没有告诉你 stream 用在哪里、为什么要用。这种公式化、死板的讲解方式让很多同学一开始就四处碰壁,外加前端同学较少了解 server 端的开发方式,因此感觉 stream 特别难学。

本课程反其道而行之,介绍几个常用的 stream API 之后,立刻就进入常见的应用场景,带你从实际的例子中体会 stream 。stream 带来的性能提升,会先测试出具体的性能数据,再进行对比分析。用一种看得见、摸得着的方式学习 stream ,不仅仅是概念,还有它的应用和价值。

你能学到什么
  • stream 基本概念
  • stream 的常用应用场景:http 请求、文件操作
  • 使用 stream 带来的性能提升,以及性能和内存监测工具的使用
适合人群
  • 前端工程师,node.js 初学者,对 node.js 感兴趣的同学
  • node.js 已入门,但还不熟悉 stream 使用的同学
  • 技术储备: javascript 基本语法,node.js 和 npm 的基本使用
专栏目录
作者介绍

双越

Web前端工程师

前端高级工程师,PMP,开源编辑器 wangEditor 作者。他编写的《深入理解JavaScript原型和闭包》博客阅读量已超百万。同时也是慕课网热门讲师,在慕课网推出多门热门课程,学员评价极高:
TA的实战课程

热门评价

查看全部评价
查看全部评价
购买须知
  1. 本专栏为图文形式内容服务,共计8小节,上线时间为 2018 年 11 月12 日;
  2. 订阅福利
    每邀请一位好友订阅,你将获得3元返现。多邀多得,上不封顶,随时提现。(提现流程:慕课网App-账号-推广赚钱)
  3. 订阅成功后,用户即可通过慕课网PC端、App端、WAP端享有永久阅读的权限;
  4. 慕课专栏为虚拟内容服务,一经购买成功,概不退款;
  5. 在专栏阅读过程中,如有任何问题,请邮件联系kf@imooc.com;
  6. 慕课专栏版权归北京奥鹏远程教育中心有限公司所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。
专栏所属标签
推荐专栏
更多

下载慕课网APP

更好的体验,让阅读随处可得

扫描二维码,下载慕课网APP
意见反馈 去赚学费 帮助中心 APP下载
官方微信