coding dojo node - meetupfiles.meetup.com/18525937/coding dojo node.js elsass jug.pdf ·...

18
Coding dojo Node.js

Upload: others

Post on 10-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

Coding dojoNode.js

Page 2: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

/me

● #java, #cloud, #devops, #agile, #tests, #partage, #nodejs, #aws, #docker

● http://jsebfranck.blogspot.fr

● Alcatel-Lucent, Priceminister Rakuten, Viadeo, Xebia, Sfeir

Page 3: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Conférences à Strasbourg

● StrasbourgJS (103 membres)● ElsassJug (62 membres)● ReactJS (25 membres)● Node.js (16 membres)● ?

Page 4: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Pourquoi j’aime Node.js ?

● 1 mauvaise expérience avec Java (mais des bonnes aussi)

● Légèreté ● Intégration de nouveaux composants● IDE● Communauté...

Page 5: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Node.js

● Javascript côté serveur● Projet open source : https://github.com/joyent/node● Ecrit en C, C++ et Javascript● V8 (ECMAScript 5)● Pas de serveur d’application● Thread vs Events● Asynchrone

Page 6: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Utilisateurs

Page 7: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Dev & Production ready

● Intégration continue● Déploiement continu● Cloud● Performance● Monitoring● Sécurité● Tests● ...

Page 8: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Cas d’utilisation

● Comme serveur○ Frontal Web○ Frontal Mobile○ Applications web○ ...

● Comme outil○ Scripting○ Mock○ ...

Page 9: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS
Page 10: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS
Page 11: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Asynchronisme

step1(function (value1) {

});

Page 12: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Asynchronisme v2

step1(function (value1) { step2(value1, function(value2) { });});

Page 13: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Asynchronisme : callback hell

step1(function (value1) { step2(value1, function(value2) { step3(value2, function(value3) { step4(value3, function(value4) { // Do something with value4 }); }); });});

Page 14: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Asynchronisme : les promesses

Q.fcall(promisedStep1) .then(promisedStep2) .then(promisedStep3) .then(promisedStep4) .then(function (value4) { // Do something with value4 }).catch(function (error) { // Handle any error from all above steps }).done();

Page 15: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Les modules

● 148K modules sur https://www.npmjs.com/● Modules de base

○ http○ fs○ ...

● Modules du marché○ express○ winston○ ...

Page 16: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Gestion des dépendances

● package.json

● npm○ npm init○ npm install ○ npm uninstall

● Dépendances transitives

Page 17: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

Session pratique

Page 18: Coding dojo Node - Meetupfiles.meetup.com/18525937/Coding dojo Node.js Elsass Jug.pdf · @jsebfranck Conférences à Strasbourg StrasbourgJS (103 membres) ElsassJug (62 membres) ReactJS

@jsebfranck

Session pratique

https://github.com/jsebfranck/nodejs-elsassjug