Vai al contenuto
OneKitly
Daniel Okonkwo

Articoli di Daniel Okonkwo

Sviluppatore front-end e redattore Tech · Vedi il profilo

· 3 min di lettura

Basi delle regex: guida per principianti

Un'espressione regolare è un modello per cercare testo. Ecco i mattoni — classi di caratteri, quantificatori e ancore — con un esempio.

· 3 min di lettura

Cos'è un codice QR?

Un codice QR è un codice a barre 2D che una fotocamera legge per aprire un link o testo. Ecco cos'è, perché contiene tanto, la sua anatomia e una nota di sicurezza.

· 12 min di lettura

Contare le parole è ambiguo, e ogni strumento risponde in modo diverso

Un conteggio di parole è una definizione, non una misura. Abbiamo contato lo stesso paragrafo in quattro modi ottenendo 25, 28, 33 e 38; poi abbiamo contato 50.000 caratteri di prosa ordinaria ottenendo accordo entro il 4,5 %. Lo scarto dipende interamente da composti, cifre e URL.

· 13 min di lettura

Formattare i numeri per sei lingue: separatori, valuta e il ritorno al valore

1.234,56 e 1,234.56 sono lo stesso numero, e confonderli cambia il valore che un lettore legge. Abbiamo eseguito Intl.NumberFormat per tutte e sei le lingue del sito e stampato ogni separatore — compreso quello invisibile usato dal francese — e poi misurato perché parseFloat non può disfare nulla di tutto ciò.

· 2 min di lettura

Cos'è una funzione di hash? (MD5, SHA-256)

Una funzione di hash trasforma qualsiasi input in un'impronta di dimensione fissa. Ecco cosa fa, le sue proprietà chiave, gli usi comuni e quali algoritmi sono sicuri.

· 3 min di lettura

Markdown: guida per principianti

Formatta testo semplice con pochi simboli: # per i titoli, ** per il grassetto, - per le liste. Ecco cos'è il markdown, la sintassi base, perché è ovunque e i trucchi.

· 2 min di lettura

Cos'è un JWT (JSON Web Token)?

Un JWT è un token compatto e firmato che trasporta identità tra servizi. Ecco le sue tre parti, l'uso per l'autenticazione e i limiti di sicurezza.

· 3 min di lettura

Conteggio parole: tempo di lettura e limiti

Un conteggio parole sono parole separate da spazi. Ecco come si conta, perché esistono limiti, come si traduce in pagine e tempo di lettura, e quando contano i caratteri.

· 2 min di lettura

Cos'è un UUID (e quando usarlo)?

Un UUID è un identificatore a 128 bit unico senza autorità centrale. Ecco come appare, perché è utile, le versioni e quando usarne uno.

· 19 min di lettura

Frame rate, timecode e il drop-frame che non scarta nulla

Fotogrammi = durata × frequenza è banale finché la frequenza non è 29,97. Il timecode non-drop deriva allora di esattamente 3,6 secondi all'ora. Il drop-frame corregge saltando 108 numeri di fotogramma — gli stessi 108 — ma la correzione non è perfetta: contare ogni fotogramma rivela un residuo di 3,6 millisecondi all'ora.

· 16 min di lettura

Quanto pesa quel file audio?

La dimensione dell'audio non compresso è aritmetica esatta: frequenza di campionamento × profondità di bit × canali × secondi ÷ 8. L'audio CD fa 176 400 byte al secondo. Un MP3 a 320 kbps, invece, è bitrate × durata e non dipende affatto dalla frequenza di campionamento — 2 400 000 byte al minuto, che venga da 44,1 o da 48 kHz.

· 17 min di lettura

Gradienti, banding e perché il centro sembra spento

Interpolare in sRGB fa la media di numeri codificati in gamma: il punto medio da rosso a verde è #808000 quando la risposta a mezza luce è #bcbc00 — il 57,2 % di luce in meno. Il banding è un problema aritmetico distinto: 8 bit danno 256 gradini, e un gradiente scuro può averne solo 28. Ecco entrambi, calcolati.

· 16 min di lettura

Gli schemi di colore sono geometria su una ruota — e la ruota è sbagliata

Complementare, triade, analogo e complementare diviso sono solo rotazioni: aggiungi 180°, 120°, 30° o 150° a una tinta. L'aritmetica è banale. Il problema è che il cerchio delle tinte HSL non è percettivamente uniforme — giallo e blu alla stessa luminosità HSL differiscono di 12,85 volte in luminanza — quindi una tavolozza generata va poi verificata nel contrasto.

· 18 min di lettura

Risoluzione dello schermo, densità di pixel e i numeri del marketing

Una diagonale più un rapporto d'aspetto danno larghezza e altezza per Pitagora, e il risultato non è quello che il marketing lascia intendere: un 27 pollici in 21:9 ha il 16,2 % di superficie in meno di un 27 pollici in 16:9. Poi i pixel per grado, che mostrano come il telefono col PPI più alto non sia la cosa più nitida che possiedi.

· 20 min di lettura

La formattazione SQL e la clausola IN che rompe la produzione

Costruire una lista IN per concatenazione di stringhe è insieme il classico vettore di iniezione e un dirupo prestazionale. La parametrizzazione risolve il primo strutturalmente, perché il piano è compilato prima che arrivi qualsiasi valore. Il secondo richiede aritmetica: i tetti di parametri documentati dai produttori, e cosa fa a una cache dei piani una query il cui testo cambia a ogni lunghezza di lista.

· 18 min di lettura

YAML sembra amichevole e morde

YAML è JSON più uno strato di inferenza dei tipi, ed è l'inferenza la parte pericolosa. Lo stesso file passato in un analizzatore YAML 1.2 e in uno 1.1: no è una stringa nell'uno e false nell'altro, 01234 è 1234 nell'uno e 668 nell'altro, e 12:30:00 è un numero in uno dei due.

· 19 min di lettura

JSON è più semplice di quanto pensi, ed è questo il problema

JSON non ha un tipo intero, né un tipo data, né commenti, né schema. Ognuna di queste assenze produce un bug preciso: un identificatore di 19 cifre torna sbagliato di 21, un timestamp diventa una stringa su cui nessuno si è accordato, NaN non si può scrivere e le chiavi duplicate sono legali. Tutto eseguito, in due linguaggi.

· 4 min di lettura

Quanto tempo per scaricare un file? Tempo, bit e byte, e overhead

Stima il tempo di download da dimensione del file e velocità di connessione. Impara la formula dimensione ÷ velocità, la cruciale conversione tra bit e byte (dividere per 8) e perché i download reali sono più lenti di quanto preveda il calcolo.

· 3 min di lettura

Cos'è un'espressione cron?

Un'espressione cron pianifica l'esecuzione automatica di un'attività a orari fissati. Ecco a cosa serve, i suoi cinque campi, come leggerla, e i tranelli comuni.