7

私は現在、ノードのストリームに頭を悩ませようとしています。アイデアは浮かんだと思いますが、よくわかりません。私を困惑させるのは、ドミニク・ターによるこの引用です:

ストリームはノードであり、最も誤解されているアイデアです[...]

ドミニクは間違いなく非常に賢い人なので(そして私よりも賢いと思います)、ストリームを本当に正しく理解したのか、それとも要点を見逃したのかはわかりません;-)。したがって、私がストリームをどのように理解したかを説明し、承認または拒否をお願いしたいと思います。

ストリームについての私の基本的な理解は、ストリームはソースからターゲットにデータを転送する抽象的なラッパーであるということです。読み取りと書き込みが可能なストリームと、読み取りと書き込みが可能なデュプレックスストリームがあります。アイデアは、実際のソースまたはターゲットを抽象化することです。これにより、処理している実際のリソースを知る必要なしに、ストリームの処理に集中できます。読み取りおよび/または書き込みのためにストリームにアクセスしているだけです。

Node.jsストリームについての私の理解は正しいですか? 基本的に、これは.NETのストリームの場合と同じ考え方です(これは過去12年ほどの私のバックグラウンドです)。 Node.jsストリームは.NETのストリームとどのように異なりますか?

例を挙げると、ファイルまたはネットワークリソースから読み取るかどうかは関係ありません。ストリームを使用して実際のソースを抽象化し、そのストリームから読み取るだけです。ソースを変更することもできますが、ストリーム読み取りコードはまったく同じように機能します。これは正しいです?

4

1 に答える 1

12

私はあなたがそれを正しく理解したと思います。Nodeのストリームは、ガーデンホースと同じように機能します。ソースと宛先(読み取り/書き込み可能またはデュプレックスストリームのいずれか)を接続できます。また、ストリームの出力を別のストリームの入力に接続して、データの移動方法をさらに拡張することもできます。

サブスタックは、昨年のLXJSカンファレンスでNode.jsのストリームについて素晴らしい講演をしました:
LXJS2012-JamesHalliday-ストリームの素晴らしいパワーを活用する

それは非常に圧縮されていますが(彼は信じられないほど高速にライブコーディングしているため、時々ビデオを一時停止する必要があります)、ストリームがどのように機能するかについて良い印象を与えます。

于 2013-01-27T19:34:08.903 に答える