为了账号安全,请及时绑定邮箱和手机立即绑定
编程百科手册

扫一扫 手机阅读

课程目录已更新8节
全部 试读

课程亮点

  • stream 基本概念
  • stream 的常用应用场景
  • 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 ,不仅仅是概念,还有它的应用和价值。

课程目录已更新8节
适合人群
  • 前端工程师,node.js 初学者,对 node.js 感兴趣的同学
  • node.js 已入门,但还不熟悉 stream 使用的同学
  • 技术储备: javascript 基本语法,node.js 和 npm 的基本使用
购买须知
  1. 本专栏为图文形式内容服务,共计 8 小节,上线时间为 2018 年 11 月 12 日;
  2. 订阅成功后,用户即可通过慕课网PC端、App端、WAP端享有永久阅读的权限;
  3. 慕课专栏为虚拟内容服务,一经购买成功,概不退款;
  4. 在专栏阅读过程中,如有任何问题,请邮件联系kf@imooc.com;
  5. 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。
造烛求明,读书求理
扫码关注慕课网服务号
干货分享
定期活动
课程优惠
专栏福利
官方优惠福利活动一手掌握,关注慕课网(ID:imooc-com),和30万+程序员一起成长!

下载慕课网APP

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

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