Programeri

Pomoćni alati za programere — UUID-ovi, vremenske oznake, Base64, brojevni sustavi i kodovi, sve radi izvanmrežno u pregledniku.

Identifikatori i vrijeme

3

Kodiranje

5

Boje i tekst

6

Grupirano prema situaciji, ne prema formatu

Ova kategorija nije toliko tema koliko ladica. Alati u njoj sitne su pretvorbe koje vam trebaju dok je nešto drugo zapravo zadatak, pa su ovdje poredani prema situaciji u kojoj posegnete za njima.

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

“Trebam ID.” Generator UUID-a radi v1 i v3 do v7 i proizvest će tisuće odjednom za popunjavanje testne baze podataka.

“Ova vremenska oznaka je pogrešna za faktor tisuću.” Sekunde ili milisekunde — pretvarač vremenskih oznaka obrađuje oboje i pokazuje vam koje ste mu zadali.

“Trebam ovaj data URI kao pravu datoteku.” Ili obrnuto: Base64 u sliku.

“Koja je to boja točno?” Birač boja za pretvorbu među zapisima, birač boja iz slike za očitavanje vrijednosti iz snimke zaslona ili maketa.

“Ovo treba biti snake_case, a trenutno je camelCase.” Pretvarač veličine slova.

“Koliko je 0xDEADBEEF u decimalnom sustavu, i što ako je s predznakom?” Pretvarač brojevnih sustava, koji za razliku od većine podržava negativne brojeve i dvojni komplement.

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

Jedna stvar zajednička svima, vrijedna spomena upravo ovdje jer je nema na stranici nijednog pojedinog alata: nekoliko ovih formata nosi podatke koje niste namjeravali objaviti.

UUID v1 nosi vremensku oznaku i MAC adresu stroja. To je bio izvorni dizajn — jedinstvenost zajamčena time “ovaj stroj, u ovom trenutku”. To također znači da UUID v1 u javnom URL-u svakome tko mari kaže točno kad je zapis nastao, i daje mu stabilan identifikator poslužitelja koji ga je stvorio. To možete sami potvrditi zalijepivši jedan u dekoder.

UUID v7 također nosi Unix vremensku oznaku, namjerno, jer to što je sortiranje po ID-u isto što i sortiranje po vremenu nastanka izuzetno je korisno za lokalnost indeksa baze podataka. Cijena je isto otkrivanje: v7 ID-jevi su poredani, pa njihovo javno izlaganje otkriva vrijeme nastanka i omogućuje nekome procijeniti koliko zapisa stvarate na sat promatrajući samo dva njih.

v4 je jedina verzija koja ne otkriva ništa — 122 bita slučajnosti i nikakva struktura. Zato ostaje zadana za sve okrenuto korisniku, i zato je “koristite v7 za primarni ključ, v4 za javni identifikator” razumno pravilo za istu tablicu.

Base64 otkriva sve, trenutno, bilo kome. Nije prikrivanje. Kubernetes tajna kodira se u Base64 kako bi binarne vrijednosti preživjele YAML, ne kako bi ih se zaštitilo.

Sve na ovoj stranici radi lokalno, što je za ovu kategoriju važnije nego za većinu ostalih: produkcijski identifikatori, tokeni i ulomci logova upravo su ono što ne bi trebalo zalijepiti na tuđi poslužitelj radi dekodiranja.

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