DevToolGrid Online DevToolGrid Online
DevToolGrid Online

Poradniki i artykuły

Przeglądaj poradniki DevToolGrid Online dla narzędzi JSON, Base64, URL, JWT, Regex, czasu, UUID, hash i HTML.

JWT

Jak naprawdę działa JSON Web Token

JWT przenosi podpisane claims w kompaktowym formacie. Nie jest jednak automatycznie zaszyfrowany ani kompletnym systemem logowania.

Czytaj artykuł / 8 min czytania
Regex

Jak wyrażenia regularne czytają tekst

Regex staje się zrozumiały, gdy wzorzec czytamy jako sekwencję pozycji, klas znaków, powtórzeń, grup i alternatyw.

Czytaj artykuł / 8 min czytania
URL

Jak URL zamienia tekst w jednoznaczny adres

Scheme, host, path, query i fragment pełnią różne role. Dopiero ich poprawne rozdzielenie tworzy stabilny i bezpieczny adres.

Czytaj artykuł / 8 min czytania
UUID

Jak UUID tworzy identyfikatory bez centralnej koordynacji

UUID pozwala wielu systemom niezależnie nadawać ID z bardzo małym ryzykiem kolizji, ale nie zastępuje dobrego modelu danych.

Czytaj artykuł / 8 min czytania
Time

Unix time i trudny problem reprezentowania chwili „teraz”

Timestamp sprowadza moment do liczby, lecz jednostka, precyzja, strefa i zachowanie zegara nadal należą do kontraktu.

Czytaj artykuł / 8 min czytania
Hash

Co naprawdę potwierdza hash kryptograficzny

Hash jest krótkim fingerprintem dokładnych bajtów. Jego wartość zależy od algorytmu, zaufanego wyniku oczekiwanego i kontekstu.

Czytaj artykuł / 8 min czytania
Base64

Czym jest kodowanie Base64 i dlaczego nadal go używamy?

Base64 zamienia dowolne bajty na przenośny tekst. Rozwiązuje problem transportu danych binarnych, ale nie zapewnia poufności ani kompresji.

Czytaj artykuł / 8 min czytania
HTML

Dlaczego istnieją encje HTML

Character references pozwalają odróżnić widoczny tekst od składni HTML, ale poprawne escaping zawsze zależy od kontekstu.

Czytaj artykuł / 8 min czytania
JSON

Dlaczego JSON stał się wspólnym językiem webowych API

JSON wygrał dzięki niewielkiej składni, naturalnemu modelowi danych i powszechnym narzędziom, a nie dlatego, że rozwiązuje każdy problem.

Czytaj artykuł / 8 min czytania
Regex

Jak unikać katastrofalnego backtrackingu w regex

Nakładające się powtórzenia mogą zwiększać koszt wykładniczo. Precyzyjny wzorzec, limity i właściwa engine chronią przed ReDoS.

Czytaj artykuł / 8 min czytania
Base64

Base64 i Base64URL: podobny algorytm, inny kontrakt

Base64URL zmienia problematyczne znaki i zasady paddingu, dzięki czemu lepiej pasuje do adresów, cookies i segmentów JWT.

Czytaj artykuł / 8 min czytania
Hash

Checksum, hash, MAC czy podpis cyfrowy?

Podobne krótkie wartości odpowiadają na inne pytania: przypadkowy błąd, zgodność bajtów, wspólny sekret albo publiczna weryfikacja.

Czytaj artykuł / 8 min czytania
UUID

Jak wybrać właściwą wersję UUID

UUIDv4, UUIDv7 i wersje name-based optymalizują inne cechy: losowość, kolejność czasową albo deterministyczne mapowanie.

Czytaj artykuł / 8 min czytania
JSON

Jak diagnozować niepoprawny JSON w prawdziwej aplikacji

Błąd parsera może oznaczać HTML z proxy, uciętą odpowiedź, zły charset lub podwójną serializację, a nie tylko brak przecinka.

Czytaj artykuł / 8 min czytania
URL

Jak projektować czyste, trwałe i udostępnialne URL

Publiczny adres jest obietnicą produktu. Potrzebuje kanonicznej formy, redirectów, ochrony prywatności i strategii językowej.

Czytaj artykuł / 8 min czytania
JSON

Jak projektować JSON API odporne na zmiany

Długowieczne API opiera się na stabilnym znaczeniu pól, zmianach addytywnych, dobrych błędach i kontrolowanych migracjach.

Czytaj artykuł / 9 min czytania
Time

Jak projektować niezawodne systemy oparte na czasie

Scheduler potrzebuje trwałego planu, idempotency, retry i jawnej polityki dla opóźnień, awarii oraz zmiany czasu.

Czytaj artykuł / 8 min czytania
HTML

HTML encoding, decoding i jakość danych tekstowych

Widoczne encje zwykle oznaczają niejasną odpowiedzialność storage, API, editora i template, a nie brak kolejnego decode.

Czytaj artykuł / 8 min czytania
JWT

Błędy bezpieczeństwa JWT i sposoby ich unikania

Ryzyko JWT powstaje najczęściej w algorytmach, claims, kluczach, storage i revocation, a nie w samym formacie tokena.

Czytaj artykuł / 9 min czytania
JWT

JWT czy sesja serwerowa: jak wybrać model logowania

JWT i sesje inaczej rozmieszczają stan. Wybór zależy od revocation, rodzaju klientów, granic usług i funkcji produktu.

Czytaj artykuł / 8 min czytania
HTML

Jak zapobiegać XSS przez kontekstowe output encoding

Ochrona przed XSS wymaga utrzymania danych poza wykonywalnymi kontekstami i kodowania ich zgodnie z miejscem użycia.

Czytaj artykuł / 9 min czytania
Time

Strefy czasowe, zmiana czasu i niespodzianki kalendarza

Strefa to zestaw historycznych reguł, nie stały offset. DST tworzy nieistniejące i podwójne godziny wymagające jawnej polityki.

Czytaj artykuł / 8 min czytania
URL

Błędy URL encoding, które naprawdę psują aplikacje

Niewłaściwie zakodowany plus, slash lub ampersand może zmienić routing, podpis, cache i decyzję autoryzacyjną.

Czytaj artykuł / 8 min czytania
UUID

Najczęstsze błędy UUID w bazach danych i API

Zły typ kolumny, przypadkowy index, słaba walidacja i traktowanie UUID jak sekretu tworzą problemy poza samym generatorem.

Czytaj artykuł / 8 min czytania
Base64

Kiedy Base64 jest niewłaściwym rozwiązaniem

Base64 pomaga na granicach tekstowych, ale zwiększa payload, utrudnia streaming i nie zastępuje szyfrowania, hashy ani dobrego storage.

Czytaj artykuł / 8 min czytania
Hash

Dlaczego hasła wymagają specjalnego hashowania

Szybki hash ułatwia atak offline. Hasła potrzebują salt, celowo kosztownej funkcji, aktualizowanych parametrów i planu reakcji.

Czytaj artykuł / 8 min czytania
Regex

Jak pisać wyrażenia regularne, które da się utrzymywać

Czytelny regex ma ograniczony cel, jawne kotwice, nazwane grupy, realistyczne testy i nie próbuje zastąpić pełnego parsera.

Czytaj artykuł / 8 min czytania