Prompt

 

De quoi faire le point sur le style d'écriture en JS des fonctions asynchrones.

prompt

help me

Etudier le code suivant pour repérer les fonction de callback

🖹prompt.js
  1. const readline = require('readline');
  2. const rl = readline.createInterface({
  3.     input: process.stdin,
  4.     output: process.stdout,
  5.     prompt: `>> `
  6. });


  7. rl.question(" Il y a combien d'ouvriers "function (nb) {
  8.     console.log(`il y a ${'👷 '.repeat(nb)} !`);
  9.     rl.close();
  10. });


  11. rl.on("close"function () {
  12.     console.log(``);
  13.     process.exit(0);
  14. });
Exécuter ce code
>node prompt.js

Ecrire un programme qui pose des questions pour afficher un résultat.

C:\Users\DD\Desktop\testGit\fakeWait>node help2.js nb garçons ? 2 nb filles ? 3 il y a 👫 👫 couples

Projet

 Projet perso. 

Création d'un jeu. 

 Règle du jeu : le joueur a trois chances pour trouver un nombre secret !

 

Imaginez que vous soyez chef de projet, vous rédigez en urgence un prototype pour les membres de votre équipe.

Ce prototype permet à tous de fixer les idées (proto).


👷 projet à réaliser en JS !

Callback, promesse and co !

 Cours


TD

Git

 lire


Test :

Cloner le dépôt dans VS https://github.com/dupontdenis/fakeWait


Dans un terminal, lancez la commande
  1. C:\Users\DD\Desktop\asyncGit\fakeWait> npm install




C:\Users\DD\Desktop\asyncGit\fakeWait>npm start

> fakeWait@1.0.0 start C:\Users\DD\Desktop\asyncGit\fakeWait
> node server.js

http://localhost:3000

Lancez votre navigateur sur http://localhost:3000

Vous pouvez alors simuler un accès bloquant ou pas à une base de données.




L'accès synchrone empêchera l'interaction avec un utilisateur, car les tâches seront en attente dans la boucle d'événement.

Le schéma suivant donne un aperçu de la façon dont tous ces mécanismes sont connectés.


La boucle d'événements est entourée d'autres processus qui s'exécutent en parallèle (traitement des entrées, événements ...). Ces processus communiquent avec elle en ajoutant des tâches à la file d'attente.





CE WE

 



Test

 Vous devez comprendre toute la mécanique de ce code

  1. let swap = (x,y) => [y,x];

  2. let x=1, y=2;
  3. [x,y] = swap(x,y);
  4. console.log(`x=${x} y=${y}`)

➥ code dans Pythontutor


lig.1 : let, affectation, fonction fléchée

lig. 4 : Destructruration

lig. 5 : Template string https://youtu.be/ld_DhBH3cII?t=205


Revoir le passage des arguments : https://dupontdistanciel.blogspot.com/2020/10/passage-des-arguments.html


VS

 

VS

J'aime être un fainéant !

Et, oui, mais pour cela, il me faut des outils de gros fainéant.

Visual studio

VS tire sa force de IntelliSense, nous verrons cela plus tard.

Pour le moment découvrons quelques "fainéantise"

Emmet

Créer un nouveau fichier avec l'extension .html.

Dans la fenêtre d'édition qui s'ouvre, tapez uniquement ! 
Votre curseur collé à ! tapez  la touche tab ⇆

Le corps d'un fichier HTML apparaît, allez dans la balise <body> puis écrire le code
ul>.item{ liste $}*3
Votre curseur collé à 3 tapez  la touche tab ⇆


En action




Multi-Cursor Editing


C'est super pratique. Votre curseur clignote à un endroit, pressez la touche Alt, allez sur un autre endroit et cliquez à gauche de la 🐭 : vous avez deux curseurs !

La documentation officielle :
To edit multiple instances of text within different sections of a document, you can use multi-cursor editing. This allows multiple cursors to be placed in different spots so text can be added, modified, or deleted.
To engage multi-cursor editing, press the Alt key (or Option key on a Mac) and use the mouse to place cursors throughout the document. Every click creates a cursor resulting in multiple cursors.

MultiCursorEditing

Environnement de travail

 

L’environnement de travail

 Notre environnement de travail sera 

Vous devez installer tous ces logiciels sur votre machine !

Interfaces de communications

PythonTutor

Une seule démo devrait vous convaincre de sa puissance "Pédagogique".

⇀ création d'un dictionnaire



Prise en charge des langages (demo)




Projet

  Projet : Les soldes !  

JS

javascript

Décomposition

dépot

 

git -------

Node : Les modules Fichiers

Cours

TD création module

Différents environnements

node

TD node


js tout en un