Programeri

Alati za programere — UUID-ovi, vremenske oznake, Base64, brojevni sistemi i kodovi, sve radi van mreže u pregledniku.

Identifikatori i vrijeme

3

Kodiranje

5

Boje i tekst

6

Grupisano po situaciji, ne po formatu

Ova kategorija nije toliko tema koliko fioka. Alati u njoj su male konverzije koje vam trebaju dok je nešto drugo zapravo zadatak, pa su ovdje navedeni prema situaciji u kojoj posežete za njima.

“Postoji neprozirni string u ovom logu i ne znam šta je.” Ako izgleda kao 550e8400-e29b-41d4-a716-446655440000, dekoder UUID-a kaže vam verziju i, za v1, v6 i v7, vremensku oznaku kada je napravljen. Ako izgleda kao SGVsbG8= ili završava sa ==, to je Base64 — dekodirajte ga. Ako je gol desetocifreni broj koji počinje sa 17, to je Unix vremenska oznaka iz otprilike ovog trenutka.

“Treba mi ID.” Generator UUID-ova pravi v1 i v3 do v7 i proizvešće hiljade odjednom za popunjavanje testne baze podataka.

“Ova vremenska oznaka je pogrešna za faktor hiljadu.” Sekunde ili milisekunde — konverter vremenskih oznaka radi s oboje i pokazuje vam koje ste dali.

“Treba mi ovaj data URI kao pravi fajl.” Ili obrnuto: Base64 u sliku.

“Koja je tačno ta boja?” Birač boja za konverziju između zapisa, birač boja iz slike za čitanje vrijednosti iz snimka ekrana ili maketa.

“Ovo treba biti snake_case, a trenutno je camelCase.” Konverter velikih/malih slova.

“Koliko je 0xDEADBEEF u decimalnom zapisu, i šta se dešava ako je označen predznakom?” Konverter brojevnih sistema, koji za razliku od većine drugih rukuje negativnim brojevima i dvojnim komplementom.

Identifikatori otkrivaju više nego što ljudi očekuju

Jedna stvar koja se provlači kroz cijelu kategoriju i vrijedi je reći ovdje, jer je nijedna pojedinačna stranica alata ne pokriva: nekoliko ovih formata nosi informacije koje niste namjeravali objaviti.

UUID v1 sadrži vremensku oznaku i MAC adresu mašine. To je bio originalni dizajn — jedinstvenost garantovana pravilom “ova mašina, u ovom trenutku”. To takođe znači da v1 UUID u javnom URL-u svakome ko ga vidi kaže tačno kada je zapis napravljen i daje mu stabilan identifikator servera koji ga je napravio. Ovo možete sami provjeriti tako što ćete nalijepiti jedan u dekoder.

UUID v7 takođe sadrži Unix vremensku oznaku, namjerno, jer je to što sortiranje po ID-u i sortiranje po vremenu nastanka postaje ista stvar izuzetno korisno za lokalnost indeksa baze podataka. Cijena je isto otkrivanje: v7 ID-jevi su poredani, pa njihovo javno izlaganje otkriva vrijeme nastanka i omogućava nekome da procijeni koliko zapisa pravite po satu posmatrajući samo dva njih.

v4 je onaj koji ne otkriva ništa — 122 bita nasumičnosti i nikakva struktura. Zato ostaje podrazumijevani izbor za sve što je vidljivo korisniku, i zato je “koristi v7 za primarni ključ, v4 za javni identifikator” razumno pravilo za istu tabelu.

Base64 otkriva sve, odmah, bilo kome. To nije prikrivanje. Kubernetes tajna se kodira u Base64 kako bi binarne vrijednosti preživjele YAML, ne da bi ih zaštitila.

Sve na ovoj stranici radi lokalno, što je za ovu kategoriju bitnije nego za većinu drugih: produkcijski identifikatori, tokeni i fragmenti logova su tačno ono što ne bi trebalo nalijepiti na tuđi server da bi se dekodiralo.

Cijenio bih ako biste podijelili ove stranice s prijateljima, spremili ih u favorite ili linkali na njih. Hvala! 🙏