Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Maestro Node. Da zero ad esperto
Sezione introduttiva
Benvenuto (1:01)
Introduzione (4:57)
Architettura di Node (4:56)
Installazione di Node (2:02)
Il nostro primo script (3:04)
Node Module System
Introduzione (3:05)
Creare un modulo (4:06)
Importare da un modulo (3:45)
Module Wrapper Function (4:07)
Utilizzare i moduli nativi di Node (3:56)
Moduli di terze parti (1:12)
NPM (Node Package Manager)
Introduzione e inizializzazione npm (2:16)
Installazione pacchetto npm (2:57)
Utilizzo pacchetto npm Validator (4:23)
package.json e versionamento semantico (3:31)
Installare versione specifica pacchetto (6:07)
Dipendenze pacchetti (1:47)
Rimozione di un pacchetto (0:54)
Installazione pacchetto in devDependencies (1:51)
Nodemon (3:47)
Nodemon estensioni (3:20)
npm run start (1:48)
Realizzare una applicazione a linea di comando
Introduzione (1:27)
Impostazioni progetto e creazione file clienti.json (2:12)
Chalk (3:15)
Elencare argomenti e flag passati a linea di comando con process (3:01)
Introduzione a yargs (3:31)
yargs command (prima parte) (4:38)
Ricercare un cliente (6:30)
Ricercare un cliente (seconda parte) (4:58)
Aggiungere un cliente (6:00)
Rimuovere un cliente (6:34)
Refactoring applicazione (9:12)
Eventi
Introduzione (4:42)
EventEmitter (4:55)
Emit e on su singola istanza EventEmitter (prima parte) (5:05)
Emit e on su singola istanza EventEmitter (seconda parte) (4:43)
Definire listener multipli per un singolo evento (1:50)
Metodi di EventEmitter (5:56)
Modulo fs
Introduzione (0:50)
Lettura asincrona da un file con readFile (4:07)
Gestione errore readFile (5:19)
fsPromise.readFile (5:03)
Scrivere in modo asincrono in un file con fs.writeFile e fs.promises.writeFile (4:23)
Aprire un file con open e File Descriptor (6:06)
Leggere un file attraverso gli stream (4:39)
Ottenere informazioni su un file con stat e fstat (5:05)
Elencare il contenuto di una cartella (5:19)
Elencare file e cartelle con recursive-readdir (6:07)
Monitorare cambiamenti nel filesystem con fs.watch (prima parte) (3:55)
Monitorare cambiamenti nel filesystem con fs.watch (seconda parte) (3:56)
chokidar - fs.watch wrapper (4:36)
Modulo url e http
Introduzione (1:26)
Classe URL (3:38)
URLSearchParams (5:06)
Applicazione client-server con Node (4:00)
Introduzione al modulo http (5:55)
process.env.PORT (4:07)
Inviare una risposta al client con res.write e res.end (6:33)
writeHead (2:47)
Definiamo le rotte dell'applicazione e meccanismo di routing (6:00)
Migliorariamo il meccanismo di routing (prima parte) (9:55)
Mappare le richieste a file html con un oggetto (6:18)
request.method (2:59)
Il Framework Express
Installazione e importazione express (6:00)
Richieste http POST, PUT e DELETE (8:59)
Gestire rotte multiple con array ed espressioni regolari (6:28)
app.get e app.set (5:32)
Gestire parametri di rotta e query string (4:07)
Introduzione alla funzioni middleware (prima parte) (3:09)
Introduzione alla funzioni middleware (seconda parte) (5:48)
Middleware multiple in un metodo di rotta (8:17)
Montare le middleware con app.use (6:16)
Middleware built-in (5:18)
Fornire file statici con express.static() (5:21)
Middleware di terza parti (morgan) (9:12)
Modularizzazione e strutturazione applicazione (introduzione) (4:51)
Modularizzare le funzioni middleware (2:47)
Modularizzazione e strutturazione applicazione (8:16)
Definire un mount path per le rotte (1:21)
Error Handling (prima parte) (4:49)
Gestire gli errori tramite middleware custom (3:01)
Error Handling avanzato (prima parte) (8:25)
res.download e res.redirect (5:42)
Refactoring (3:02)
Express e i Template Engine
Introduzione ai Template Engine (2:24)
Installazione e configurazione EJS (3:22)
Renderizzare singole variabili (4:19)
Renderizzare array (8:16)
Definire uno stile per i template (4:58)
Partials (6:24)
Configurazione e debug
Introduzione (5:10)
dotenv (4:02)
Configurazione cross environment (5:08)
Override variabili d'ambiente già definite (3:28)
File .env e commit su VCS (1:40)
Debug applicazione (7:09)
Il database MongoDB
Introduzione (2:52)
Introduzione a MongoDB (3:04)
MongoDB Atlas vs installzione locale (5:21)
Esempio con MySQL (7:16)
Configurazione e connessione a MongoDB Atlas (6:59)
Operazioni CRUD con MongoDB (introduzione) (4:15)
Operazioni CRUD con MongoDB - Create (8:26)
Operazioni CRUD con MongoDB - Read (8:57)
Operazioni CRUD con MongoDB (Update) (9:06)
Operazioni CRUD con MongoDB (Delete) (5:04)
MongoDB metodi e query
Ordinare e limitare i risultati di una query (10:06)
Operatori di confronto (query operator) (8:22)
Operatori logici (query operator) (7:30)
Ricercare documenti in base all'esistenza di un campo (3:55)
Operatore $regex (query operator) (7:24)
Rimuovere un campo con l'operatore $unset (2:51)
Operatore di incremento $inc (2:58)
Aggiungere e rimuovere elementi da un campo di tipo array (4:36)
MongoDB ed Express
Introduzione (1:44)
Classe MongoConnect (6:40)
Connessione al database (3:46)
Riutilizzo connessione nei router (5:14)
Integrare MongoDB con Express e con i Template Engine (prima parte) (6:16)
Integrare MongoDB con Express e con i Template Engine (seconda parte) (6:49)
Crittografia e JWT per la sicurezza dell'applicazione
Introduzione (1:11)
Cenni storici sulla crittografia (3:50)
Crittografia simmetrica (4:30)
Crittografia Asimmetrica (a chiave pubblica) (4:08)
Funzioni e algoritmi di hashing (10:13)
Sicurezza dell'applicazione (introduzione) (4:12)
Sicurezza applicazione (sessioni) (4:36)
Gestione sessioni con express-session e MongoDB (22:48)
JSON Web Token (introduzione) (9:55)
Creare un JWT con jsonwebtoken (9:16)
Inviare il token tramite cookie (7:08)
Validazione token e scadenza cookie (8:30)
Generazione chiave segreta sicura (2:48)
JWT con crittografia asimmetrica + openssl (7:09)
Proteggere le rotte con middleware (6:15)
Logout utente. Un problema meno semplice del previsto (5:01)
Refactoring gestione autenticazione (7:09)
Utilizzare il payload (6:58)
Protezione dagli attacchi CSRF (introduzione) (3:09)
Protezione dagli attacchi CSRF (simulazione attacco) (12:37)
Protezione dagli attacchi CSRF (contromisura sameSite) (8:45)
Protezione dagli attacchi CSRF (csrf token) (1:39)
Protezione CSRF con csurf (10:47)
JWT vs sessioni, OAuth, OpenID Connect
Introduzione (3:37)
Problema logout (4:45)
Vulnerabilità (2:11)
npm audit (4:09)
Cookie o Local Storage per memorizzare il JWT? (3:12)
JWT e sessioni allo scalare dell'applicazione (3:47)
Crittografia simmetrica o asimmetrica per una infrastruttura multiserver? (4:41)
Allora JWT o sessioni? (2:41)
Autenticazione, autorizzazione e autorizzazione delagata (3:08)
Autorizzazione delegata con OAuth 2.0 - Introduzione (3:06)
Autorizzazione delegata con OAuth 2.0 - Terminologia (3:02)
Autorizzazione delegata con OAuth 2.0 - Flusso (6:19)
OpenID Connect (OIDC) (3:53)
Passport.js
Introduzione (4:48)
Local Strategy - inizializzazione progetto (9:04)
Local Strategy - creazione form login (6:40)
Local Strategy - impementiamo la strategia (16:40)
Local Stratey - implementiamo la strategia (seconda parte) (4:53)
Local Stratey - protezione delle rotte (6:39)
Local Stratey - logout (2:48)
Local Strategy - recuperare i dati dell'utente con req.user (2:47)
Local Strategy - flash message (8:47)
Verifica dati di autenticazione (4:55)
Diamo uno stile al form [EXTRA] (16:42)
Google Login con Passport.js
Introduzione (12:25)
Modifica template login.ejs (5:36)
Otteniamo il codice di autorizzazione in front channel (12:42)
Otteniamo token ID e access token (6:29)
Registrazione utente nel database (12:55)
Teach online with
Importare da un modulo
Complete and Continue
Discussion
0
comments
Load more
0 comments