npm install -g javascripting

JavaScript'ing
Apprendre tranquillement les bases du langage :
• Variables
• Strings, Numbers, Arrays, Objects
• Boucles
• Propriétés
• Fonctions
Idéal pour démarrer si vous ne connaissez pas encore
JavaScript !
npm install -g javascripting
#nodeschoolparis
Planet Proto
fr
Comprendre comment marche les prototypes et la
POO en JavaScript :
• Objets simples
• Constructeurs et prototypes
• __proto__ et chaînes de prototypes
• this implicite
• Object.create (ES5)
npm install -g planetproto
#nodeschoolparis
Functional JavaScript
fr
La programmation fonctionnelle, c'est facile !
• Itérations externes : map, filter, every, some…
• Méthodes call et apply
• Reduce et implémentations à base de reduce
• Application partielle et currying
• Binding
• Spies
• …
npm install -g functional-javascript-workshop
#nodeschoolparis
Bytewiser
fr
Manipuler efficacement des données binaires
• Buffers
• Typed Arrays
• Encodages
• msgpack
• Sockets binaires
npm install -g bytewiser
#nodeschoolparis
Count to 6
fr
Découvrir et pratiquer les nouveautés de base d’ES6
• Template Strings (et tagged template strings)
• Arrow functions
• Spread & Rest
• Arguments par défaut
npm install -g count-to-6
#nodeschoolparis
Learn Generators
fr
Découvrir cette fonctionnalité ES6 qui fournit des
approches asynchrones intéressantes
• Découverte
• Itérateurs
• Délégation de générateurs
• Gestion des erreurs
• Retrouver un code d’aspect synchrone
npm install -g learn-generators
#nodeschoolparis
Learn You The Node.js
for much Win!
fr
L’atelier pour démarrer Node.js tranquillou !
• Premier programme
• E/S synchrones et asynchrones, Buffer/String
• Créer ses modules
• Clients & serveurs HTTP
npm install -g learnyounode
#nodeschoolparis
Tékitoi ?
Jérémie Patonnier
Khalid « DjebbZ » Jebbari
Sophie Trinh-Kanh
Arnaud Breton
Aleth Gueguen
Stream Adventure fr
Le workshop original : apprivoiser les flux (streams) !
• Flux en lecture, écriture, duplex, transform
• Concaténation de contenus
• Pipelines
• Transformateurs avancés (analyse HTML, crypto,
décompression, analyse TAR…)
• Web Sockets
npm install -g stream-adventure (anglais)
npm install -g stream-adventure-fr
#nodeschoolparis
How to npm
Tout savoir sur npm (sans risque)
• Environnements de dev vs. prod
• Installer un module
• Lister les dépendances
• Lancer les tests
• Publier et gérer ses modules sur la registry
npm install -g how-to-npm
#nodeschoolparis
Bug Clinic
Techniques de débogage, du basique au hardcore
• Logs simples et avancés, logs de débogage tiers
• Linters
• Piles d’appels longues / asynchrones
• Traceurs d’exécution à la volée
• Manipulation des programmes en cours d’exécution
• Débogueur intégré ou externe
• Détection de fuites de mémoire
npm install -g bug-clinic
#nodeschoolparis
Going Native
Interface entre le JS et les binaires natifs
• Installer de quoi compiler
• GYP
• Écrire du code JS qui discute avec du code natif
• Compiler nativement un module
npm install -g goingnative
#nodeschoolparis
Learn uv
Tout savoir sur la bibliothèque libuv, qui est au cœur
des E/S asynchrones de Node.js…
• Interface système et détection d’inactivité
• Lecture de fichier synchrone vs. asynchrone
• Serveur TCP asynchrone
• Concurrence pour l’accès aux ressources
npm install -g learnuv
#nodeschoolparis
Promise it won’t hurt fr
Les promesses, une approche asynchrone lisible, flexible
et composable ! Un cours qui part de zéro et progresse
doucement.
•
•
•
•
•
Créer, accomplir ou rejeter une promesse
Valeurs et promesses
Gestion des erreurs
Enrobage des approches à fonction de rappel
Combinaison de promesses
npm install -g promise-it-wont-hurt (anglais)
npm install -g http://bit.ly/promise-fr
#nodeschoolparis
Async You
fr
La bibliothèque async.js est très populaire pour
combiner / séquencer des appels asynchrones
classiques à base de fonctions de rappel.
•
•
•
Waterfalls
Séquences
Équivalents asynchrones des algos classiques :
each, map, reduce… et des boucles for / while.
npm install -g async-you
#nodeschoolparis
Tékitoi ?
Jérémie Patonnier
Khalid « DjebbZ » Jebbari
Sophie Trinh-Kanh
Arnaud Breton
Aleth Gueguen
Express Works
fr
Découvrir le micro-framework de serveur web
Express, de loin le plus populaire.
•
•
•
•
Infra de base
Réponses « en dur », Jade, statiques, JSON
Chemins dynamiques, query strings, formulaires
Middlewares
npm install -g expressworks
#nodeschoolparis
Make Me Hapi
fr
Découvrir le framework web Hapi, très structuré et robuste,
utilisé notamment par Walmart. Plus exigeant qu’Express mais
plus carré / facile à grandir.
•
•
•
•
•
Les bases
Gestionnaires de routes prédéfinis : code, répertoires,
fichiers statiques, flux, proxies…
Validateurs de requête
Upload de fichiers
Gestion des cookies
npm install -g makemehapi
#nodeschoolparis
Kick Off Koa
fr
Jouer avec Koa, un micro-framework web de type Express,
mais entièrement basé sur les générateurs, pour alléger
considérablement le code à écrire…
•
•
•
•
•
•
Les bases
Routage
Corps de requête / réponses, en-têtes, templates
Gestion des erreurs
Cookies et sessions
Middlewares et authentification
npm install -g kick-off-koa
#nodeschoolparis
LololoDash
fr
Pratiquer l’essentiel de Lo-Dash (souvent valable pour
Underscore aussi).
•
•
•
•
•
Tris, filtrages
Minima, maxima
Compteurs
Groupements et analyses
Micro-templating
npm install -g lololodash
#nodeschoolparis
Browserify Adventure
Apprendre à utiliser Browserify, le packager de JS « à
la Node » pour le front.
•
•
•
•
•
Rappels sur le fonctionnement des modules Node
Builds « de base »
Transformateurs existants et personnalisés
Gestion des assets
Shimming de modules Node et d’autres
npm install -g browserify-adventure
#nodeschoolparis
Learn You CouchDB
for great good!
Premiers pas avec cette base NoSQL très populaire,
au travers de premiers exo de Map/Reduce.
•
•
•
Mise en place
Maps et vues
Reduce
npm install -g learnyoucouchdb
#nodeschoolparis
Level Me Up, Scotty!
Jouer avec LevelDB, une base NoSQL additive et
journalisée, au travers du module LevelUP.
•
•
•
•
•
Mise en place
GET, PUT, BATCH
Streaming
Exemples de mise en application
Niveaux et sous-niveaux de stockage
npm install -g levelmeup
#nodeschoolparis
Tékitoi ?
Jérémie Patonnier
Khalid « DjebbZ » Jebbari
Sophie Trinh-Kanh
Arnaud Breton
Aleth Gueguen
Git It
Les premières bases de Git et de GitHub, pour tester la
température…
•
•
•
•
•
•
Installer et configurer Git
Créer un dépôt local, faire des commits
Créer un compte GitHub, connecter au dépôt distant
Forks et clones
Branches
Collaboration : pushes, pulls, pull requests, merges
npm install -g git-it
#nodeschoolparis
Shader School
Jouer avec WebGL au travers d'un énorme paquet
d’exercices variés.
•
•
•
•
•
GLSL : bases, qualifieurs, vecteurs, branches, boucles
et matrices
Shaders : bases, discarding, textures…
Géométrie : coordonnées, clipping, transfos…
Lumière : plates, diffuses, radiales, phong…
Rendering simple, GPGPU, primitives, flocking…
npm install -g shader-school
#nodeschoolparis
WebGL Workshop
La suite de Shader School, parce que plus y’en a, plus
on est contents !
•
•
•
•
•
Complément sur les bases : buffer, viewport…
Complément sur les shaders et les buffers
Textures
Profondeur, faces cachées
Pochoirs et ombres
npm install -g webgl-workshop
#nodeschoolparis
Intro to WebGL
Apprendre à manipuler WebGL au travers de Three.JS
•
•
•
•
•
•
Coordonnées
Manipulation des objets
Hiérarchie de scène
Chargement d’objets 3D et de textures
Réagir à la souris
Moteur de physique
npm install -g introtowebgl
#nodeschoolparis
NodeBot Workshop
Une dizaine d’exercices pour se faire la main sur le
contrôle de micro-controlleurs (ex. Arduino, Raspberry
Pi…) au travers de Johnny-Five.
•
•
•
•
LEDs et buzzers
Servos
Bras robotiques
Détection de température et alarmes
npm install -g nodebot-workshop
#nodeschoolparis
Tékitoi ?
Jérémie Patonnier
Khalid « DjebbZ » Jebbari
Sophie Trinh-Kanh
Arnaud Breton
Aleth Gueguen