2016-10-03 雑記 -- オブジェクト指向入門上巻を読んだ / WHATWG Streams 経過報告
『オブジェクト指向入門 第2版 原則・コンセプト (OOSC: Object-oriented Software Construction) をざっと読んだ。流し読みになっているので、読み直す。6章の抽象データ型や11章の契約による設計などが面白かった気がする。最後まで読むと最初の頃の感想が正確でなくなっていくのを感じる。老化。
bouzuya/whatwg-streams-example で whatwg/streams の参考実装を試している。TypeScript で .d.ts
を書きながら動かして、仕様書を眺めつつ、実装を読んで進めている。
まず Model をよく知るべきだ。仕様書の 2 章の Model は最初に読んだほうがいい。日本語訳を読んでもいい。実装をいきなり眺めるとよく分からなくなる。どういう Model なのかを押さえたほうがいい。
日本語の発表資料や blog 記事などがいくつか見つかるので挙げておく。
- 2014-10-31 WHATWGがWebストリームを標準化
- Model とほとんど同じ。2014 時点のこの仕様の将来の方向。
- (Push,Pull)Source, Sink, (Readable,Writable,Transform)Stream, chunk, Consumer, Producer, Back Pressure, Internal Queue, Queuing Strategy
- Lock に触れていないのが気になる。
- 2015-02-01 WHATWG Streams APIについてのメモ - maru source
- 次の流れを書いている点、code を含めて書いてある点が良い。
- underlying source => Readable Streams => consumer
- producer => Writable Streams => underlying sink
- 各項目にはきちんと触れており、網羅的。
- 次の流れを書いている点、code を含めて書いてある点が良い。
- 2016-08-08 stream between nodejs and whatwg // Speaker Deck
- Node.js の Stream と比較した発表資料。
- Single Consumer (Lock) や Back Pressure に触れており良い。
- 2015-03-21 Streams 仕様読んだ - Qiita
- 利用者視点・実用観点。
- 説明は荒い (その分だけ短い) ので、この記事のあとは仕様を読んだほうが良い。
- 2014-11-01 Stream API がブラウザにやってくる - Block Rockin’ Codes
- 紹介記事。 API と Example 。
- Lock には触れていない。
meta な話として、仕様書を読み慣れていなくてダメだ。情報源をあたるように心がけたい。