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
© Copyright 2024