Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Fetch Derinlemesine: Streaming Response, AbortSignal.any, keepalive, fetchLater ve Angular 22'nin Fetch Backend'i
Büyük bir response'u beklemeden işlemek için response.body'yi TextDecoderStream ile satır satır okursun; timeout ile kullanıcı iptalini AbortSignal.any birleştirir, sayfa kapanırken veri için keepalive ve fetchLater var. Chromium 158 ve WebKit 27.2'de gerçek çıktılarla upload streaming'in HTTP/2 şartını, keepalive'ın 64 KiB sınırını, WebKit farklarını ve Angular 22 HttpClient'ında upload progress için route bazında withXhr() kullanmayı gösteriyoruz.
Node.js Stream'leri: Readable, Writable, Transform, pipeline() ve Backpressure
Node.js stream'leri veriyi parça parça işler; write() false döndüğünde drain'i beklemek, yani backpressure'a uymak belleği sabit tutar ve pipeline() bunu hata yönetimiyle birlikte her aşamaya bağlar. Gerçek ölçümlerle false'u yok sayan producer'ın heap'i 182 MB'a çıkarması, pipe()'ın kaynak dosyayı açık bırakması, 505 MB'lık Bookstore sipariş export'unun 147 MB RSS ile stream edilmesi ve aynı işin bellekte 993 MB tutması.