Nom de fichier: Udemy – Maîtriser Node.js: du débutant au professionnel du backend
Source du contenu: https://www.udemy.com/course/mastering-nodejs-from-beginner-to-backend-pro/
Taille du fichier: 637 Mo
Éditeur: udemie
Mis à jour et publié: 03 septembre 2024
Détails du produit

1. Architecture NodeJS

  • Architecture pilotée par les événements:Comprendre comment NodeJS gère les opérations asynchrones à l’aide d’une boucle d’événements.
  • Nature à filetage unique:Découvrez comment NodeJS gère plusieurs tâches simultanément même s’il est monothread.
  • E/S non bloquantes:Comment NodeJS utilise les opérations d’E/S non bloquantes pour gérer efficacement plusieurs requêtes.

2. Modules de base

  • Module HTTP:Création de serveurs HTTP, gestion des requêtes et des réponses.
  • Module de système de fichiers (fs):Lecture et écriture de fichiers, gestion de répertoires.
  • Module Chemin:Travailler avec les chemins de fichiers et de répertoires.
  • Module Événements:Création et gestion d’événements personnalisés.
  • Module de flux:Gérer de grands ensembles de données en traitant les données en morceaux.
  • Module du système d’exploitation:Interagir avec le système d’exploitation, collecter des informations sur le système.
  • Util Module:Fonctions utilitaires, y compris les méthodes obsolètes et le débogage.

3. npm (gestionnaire de packages de nœuds)

  • Gestion des colis:Installation, mise à jour et suppression de packages.
  • Création et publication de packages:Créez vos propres packages NodeJS et publiez-les sur npm.
  • Versionnement sémantique:Comprendre le versioning dans npm et comment l’utiliser.

4. Programmation asynchrone

  • Rappels:La base de la programmation asynchrone dans NodeJS.
  • Promesses :Gérer les opérations asynchrones avec plus d’élégance avec .then() et .catch().
  • Asynchrone/Attente:Écrire du code asynchrone qui semble synchrone pour une meilleure lisibilité.
  • Boucle d’événement:Compréhension approfondie de la façon dont la boucle d’événements traite les rappels asynchrones.
  • Minuteries:Utilisation de setTimeout, setInterval et setImmediate.
Vous pouvez aussi aimer  Udemy - Apprenez le HTML et le CSS en 7 jours | Bootcamp de développeur Web

5. Cadre Express.js

  • Configuration d’un serveur:Création d’un serveur de base avec Express.
  • Routage:Définir des routes pour gérer les requêtes HTTP.
  • Intergiciel:Implémenter et comprendre le rôle du middleware dans le traitement des requêtes.
  • Gestion des erreurs:Gestion centralisée des erreurs dans les applications Express.
  • Moteurs de modèles:Utiliser des moteurs comme EJS, Pug ou guidon pour restituer du contenu dynamique.

6. API Web et services RESTful

  • Création d’API REST:Création de services RESTful avec Express.js ou d’autres frameworks.
  • Opérations CRUD:Implémentation des opérations de création, lecture, mise à jour et suppression dans votre API.
  • Authentification:Sécurisation des API avec JWT (JSON Web Tokens), OAuth ou d’autres méthodes d’authentification.
  • Documentation API:Utiliser des outils comme Swagger pour documenter votre API.

7. Intégration de base de données

  • Bases de données SQL:Utiliser des bibliothèques comme pg pour PostgreSQL ou mysql2 pour MySQL.
  • Bases de données NoSQL:Intégration avec MongoDB à l’aide de Mongoose.
  • ORM:Travailler avec des ORM comme Sequelize pour les bases de données SQL.
  • Migrations de bases de données:Gestion des modifications du schéma de base de données avec des outils de migration.

8. Applications en temps réel

  • WebSockets:Utiliser des bibliothèques comme socketIO pour créer des applications en temps réel comme des applications de chat.
  • Événements envoyés par le serveur (SSE):Implémentation de mises à jour unidirectionnelles serveur-client.
  • Vote:Comprendre les interrogations longues comme alternative aux WebSockets.

9. Sécurité

  • Validation des données:Garantir que les données entrantes sont valides et sécurisées à l’aide de bibliothèques comme Joi.
  • Désinfection des entrées:Prévenir les attaques par injection en désinfectant les entrées.
  • Authentification et autorisation:Mise en œuvre de mécanismes d’authentification sécurisés.
  • HTTPS:Sécuriser votre serveur NodeJS avec HTTPS.
  • Limitation du débit:Protégez vos API contre les attaques par force brute avec limitation de débit.
