Tag 3 - Stream und Buffer: Die Rohre und Eimer des Backends
📇 Konzeptkarte #1: Buffer — Ein Standard-Übergabeeimer
Ein Speicherelement mit fester Größe. Kann Bytes speichern, zwischen Encodierungen konvertieren (UTF-8, Base64). Stellen Sie sich eine Box vor, die genau 16 Gegenstände fasst, nicht mehr, nicht weniger.
📇 Konzeptkarte #2: Stream — Ein Fließband, Kein Lastwagen
Laden Sie keine 2-GB-Datei in den Speicher. Streamen Sie: Chunk lesen, verarbeiten, verwerfen, wiederholen. Der Speicher bleibt konstant. Readable, Writable, Transform, Duplex.
backpressure: Wenn das Rohr verstopft
write() gibt false zurück = "Stopp, ich bin voll". Pause der Quelle. Fortsetzen, wenn drain-Event feuert. Falschen gemacht und Sie abstürzen: 2GB-Datei → Speicherexplosion.