codequick-darkmode-logo
AccediIscriviti
Corso di Node.js

Programma:

Corso di Node.js

26 Lezioni 180 Domande di Programmazione Online


Quali argomenti saranno trattati nel corso?

Introduzione a Node.js

  1. Parole di Apertura e Panoramica del Corso:

    • Parole di apertura.

    • Cosa verrà trattato nel corso e un'introduzione a Node.js.

    • Enfasi sul lavoro con i repository di codice.

  1. Scrittura di un Server di Base:

    • Costruzione di un primo semplice server.

    • Spiegazione di cosa è un server e gestione delle richieste e risposte HTTP.

    • Comprensione dei codici di stato e restituzione di JSON vs. HTML.

  1. Gestione di Base delle Richieste:

    • Introduzione agli endpoint del server API.

    • Definizione di molteplici route per la gestione delle richieste.

  1. Gestione Avanzata delle Richieste al Server:

    • Comprensione della struttura della richiesta HTTP.

    • Spiegazione dei codici di stato e comportamento del server.

  1. Preparazione alla scrittura di una Restful API:

    • Introduzione alle Restful API.

    • Comprensione di QueryString e parametri della richiesta.

Lavorare con il File System

  1. Lettura di file in Node.js:

    • Lavorare con il modulo del file system (fs).

    • Utilizzo della funzione readFile in modo asincrono.

    • Utilizzo della funzione readFileSync in modo sincrono.

    • Introduzione ai moduli fs e path.

    • Creazione di un server con più endpoint.

    • Salvataggio di file di testo e file JSON.

  1. Salvare File in Node.js:

    • Utilizzando la funzione writeFile in modo asincrono per scrivere file.

    • Utilizzando la funzione writeFileSync in modo sincrono per scrivere file.

    • Gestione degli errori nel server.

  1. Eliminazione di file in Node.js:

    • Eliminazione di file utilizzando unlinkSync.

    • Utilizzo di directory nel file system.

    • Funzione per verificare se un file esiste nel file system.

  1. Gestione delle richieste POST:

    • Architettura di base del server.

    • Gestione delle richieste post.

    • Utilizzo di Postman per creare richieste get e post.

  1. Utilizzo della validazione nel server:

    • Scrivere un server significativo.

    • Utilizzo di validazioni ed errori nel server.

    • Creazione di un server con molteplici richieste (leggere, scrivere, eliminare file dal sistema operativo).

Scrivere un Server con Express

  1. Introduzione all'uso di Express:

    • Informazioni di base sulla libreria express.

    • Utilizzo della libreria express per scrivere un server.

    • Utilizzo delle funzioni send, sendStatus e json.

    • Gestione delle richieste get.

  1. Gestione di Querystring e Params:

    • Utilizzo di req.query con express.

    • Utilizzo di req.params con express.

    • Scrittura di un server di dati admin utilizzando il file system.

  1. Gestione delle richieste POST nel Server:

    • Gestione delle richieste post con express.

    • Spiegazione dell'uso dei middleware.

    • Aggiunta di validazioni numeriche nel server.

  1. Architettura del Server:

    • Architettura del server in express.

    • Utilizzo di express.Router per gestire il routing del server.

    • Aggiunta e creazione di controller nel server.

    • Aggiunta e creazione di servizi nel server.

  1. Utilizzo dei Middlewares in Express:

    • Comprensione dei middlewares in express.

    • Incorporazione corretta dei middlewares nei controllers.

    • Scrittura di validazioni utilizzando middlewares.

MongoDB

  1. Introduzione a MongoDB:

    • Introduzione ai database.

    • Differenze tra database relazionali e non relazionali.

    • Introduzione a MongoDB e casi d'uso comuni.

    • Collegamento del server express a MongoDB.

    • Introduzione all'uso della GUI di mongo.

  1. Salvataggio e Recupero di Record:

    • Definizione di schemi e panoramica sui tipi comuni.

    • Creazione di un record in MongoDB con la funzione save.

    • Ricerca di record in MongoDB utilizzando la funzione find.

    • Utilizzo di filtri comuni come gte$, $gt, $lte, $lt e eq$.

  1. Query Avanzate in MongoDB:

    • Comprensione dell'identificatore ObjectId.

    • Spiegazione della funzione toJSON.

    • Utilizzo della query findById in MongoDB.

    • Aggiornamento dei record utilizzando findByIdAndUpdate.

    • Utilizzo dell'operatore inc$.

    • Utilizzo della funzione count in MongoDB.

    • Definizione dei valori predefiniti per lo schema in MongoDB.

  1. Query di Cancellazione e Operatori di Base:

    • Cancellare record utilizzando findByIdAndDelete.

    • Utilizzando l'operatore push$.

    • Gestione delle richieste di fallimento del server (500).

  1. Aggregazioni Avanzate in MongoDB:

    • Costruire una pipeline avanzata e utilizzare le aggregazioni.

    • Ordinare i dati nelle query di MongoDB.

    • Utilizzare operatori comuni come sum, $max, $min e avg$.

  1. Relazioni Avanzate tra Collezioni in MongoDB:

    • Spiegazione del collegamento delle collezioni utilizzando ref.

    • Utilizzo dell'azione populate in MongoDB.

    • Spiegazione approfondita della creazione di un id in MongoDB.

Sicurezza del server con autenticazione

  1. Introduzione a JWT:

    • Contesto sulla sicurezza dei server.

    • Introduzione al pacchetto jsonwebtoken.

    • Creazione del primo token.

    • Utilizzo della funzione verify per controllare la validità del token.

  1. Scrittura di un'API Sicura:

    • Aggiunta di un livello di sicurezza al server.

    • Costruzione di Middleware per la sicurezza del server.

    • Implementazione della sicurezza con JWT sul server che scriviamo.

  1. Utilizzo della Libreria Crypto:

    • Contesto sull'uso della crittografia nel server.

    • Spiegazione delle funzioni di hash per l'hashing delle password.

    • Aggiunta di salt allo schema per una sicurezza potenziata.

    • Spiegazione degli attacchi possibili.

  1. Comunicazione Tra Server:

    • Utilizzo della libreria axios per la comunicazione tra server.

    • Recupero dati da un altro server tramite il server che scriviamo.

    • Memorizzazione dati in MongoDB per dati recuperati da un server esterno.

  1. Parole di Chiusura:

    • Parole di chiusura per riassumere il corso.