Konrad Kowalski (rootsher)Principal Platform & Reliability Architect110001110100011111100011100010101000110011001101

Blog - Konrad Kowalski (rootsher)

wpisy (112)

  1. Warstwy HTTP w przeglądarce: od fetch() do QUIC1/9

    Request i Response: co faktycznie wysyła browser?

    Request to nie URL, a odpowiedź HTTP to nie zawsze JSON. Headers i body mają osobny lifecycle, a błąd HTTP nie jest awarią sieci.

  2. Testowanie przez warstwy: od kodu do infrastruktury5/9

    E2E tests i visual regression tests: pełna ścieżka użytkownika

    E2E test przechodzi przez system tak, jak robi to użytkownik, a visual regression test pilnuje wyglądu. Są mocne, ale drogie, więc powinny chronić…

  3. Deployment strategies: po co w ogóle są3/6

    Canary deployment: nowa wersja dostaje część ruchu

    Canary ogranicza blast radius przez mały procent prawdziwego ruchu. Bez metryk jest tylko wolniejszym rolloutem.

  4. seria · 9 części

    Warstwy HTTP w przeglądarce: od fetch() do QUIC

    Dwie linie z fetch() zakrywają kilka warstw: browser API, semantykę HTTP, wire protocol i transport. Seria rozdziela je tak, żeby Network panel dał się czytać.

  5. Frontend Rendering: od server-side pages do hybrydowego renderowania16/17

    Server Components: nie cały kod UI musi trafić do browsera

    Granica renderowania przestaje przebiegać przez stronę, a zaczyna przez graf modułów. Część komponentów nigdy nie ma implementacji po stronie klienta.

  6. Deployment strategies: po co w ogóle są2/6

    Blue-green deployment: dwie wersje, jeden ruch

    Blue-green rozdziela wdrożenie od przełączenia ruchu. Rollback może być szybki, ale dane nadal nie cofają się razem z routingiem.

  7. Testowanie przez warstwy: od kodu do infrastruktury4/9

    Contract tests i API tests: publiczna umowa systemu

    Contract test pilnuje umowy między systemami, a API test sprawdza zachowanie publicznego interfejsu. Oba są potrzebne tam, gdzie zmiana przestaje być prywatna.

  8. Realtime w przeglądarce: od pollingu do WebTransport7/7

    Polling, Streaming, SSE, WebSocket czy WebTransport?

    Wybór wynika z modelu ruchu: świeżości danych, kierunku, częstotliwości, kolejności i niezawodności. Najprostszy poprawny mechanizm zwykle wygrywa.

  9. Recovery od podstaw: rollback, PITR i powrót po awarii2/5

    Cofanie wydania: kod to najłatwiejsza część

    Rollback wydania często wygląda jak powrót do poprzedniego obrazu aplikacji. W praktyce najtrudniejsze są dane, migracje i skutki uboczne, które już wyszły…

  10. Deployment strategies: po co w ogóle są1/6

    Rolling update: wymiana po kawałku

    Rolling update usuwa downtime podmiany wersji, ale działa poprawnie tylko wtedy, gdy stara i nowa wersja mogą przez chwilę żyć razem.