Vous pouvez aussi aimer  Udemy - Maîtrise avancée de JavaScript

10. Tests

  • Tests unitaires:Rédaction de tests pour des unités de code individuelles à l’aide de frameworks tels que Mocha, Jest ou Jasmine.
  • Tests d’intégration:Tester l’interaction entre les différentes parties de votre application.
  • Développement piloté par les tests (TDD):Écrire des tests avant le code pour garantir la fonctionnalité.
  • Moquerie et stubbing:Simulation de services ou de fonctions externes dans des tests.

11. Déploiement et mise à l’échelle

  • Gestion de l’environnement:Utilisation de fichiers .env et de variables d’environnement pour la configuration.
  • Gestion des processus:Utiliser PM2 ou Forever pour gérer les processus NodeJS en production.
  • Équilibrage de charge:Répartir le trafic sur plusieurs instances de votre application.
  • Mise à l’échelle:Techniques de mise à l’échelle horizontale et verticale pour les applications NodeJS.
  • Conteneurisation:Utiliser Docker pour conteneuriser votre application NodeJS.
  • Pipelines CI/CD:Automatisation du processus de déploiement à l’aide d’outils tels que Jenkins, GitHub Actions ou CircleCI.

12. Travailler avec des flux et des tampons

  • Flux lisibles et inscriptibles:Comprendre comment traiter les données pièce par pièce.
  • Tuyaux:Connecter des flux ensemble pour transmettre des données d’un flux à un autre.
  • Transformer les flux:Manipuler les données au fur et à mesure de leur lecture ou de leur écriture.
  • Tampons:Gestion des données binaires directement dans NodeJS.

13. Gestion des erreurs et débogage

  • Meilleures pratiques de gestion des erreurs:Utilisation de try…catch et d’un middleware centralisé de gestion des erreurs.
  • Enregistrement:Implémentation de la journalisation à l’aide de bibliothèques comme Winston ou Bunyan.
  • Débogage:Utilisation du débogueur intégré NodeJS ou de Chrome DevTools pour le débogage.
Vous pouvez aussi aimer  Comment éditer des vidéos YouTube pour les débutants ABSOLUS (sur Mac)

14. Créer des outils et des exécuteurs de tâches

  • Gorgée:Automatisation de tâches telles que la minification, la compilation et le peluchage.
  • Pack Web:Bundleur de modules pour gérer les actifs du projet.
  • ESLint:Appliquer les normes de codage et les directives de style.

15. Microservices et passerelles API

  • Architecture des microservices:Conception et mise en œuvre de microservices avec NodeJS.
  • Passerelle API:Gérez plusieurs microservices derrière une interface unifiée à l’aide d’outils comme YARP ou NGINX.
  • Communication interservices:Utiliser des protocoles tels que HTTP, gRPC ou des files d’attente de messages.

16. Optimisation des performances

  • Profilage:Utiliser des outils tels que NodeJS Profiler et Clinic.js pour identifier les goulots d’étranglement en matière de performances.
  • Mise en cache:Implémentation de stratégies de mise en cache avec Redis ou des caches en mémoire.
  • Regroupement:Utiliser le module de clustering de NodeJS pour tirer parti des systèmes multicœurs.

17. Sujets avancés

  • Processus enfants:Exécuter plusieurs processus à partir d’un seul script NodeJS.
  • Sujets de travail:Tirer parti du multithreading dans NodeJS pour les tâches gourmandes en CPU.
  • Sans serveur:Déploiement d’applications NodeJS dans une architecture sans serveur utilisant AWS Lambda, Google Cloud Functions, etc.
AVvXsEgqLT4kPa4wvSNyvgE77xT6lTy6ScZhceyygV5JCDvgwSdD6MpKWUaW5Q7AeR55LgvnAcYvbK 55ZQNCxvZN9Rd9NSZKmJb2J4dUc42FHD2 mUJMWvhsYdQVDc9UPAthxilx3N0ixmAC3aFa0tYVkSzppH6Lr

LIEN DE TÉLÉCHARGEMENT: Udemy – Maîtriser Node.js: du débutant au professionnel du backend