Git Product home page Git Product logo

rock-the-web-with-nodejs's Introduction

Une nouvelle version de la formation est disponible ici : https://github.com/worldline/nodejs-training !

Rock the Web with NodeJS

This is an 3 days internal formation delivered by Nicolas Morel and Damien Simonin Feugas as Worldline. Discover the power of NodeJS !

Schedule

Day 1

  • JavaScript timeline and the emergence of NodeJS
  • JavaScript crash-course
    • Types and variables
    • Conditionnal and iterative structures
    • Functions and closures
    • Classes and inheritance
    • Awful parts
  • Modularity in NodeJS
  • Asynchronous I/O and the event-loop

Day 2

  • Events programming in NodeJS
  • Readable and writable streams
  • Http servers and clients
  • Work with external processes
  • A clustered Http server

Day 3

  • Introduce Node Package Manager
    • The descriptor file
    • Declare external dependencies
    • The public registry and the CLI
  • Behaviour Driven Development
    • The Mocha test runner
    • The assertion library Chai
  • Request, a powerfull Http client
  • The Hapi Web framework
  • Dodge callback hell with Async

Build

Once you've cloned this repository, open a console to the relevant folder, and run

> npm install

Be sure to have a working network access (if you're behind a proxy, configure HTTPS_PROXY and HTTP_PROXY environment variables).

Then simply open with a browser one of the three root html files.

Tps corrections are also available.

Descriptif (French)

Public concerné

Les développeurs d’applications coté serveur, les ingénieurs systèmes (pour le scripting), les développeurs web qui cherchent à unifier front et middle.

Pré requis

La connaissance d’un langage de programmation impératif type C++/C#/Java. Une connaissance du JavaScript sera un plus. Un PC par stagiaire avec une connexion réseau, un éditeur de texte (Notepad++, SublimeText, WebStorm...) sera nécessaire.

Objectifs pédagogiques

A l’instar de Java, NodeJs est une plateforme logicielle utilisant une machine virtuelle dont la finalité est la réalisation d’applications serveur asynchrones et non bloquantes écrites en JavaScript.

S’appuyant sur le caractère dynamique de ce langage, NodeJS a rapidement constitué un vaste écosystème, et s’est promu comme une véritable plateforme pour les services Web à fort trafic : Paypal, eBay ou encore LinkedIn l’utilisent intensivement.

Cette formation vous permettra de découvrir cette plateforme, et quelques-unes des librairies les plus usitées pour le Web et le TDD/BDD.

Préparez-vous à plonger dedans : vous pratiquerez tout au long de la formation pour réaliser votre premier service.

rock-the-web-with-nodejs's People

Contributors

jean-michel-apeupres avatar jvillanti avatar marsup avatar yodeyer avatar qtomasicchio avatar feugy avatar adrien-martins avatar

Stargazers

Steph0 avatar Mohamed Benjelloun avatar  avatar Prakash avatar François Facon avatar

Watchers

Franck Verrot avatar Contribution To Tapestry 5 avatar virgile devaux avatar Christophe Laudon avatar Romain avatar Sylvain avatar  avatar MESSIN Nicolas avatar James Cloos avatar François Facon avatar Maxence Vanbésien avatar  avatar Jonathan Macke avatar Loïc Rodier avatar  avatar Renaud Boulard avatar Matthieu avatar Saeid Mirzaei avatar  avatar Simon Lopez avatar  avatar  avatar Mohamed Benjelloun avatar  avatar Oliver avatar  avatar Sebastien Remiens avatar  avatar Guillaume DAVID avatar Rémi Bourg avatar  avatar

rock-the-web-with-nodejs's Issues

Ajout de var, let, const

Lors du jour 1 de la formation, ajouter les définitions des mots clés var, let et const, quand les utiliser (les bonnes pratiques).

Cette partie peut-être ajouter avant le chapitre Types and variables.

Différence shallow / deep copie

Expliquer la différence entre une shallow et deep copie en javascript.

Cette partie peut être ajouté après Types and variables avec exemples sur des objets complexes avec différentes méthodes de copie.

Peut-être faire une ouverture sur Lodash (_.cloneDeep) ?

Trouver un nouveau nom pour la formation

Avec tous les frameworks front récent, le nom rock the web with node.js peut laisser penser qu'on va faire du front.

Si vous avez une super idée, n'hésitez pas ! 🥇

Densité du jour 3 (très très dense...)

Le jour 3 est actuellement très dense, notamment l’enchaînement promise / async / await.

Il faudrait garder +/- 1/2 journée pour traiter ces points ? Comment alléger le jour 3 ? Peut-on alléger le jour 2 qui est très bas niveau.

Nous sommes à l'écoute de suggestion :)

Cluster typo .isMaster

Il y a une faute de frappe sur la partie Cluster du jour 2 :

if (cluster.isMaster) { ... } // isMaster est bien une propriété pas une fonction

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.