Vai al contenuto principale
riqo.ioStrumenti per grandi idee
Guide

Capire meglio, scegliere con criterio

Approfondimenti pratici e ragionati su formati, testo, sicurezza, identificatori e concetti che incontriamo ogni giorno nel software.

Tutte le categorie
Ordina

Base64: codifica binaria in formato testuale

Come Base64 trasforma byte in testo ASCII, perché aumenta la dimensione e quali varianti usare nei diversi protocolli.

Bit, byte, nibble, fixed-width integer e complemento a due

Come i calcolatori rappresentano bit e interi signed, e perché larghezza e interpretazione cambiano il valore osservato.

Encoding, hashing e cifratura: differenze e casi d'uso

Tre trasformazioni spesso confuse: rappresentazione, digest unidirezionale e protezione crittografica reversibile con chiave.

Escaping vs sanitization: contesti HTML e prevenzione XSS

Perché escaping contestuale e sanitization risolvono problemi diversi e come evitare interpretazioni attive di input non affidabile.

Funzioni hash: digest, integrità e sicurezza

Proprietà delle funzioni hash crittografiche, SHA, collisioni, HMAC, password hashing e differenze dalla cifratura.

Grapheme cluster, code point e byte: cosa significa davvero “carattere”

Perché un carattere visibile può contenere più code point e molti byte, e come scegliere la metrica corretta.

HMAC, checksum e verifica dell'integrità

Differenze tra rilevazione accidentale degli errori, digest crittografici e autenticazione dei messaggi con segreto condiviso.

HTML entities, escaping e sicurezza del markup

Entità HTML, riferimenti numerici, escaping contestuale, sanitization e relazione con la prevenzione XSS.

JSON Schema: descrivere e validare strutture dati

Come JSON Schema esprime tipi, proprietà, vincoli, composizione e compatibilità dei documenti JSON.

JSON vs YAML vs XML: quale formato scegliere

Confronto ragionato tra JSON, YAML e XML per API, configurazione, documenti, schema e interoperabilità.

JSON: sintassi, tipi, struttura e validazione

Una guida completa a JSON come formato di scambio dati: grammatica, tipi, parsing, serializzazione, validazione e interoperabilità.

Naming conventions nel software: camelCase, PascalCase, snake_case e kebab-case

Come scegliere e applicare convenzioni di naming coerenti tra codice, API, file, URL e database.

Normalizzazione URI, reserved/unreserved ed equivalenza

Quando due URI possono essere considerati equivalenti e perché canonicalization e percent-encoding richiedono contesto.

Query string e application/x-www-form-urlencoded

Struttura delle query string, coppie nome-valore, percent-encoding e differenze della codifica dei form HTML.

Serializzazione e deserializzazione dei dati

Come strutture in memoria diventano rappresentazioni trasferibili e quali problemi emergono tra tipi, versioni e sistemi diversi.

Sistemi numerici: binario, ottale, decimale ed esadecimale

Basi posizionali, conversioni, rappresentazioni informatiche e differenza tra valore matematico e interpretazione dei bit.

Unicode e UTF-8: code point, byte e caratteri

Come Unicode assegna code point e come UTF-8 li rappresenta in byte, con implicazioni per testo, storage e interoperabilità.

Unix timestamp, Epoch e rappresentazione del tempo

Come rappresentare istanti nel tempo, distinguere UTC, offset e timezone e gestire secondi, millisecondi e ISO 8601.

URL, URI e percent-encoding

Come sono strutturati URI e URL, quali caratteri hanno significato sintattico e quando entra in gioco il percent-encoding.

UTC, offset, timezone, DST e ISO 8601

Come distinguere istanti assoluti, offset e regole geografiche per rappresentare correttamente il tempo nei sistemi software.

UUID v1, v4 e v7: generazione, ordinamento, collisioni e design degli ID

Confronto tra versioni UUID e criteri per scegliere identificatori casuali, temporali o ordinabili.

UUID: identificatori univoci, versioni e utilizzi

Struttura degli UUID, variant e versioni, probabilità di collisione e criteri per scegliere un identificatore distribuito.

XML: elementi, attributi, namespace e documenti

Fondamenti di XML: struttura ad albero, attributi, namespace, encoding, validazione e interoperabilità.

YAML: sintassi, tipi e strutture

Una guida a YAML come formato di serializzazione leggibile: scalari, collezioni, indentazione, anchor e insidie di parsing.