Gabriele Romanato
Home
Articoli
Corsi
Talk
CV
Contatti
Node.js
Partiamo dai fondamenti per sviluppare applicazioni complete.
Informazioni
Articoli
ExpressJS
Fastify
Differenze e scopi dei framework
Analisi dei requisiti funzionali
Stesura delle specifiche
Approccio funzionale con callback
Approccio Object-Oriented con il pattern MVC
Approccio misto
Installazione e configurazione di Docker
Installazione e configurazione di una VM con Virtualbox
Installazione e configurazione di Git
Struttura dei file e delle directory dell'applicazione
Uso delle variabili d'ambiente
Modalità di sviluppo e modalità di produzione
Uso di npm e nodemon
Uso di pm2
Uso di systemd su Linux
Installazione e configurazione del database
Attivazione e configurazione di servizi di terze parti
Installazione e configurazione dei moduli NPM
Installazione e configurazione di Postman
Routing e percorsi
Il paradigma REST
Risposte e codici di stato HTTP
Formati di risposta
Header HTTP
Sessioni e cookie
Autenticazione HTTP
Richieste POST
Upload di file
Parametri GET e query string
Route parametriche
Ordine e priorità delle route
Organizzazione delle route
Route asincrone con async
View e linguaggi di templating
EJS
Handlebars
Pug
Twig
File CSS e JavaScript
Ottimizzazione delle immagini
Ridimensionamento delle immagini
Caching
Uso di una CDN
Database relazionali: MySQL e SQLite
Database non relazionali: MongoDB
Criteri di scelta del database
Query asincrone
Caching delle query
Uso di un modulo ORM
Integrazione di API remote
Web Services
Installazione su Windows
Installazione su macOS
Installazione su Linux
Installazione con NVM
Installazione con Docker
Configurazione su Windows
Usare NPM
Callbacks
Promise
Modello async/await
Event Loop
Single-threaded e multi-threaded: uno sguardo a libuv
CommonJS e require
ESM e import
Migrare da CommonJS a ESM
HTTP e HTTPS
DNS
FTP
TCP e UDP
SMTP
WebSocket
Leggere file e directory
Creare file e directory
Eliminare file e directory
Usare i buffer
Usare gli stream e il piping
Metodi sincroni e asincroni: non bloccare l'Event Loop
Crittografia
TLS/SSL
Il comando node
Lettura degli argomenti da riga di comando