Les bases de Node
  • Présentation de la formation
  • Installation de Node et NPM
  • Génération du fichier de configuration package.json
  • Créer des modules, les exporter et les importer
  • Le caractère bloquant du code synchrone
  • Rendre le code asynchrone
  • Les callbacks
  • La convention de l' "error first"
  • Les promises
  • Permettre de d'utiliser une fonction au choix avec une promise ou un callback
  • Importance de ne jamais ralentir (ou bloquer !) la callstack
Les Event Emitters
  • Qu'est-ce qu'un EventEmitter ?
  • Votre premier EventEmitter
  • Associer plusieurs callbacks à un même custom event
  • Les EventEmitters fournis par les APIs de Node
  • L'objet "process" : instance d'EventEmitter
Créer nos propres classes héritant de EventEmitter
  • Créer une classe héritant de EventEmitter
  • Déclarer un listener qui ne doit réagir qu'une fois maximum
  • Gérer un event de type error
Retourner un EventEmitter
  • Créer une fonction qui retourne un EventEmitter
Readable et writable streams
  • Qu'est-ce qu'un stream (un flux) ?
  • Créer un readable stream
  • Créer un writable stream
  • Gérer l'"error" event
  • Générer un gros fichier
  • streams fournis par l'objet "process"
  • process.argv
Créer vos propres classes streamables
  • Créer un readable stream en héritant de Readable
  • Créer un writable stream en héritant de Writable
  • Gérer la "back pressure" exercée par un readable stream trop rapide
  • Configuration la taille du buffer via highWaterMark
  • Ecrire depuis la console vers un fichier
Les duplex streams
  • A la fois Readable et Writable
  • Créer un Transform stream
  • flush() sous Windows et sous Linux
  • PassThrough stream
  • Duplex stream
  • Envoyer des données sous forme d'objets
Création d'un serveur web
  • Serveur web sans streams
  • Mesurer l'utilisation de la mémoire par notre application via process.memoryUsag
  • Serveur web avec streams
Bonus
  • Coupons vers des formations complémentaires