Node.js par Human Coders
Lieu(x)
En centre (75)
Durée
Total : 21 heures
En centre : 21 heures
Financement
Demandeur d’emploi
Salarié
Prix
Nous contacter
Cette formation vous intéresse ?
Description générale
Jour 1 - Découverte
Présentation de Node.js
JS côté serveur, pourquoi et comment ?
Présentation de Node.js (REPL, single
- threaded event
- loop, APIs non bloquantes, streams...)
Programmation asynchrone : joies & désillusions (Continuous Passing Style, Promise, Fibers, bonnes pratiques de gestion de ses appels asynchrones)
Les modules et npm
Anatomie d'un module
La gestion de dépendances avec npm, le gestionnaire de paquets officiel de Node.js
Packaging et déploiement d'un module sur npm
Tests
Tests unitaires avec Mocha, le framework de tests unitaires, et Chai, la librarie d'assertions intuitive
Tests fonctionnels avec Zombie, Phantom et Casper, les navigateurs "headless"
Application web avec Node.js
Écriture d'un serveur web
Utilisation du module "Express", le micro
- framework web le plus populaire (routage, vue, middlewares, montage d'applications)
Gestion des fichiers statiques et comparaison avec les serveurs existants
Jour 2 - Les mains dans le cambouis
Notre application
Présentation du projet développé durant le reste des travaux pratiques
Discussions autour des technologies à utiliser et du modèle de données
Node.js et les bases de données
SQL (MySQL, PostgreSQL, SQLite...)
NoSQL (MongoDB, Redis, et bonnes pratiques)
Modélisation
Enhance your webapp
Aller plus loin avec Express (traitement de formulaires et authentification avec passport, le gestionnaire de sessions polyglote)
Websockets avec Socket.io (présentation, intégration côté serveur et côté client, et nombreux ateliers)
Jour 3 - Vers l'infini et au
- delà !
Déléguer les traitements lourds
Les limites imposées par le modèle single
- thread de Node.js
Les solutions pour déléguer ces traitements à d'autres processus (pub/sub Redis, AMQP, #0xc3#MQ, Gearman... mais aussi le multi
- threading)
Aller plus loin dans les performances
Comment rendre son application "scalable"
Profiter de tous les coeurs de son processeur avec cluster
Trollons joyeusement avec un comparatif de performances
Conclusions & conseils
Synthèse des bonnes pratiques de développement
Conseils de survie dans l'écosystème Node.js
Présentation de Node.js
JS côté serveur, pourquoi et comment ?
Présentation de Node.js (REPL, single
- threaded event
- loop, APIs non bloquantes, streams...)
Programmation asynchrone : joies & désillusions (Continuous Passing Style, Promise, Fibers, bonnes pratiques de gestion de ses appels asynchrones)
Les modules et npm
Anatomie d'un module
La gestion de dépendances avec npm, le gestionnaire de paquets officiel de Node.js
Packaging et déploiement d'un module sur npm
Tests
Tests unitaires avec Mocha, le framework de tests unitaires, et Chai, la librarie d'assertions intuitive
Tests fonctionnels avec Zombie, Phantom et Casper, les navigateurs "headless"
Application web avec Node.js
Écriture d'un serveur web
Utilisation du module "Express", le micro
- framework web le plus populaire (routage, vue, middlewares, montage d'applications)
Gestion des fichiers statiques et comparaison avec les serveurs existants
Jour 2 - Les mains dans le cambouis
Notre application
Présentation du projet développé durant le reste des travaux pratiques
Discussions autour des technologies à utiliser et du modèle de données
Node.js et les bases de données
SQL (MySQL, PostgreSQL, SQLite...)
NoSQL (MongoDB, Redis, et bonnes pratiques)
Modélisation
Enhance your webapp
Aller plus loin avec Express (traitement de formulaires et authentification avec passport, le gestionnaire de sessions polyglote)
Websockets avec Socket.io (présentation, intégration côté serveur et côté client, et nombreux ateliers)
Jour 3 - Vers l'infini et au
- delà !
Déléguer les traitements lourds
Les limites imposées par le modèle single
- thread de Node.js
Les solutions pour déléguer ces traitements à d'autres processus (pub/sub Redis, AMQP, #0xc3#MQ, Gearman... mais aussi le multi
- threading)
Aller plus loin dans les performances
Comment rendre son application "scalable"
Profiter de tous les coeurs de son processeur avec cluster
Trollons joyeusement avec un comparatif de performances
Conclusions & conseils
Synthèse des bonnes pratiques de développement
Conseils de survie dans l'écosystème Node.js
Objectifs
Comprendre le fonctionnement de Node.js, ses forces et ses faiblesses.
Être capable de créer une application Node.js complète, en suivant les bonnes pratiques de développement.
Être capable de choisir les bons modules npm pour la bonne tâche.
Être capable de détecter les situations où Node.js sera un choix adapté et le justifier.
Être capable de créer une application Node.js complète, en suivant les bonnes pratiques de développement.
Être capable de choisir les bons modules npm pour la bonne tâche.
Être capable de détecter les situations où Node.js sera un choix adapté et le justifier.
Centre(s)
- Paris - 12ème (75)
Secteur(s)
Métier(s)
- Analyste cogniticien / cogniticienne informatique
- Analyste concepteur / conceptrice informatique
- Analyste d'application
- Analyste d'étude informatique
- Analyste de gestion informatique
- Analyste décisionnel - Business Intelligence
- Analyste développeur / développeuse
- Analyste en cybersécurité
- Analyste fonctionnel / fonctionnelle informatique
- Analyste organique informatique
- Analyste responsable d'application informatique
- Analyste réseau informatique
- Analyste télématique
- Analyste-programmeur / Analyste-programmeuse d'étude informatique
- Analyste-programmeur / Analyste-programmeuse de micro-informatique
- Analyste-programmeur / Analyste-programmeuse en informatique industrielle
- Analyste-programmeur / Analyste-programmeuse gestion informatique
- Analyste-programmeur / Analyste-programmeuse informatique
- Analyste-programmeur / Analyste-programmeuse scientifique informatique
- Assistant / Assistante chef de projet informatique
- Chef de groupe logicien informaticien
- Chef de projet TMA - Tierce Maintenance Applicative
- Chef de projet maîtrise d'oeuvre informatique
- Chef de projet étude et développement informatique
- Concepteur / Conceptrice d'application informatique
- Concepteur / Conceptrice informatique
- Concepteur / Conceptrice logiciel informatique
- Didacticien / Didacticienne informatique
- Développeur / Développeuse Big Data
- Développeur / Développeuse back-end
- Développeur / Développeuse d'application
- Développeur / Développeuse de logiciel de simulation optique et réalité virtuelle
- Développeur / Développeuse de sécurité des systèmes d'information
- Développeur / Développeuse décisionnel - Business Intelligence
- Développeur / Développeuse front-end
- Développeur / Développeuse full-stack
- Développeur / Développeuse informatique
- Développeur / Développeuse jeux vidéo
- Développeur / Développeuse logiciel de réalité augmentée
- Développeur / Développeuse multimédia
- Développeur / Développeuse web
- Développeur / Développeuse web mobile
- Homologateur / Homologatrice logiciel
- Informaticien / Informaticienne analyste
- Informaticien / Informaticienne d'application
- Informaticien / Informaticienne de développement
- Informaticien chargé / Informaticienne chargée d'étude
- Ingénieur / Ingénieure analyste en système d'information
- Ingénieur / Ingénieure analyste informatique
- Ingénieur / Ingénieure d'analyse et de programmation en informatique de gestion
- Ingénieur / Ingénieure d'application informatique
- Ingénieur / Ingénieure d'intégration applicative
- Ingénieur / Ingénieure d'étude en applications scientifiques informatiques
- Ingénieur / Ingénieure d'étude en informatique de gestion
- Ingénieur / Ingénieure d'étude et développement informatique
- Ingénieur / Ingénieure d'étude informatique
- Ingénieur / Ingénieure d'étude logiciel informatique
- Ingénieur / Ingénieure de conception informatique
- Ingénieur / Ingénieure de développement informatique
- Ingénieur / Ingénieure de réalisation informatique
- Ingénieur / Ingénieure développement logiciel informatique
- Ingénieur / Ingénieure en développement d'applications
- Ingénieur / Ingénieure informatique développement en temps réel
- Ingénieur / Ingénieure logiciel informatique
- Ingénieur / Ingénieure programme informatique
- Ingénieur analyste-programmeur / Ingénieure analyste-programmeuse
- Ingénieur concepteur / Ingénieure conceptrice informatique
- Ingénieur informaticien / Ingénieure informaticienne
- Intégrateur / Intégratrice d'application informatique
- Lead programmeur / programmeuse - jeux vidéo
- Paramétreur / Paramétreuse logiciel ERP
- Programmeur / Programmeuse d'applications
- Programmeur / Programmeuse d'études
- Programmeur / Programmeuse de maintenance informatique
- Programmeur / Programmeuse informatique
- Programmeur / Programmeuse jeux vidéo
- Programmeur / Programmeuse logiciel de base informatique
- Programmeur industriel / Programmeuse industrielle
- Responsable d'application informatique
- Responsable d'atelier de génie logiciel
- Responsable d'étude informatique
- Responsable de gestion de configuration
- Responsable de projet informatique
- Responsable des développements informatiques
- Scrum Master
- Technicien / Technicienne programmation
- Testeur / Testeuse informatique
- Webmaster
- Webmaster développeur / développeuse
Compétence(s)
- Algorithmique
- Animation d'instances agiles (mêlée, démonstration, rétrospective, …)
- Architecture d'applications
- Architecture des systèmes d'information
- Architecture propriétaire
- Architecture web
- Business Intelligence (BI) / Informatique décisionnelle
- Comptabilité générale
- Finance
- Formalisation de processus de gestion
- Gestion commerciale, relation clients
- Gestion de configuration
- Gestion de production
- Gestion de projet
- Gestion des Ressources Humaines
- Informatique de gestion
- Informatique industrielle
- Informatique scientifique et technique
- Langage informatique ASP.NET
- Langage informatique Ada
- Langage informatique Apache
- Langage informatique AutoItScript
- Langage informatique Basic
- Langage informatique C#
- Langage informatique C/C++
- Langage informatique CSS
- Langage informatique Cobol
- Langage informatique Delphi
- Langage informatique Fortran
- Langage informatique HTML
- Langage informatique J2EE
- Langage informatique J2ME
- Langage informatique Java
- Langage informatique Lisp
- Langage informatique PHP
- Langage informatique Pascal
- Langage informatique Perl
- Langage informatique Prolog
- Langage informatique Python
- Langage informatique Ruby
- Langage informatique SQL
- Langage informatique Script Shell
- Langage informatique VB.NET
- Langage informatique Visual Basic
- Langage informatique WLangage
- Langage informatique XML
- Langages de programmation informatique
- Marketing / Mercatique
- Matériel de contrôle embarqué
- Modélisation informatique
- Méthode AGILE
- Méthodologie SAFe
- Méthodologie Scrum
- Principes d'intégration de matériels et de logiciels
- Process et procédures d'achats
- Procédures d'appels d'offres
- Produits multimédia
- Progiciels de Gestion Intégrée (PGI) / Enterprise Resource Planning (ERP)
- Programmation informatique
- Programmation logicielle
- Protocoles et normes télécoms
- Publication Assistée par Ordinateur (PAO)
- Règles de sécurité Informatique et Télécoms
- Réseaux informatiques et télécoms
- Système KANBAN
- Système LEAN
- Système embarqué
- Systèmes d'exploitation informatique
- Technologies de l'accessibilité numérique
Formation proposée par : Human Coders
À découvrir