CodeBlanks Logo Icon CodeBlanks

Stream nedir?

Stream kavramını ve türlerini öğrenirsin.

Stream nedir?

Bir stream (akış), veriyi parça parça işleyen bir veri yapısıdır. Tüm veriyi bir kerede belleğe yüklemeden, chunk (parça) adı verilen küçük dilimler halinde akıtır. Bu, büyük dosyalar veya sürekli gelen verilerde bellek tasarrufu sağlar.

Node.js'te stream'ler stream modülünden gelir. Örneğin Readable.from(["a", "b"]) bir dizeden okuma akışı oluşturur. Stream'ler http isteği, fs dosya okuma ve process.stdout gibi yerlerde karşına çıkar. Veriyi akıtmak, sabit diskten ya da ağdan gelen büyük verileri parça parça işlemenin standart yoludur.

Stream türleri

Node.js'te dört temel stream türü vardır. Readable okuma yönünde akar (kaynak → program). Writable yazma yönünde akar (program → hedef). Duplex hem okur hem yazar (iki yönlü). Transform okurken veriyi dönüştürür ve yazar.

Hepsi stream modülünden içe aktarılır: const { Readable, Writable, Transform } = require("stream");. Readable.from(dizi) en basit okuma akışı oluşturma yoludur; bir diziyi parça listesine çevirir. Sonraki derslerde her türü tek tek inceleyeceğiz.

Uygulama Bir Readable oluştur

stream modülünden Readable içe aktar. Readable.from(["veri"]) ile stream adında bir okuma akışı oluştur. console.log ile "Stream hazır" yaz.

Başlangıç kodu

index.js
// stream modülünden Readable içe aktar
// buraya yaz

// Readable.from ile bir stream oluştur
// buraya yaz

// Hazır mesajını yazdır
// buraya yaz

Örnek çözüm

index.js
const { Readable } = require("stream");
const stream = Readable.from(["veri"]);
console.log("Stream hazır");

Beklenen çıktı

Stream hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Stream kullanmanın temel yararı nedir?

index.js
Readable.from([...])
  • Kodu daha kısa yapar
  • Hataları otomatik yakalar
  • Büyük veriyi parça parça işleyip bellek tasarrufu sağlar Doğru cevap
  • Sadece metin değil yalnızca sayı taşır

Açıklama: Stream'ler veriyi parça parça işleyerek bellek tasarrufu sağlar.

2 Modül adını tamamla

Soru
const { Readable } = require("____");
Cevap
const { Readable } = require("stream");

Açıklama: Stream'lerin yerleşik modülü stream'dir.

3 Türü yönüne eşle

Kavram Anlamı
Readable Kaynaktan okur
Writable Hedefe yazar
Transform Dönüştürerek yazar
Duplex İki yönlü akar

Orta seviye bölümündeki tüm dersler