
Perché 0.1 + 0.2 !== 0.3 in JavaScript (e in quasi ogni linguaggio)
Come funzionano davvero i numeri floating-point IEEE 754, perché non è un bug specifico di JavaScript, e i modi sicuri per confrontare e memorizzare numeri decimali.
Diego Betto · Consulenza tecnica per aziende
Sono Diego Betto, Co-Fondatore & CTO di PAPION. Con il mio team aiutiamo aziende, agenzie e team prodotto a progettare, sviluppare e mettere in sicurezza applicazioni React, Node.js e TypeScript scalabili.
Consulenza tecnica end-to-end, dal frontend alla sicurezza, per aziende che devono scalare senza sorprese.
Progettazione e scalabilità di applicazioni React, Next.js e Astro: componenti manutenibili, performance solide e meno debito tecnico nel tempo.
Sviluppo e ottimizzazione di API con Node.js, Fastify e TypeScript: servizi affidabili, pensati per reggere la crescita del business.
Affiancamento ai team di sviluppo per alzare la qualità del codice TypeScript/JavaScript, ridurre i bug in produzione e velocizzare l'onboarding.
Hardening applicativo, monitoraggio di dipendenze e CVE, ottimizzazione dei Core Web Vitals.

Mi chiamo Diego Betto, Co-Fondatore & CTO, senior full-stack engineer presso PAPION, con oltre 20 anni di esperienza. Lavoro da Udine, in Friuli, principalmente da remoto per clienti in tutta Italia. Mi occupo di architetture frontend e backend, sicurezza applicativa e mentoring di altri sviluppatori, con particolare esperienza su React, JavaScript/TypeScript e Node.js.
Scopri di più →Case study dettagliati in arrivo — nel frattempo, ecco i contesti in cui lavoriamo più spesso con PAPION.
Frontend React ad alto traffico e integrazioni con sistemi di gestione ordini.
Backend Node.js/Fastify per prodotti in crescita, con focus su sicurezza e osservabilità.
Code review, mentoring e hardening di sicurezza senza rallentare le consegne.
Note tecniche su React, Node.js, sicurezza e performance.

Come funzionano davvero i numeri floating-point IEEE 754, perché non è un bug specifico di JavaScript, e i modi sicuri per confrontare e memorizzare numeri decimali.

Le operazioni insiemistiche native arrivate nei motori moderni — union, intersection, difference, symmetricDifference, isSubsetOf, isSupersetOf, isDisjointFrom — con esempi prima/dopo.

forEach sembra il metodo più semplice degli array, ma in TypeScript nasconde trappole reali: callback async che TypeScript non segnala, narrowing perso nelle closure, indici impliciti any.

Le tre vere cause degli errori di hydration nelle app React con SSR, come leggere il diff di React in sviluppo, e quando suppressHydrationWarning è davvero la scelta giusta.

La differenza tra un'eccezione lanciata e una promise rejection non gestita, perché un try/catch attorno non sempre basta, e come catturare correttamente gli errori async.

shadcn/ui non è una libreria di componenti come le altre: non si installa, si copia. Come funziona la CLI, cosa fanno Radix UI e Tailwind sotto il cofano, e quando ha senso usarlo.

Perché compare 'TypeError: Cannot read properties of undefined (reading ...)', le tre cause più comuni, e come optional chaining e nullish coalescing lo prevengono.
Raccontami la tua sfida tecnica: architettura, performance, sicurezza o un team da rinforzare. Rispondo personalmente a ogni email.