Програмери

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

Идентификатори и време

3

Кодирање

5

Боје и текст

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 pravi zadatak, pa su ovde poređani prema situaciji u kojoj posežete za njima.

“U ovom logu je nepoznat string i ne znam šta je to.” Ako izgleda kao 550e8400-e29b-41d4-a716-446655440000, dekoder UUID-a kaže vam verziju, a za v1, v6 i v7 i vremensku oznaku kad je napravljen. Ako izgleda kao SGVsbG8= ili se završava na ==, to je Base64 — dekodirajte ga. Ako je goli broj od deset cifara koji počinje sa 17, to je Unix vremenska oznaka otprilike od sada.

“Treba mi ID.” Generator UUID-a pravi v1 i od v3 do v7 i može da proizvede hiljade odjednom za popunjavanje test baze podataka.

“Ova vremenska oznaka je pogrešna za faktor hiljadu.” Sekunde ili milisekunde — konvertor vremenskih oznaka radi sa oba i pokazuje vam koje ste mu dali.

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

“Koja je tačno ova boja?” Birač boja za konverziju između notacija, birač boje sa slike za čitanje vrednosti sa snimka ekrana ili makete.

“Ovo treba da bude snake_case, a trenutno je camelCase.” Konvertor formata teksta.

“Koliko je 0xDEADBEEF u decimalnom zapisu, i šta ako je sa predznakom?” Konvertor brojevnih sistema, koji, za razliku od većine, radi sa negativnim brojevima i komplementom dvojke.

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

Jedna stvar koja se provlači kroz sve i koju vredi reći ovde, jer je nijedna pojedinačna stranica alata ne pokriva: nekoliko ovih formata nosi informacije koje niste nameravali da objavite.

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

UUID v7 takođe sadrži Unix vremensku oznaku, namerno, jer je to što sortiranje po ID-u i sortiranje po vremenu kreiranja predstavljaju istu stvar izuzetno korisno za lokalnost indeksa baze podataka. Cena je isto otkrivanje: v7 ID-jevi su uređeni, pa njihovo javno izlaganje otkriva vreme kreiranja i omogućava nekome da proceni koliko zapisa pravite po satu posmatrajući samo dva od njih.

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

Base64 otkriva sve, trenutno, bilo kome. To nije zamagljivanje. Kubernetes secret se kodira u Base64 da bi binarne vrednosti preživele YAML, a ne da bi se zaštitile.

Sve na ovoj stranici radi lokalno, što je za ovu kategoriju bitnije nego za većinu: produkcioni identifikatori, tokeni i delovi loga su tačno ono što ne bi trebalo da se nalepi na tuđi server radi dekodiranja.

Ценио бих ако бисте поделили ове странице са пријатељима, сачували их у обележиваче или линковали на њих. Хвала! 🙏