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  Médecine corps-esprit: la nouvelle science de la santé optimale

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  Psychologie pour les photographes : série Irrésistible : Word, vous et site Web

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  Les maîtres du portrait - Voir la lumière du studio

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