codepath / codepath/nodejs_guides

Streams

未关闭
#2 0 条评论 0 个 reaction 已指派 1 人 已被 @CrabDude 认领 在 GitHub 查看
help wanted
主要语言
没有语言数据
星标
74
派生
18
PR 合并指标
30 天内没有已合并 PR

描述

1. Break the below into coherent sections
2. Explain unix pipes and their corollary with node.js streams (explaining the concept of node.js streams as well)
3. Explain the need for streams (memory pressure, decreased latency, CPU amortization & convenience)
4. Lead with `.pipe` examples
- Emphasize that source streams can be piped to multiple destination streams
- Show example of piping from multiple source streams (`readable.pipe(writable, {end: false})`)
5. Cover the basics: .read(), .write(), .pause(), .resume & events: 'data', 'close', 'error'
6. Mention briefly push vs pull-based streams and how Streams 2/3 uses pull streams
7. Mention how back-pressure is handled
8. Briefly explain buffers, link to a reference (docs or blog post or guide), and show `String(buffer)`
9. Show 2 simple as possible examples of **consuming** (read: piping) each of the 4 stream types. You should use the most common examples e.g., req/res, through, fs read/write.
10. Provide a common use case (e.g., A common type of duplex stream would be a WebSocket).
11. Strongly recommend working through the stream-adventure nodeschool.io workshop and provide a screen shot of the stream-adventure exercise selection menu.

**Advanced section:**
1. Explain object mode briefly, provide minimalist example and provide link to a more comprehensive explanation
1. Provide code samples on how to create your own streams (i.e., [.push, _read](https://github.com/substack/stream-handbook#creating-a-readable-stream), _write & _transform) and additional links
1. Show of JSON streaming example & explain **!!LOUDLY!!** how JSON.parse/stringify are the #1 cause of CPU blocking in node.js

The [stream handbook](https://github.com/substack/stream-handbook#introduction) is nice, but it's too verbose and needs more structure. In general the examples are good, so use them.

**What success looks like: Succinctness and clarity. Less is more.**
Reference Wikis: [Authentication & Authorization](https://github.com/codepath/nodejs_guides/wiki/Authorization-&-Authentication), [Setup](https://github.com/codepath/nodejs_guides/wiki/Setup)

Open separate issues for required links to community sources if you're having trouble finding any.

_Please assign to yourself before working on this._
/cc @NinjaSudo @philster @azoff @DiyahM

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。