L'avantage d'une promesse, c'est de pouvoir normaliser le retour d'une fonction asynchrone.
Et donc d'offrir une API pour traiter ces retours avec des fonctions comme .then(), .catch(), Promise.all(), etc... et de pouvoir les chainer. 🔗
Mais parfois, on aimerait simplement pouvoir traiter ces appels asynchrones de manière synchrone plus simplement qu'en enchainant les .then() par exemple.
Voilà pourquoi il existe les directives async/await ! 👇
Le mot-clé "async" devant la déclaration une fonction, permet de forcer cette dernière à retourner une promesse.
Tandis que await devant l'appel d'une fonction va traiter cette dernière de manière synchrone, en attendant le succès ou le rejet de la promesse ! ⏰
Pour résumer, async/await permettent de passer d'une exécution asynchrone à une exécution synchrone, en s'appuyant sur le mécanisme des Promise ! 🚗
Si le concept d'async/await a encore besoin d’éclaircissements, je vous invite à lire l'article consacré sur Code-Garage (avec plus de détails et des exemples de code) 👇
Savez-vous pourquoi les numéros de versions des dépendances logicielles sont toutes notées sous la forme "1.3.14" ?
C'est une convention qu'on appelle le "Semantic Versioning", et chaque chiffre a son importance ! 🧵 #code#dev#software#versioning
L'objectif du Semantic Versioning (ou SemVer) est de donner un numéro unique à chaque nouvelle version d'un logiciel. ✨
Un identifiant minimal de version qui ressemble à 0.0.1 se lira tout simplement MAJOR.MINOR.PATCH
Le numéro "MAJOR" est le plus critique, c'est le seul qui indique une évolution de l'API tellement importante que la rétrocompatibilité n'est plus assurée 😱
On recense les premières traces de chiffrement symétrique vers 1500 av. JC, en Mésopotamie. 🥐
Aujourd'hui, on utilise le chiffrement symétrique dans notre vie numérique, souvent sans le savoir. Mais comment ça fonctionne exactement ? 🧵 #dev#code#infosec
Le chiffrement symétrique, même le plus basique, est basé sur deux outils : Un algorithme de chiffrement / déchiffrement, et une clé. 🔑
Prenons l'exemple d'une discussion entre deux personnes 👇
1️⃣Les participants d'une discussion se mettent d'accord sur un algorithme de chiffrement commun (souvent inhérent au système utilisé pour communiquer).
La première question que l'on se pose c'est: "Quelle différence avec les callbacks" ?
Et la réponse est : "Une promise est simplement un ensemble de callbacks 'normalisés' !" 🤯
Je m'explique.
Un callback est une fonction qui va être exécutée à la fin d'un traitement asynchrone.
Sauf que selon les choix d'implémentation, un callback peut prendre 1, 2, 3 paramètres, ou alors on peut passer 1, 2, 3 callbacks différents pour gérer le succès, les cas d'erreurs, etc... 🥵
Se lever à 9h29 pour commencer sa journée à 9h30 (et ça peut arriver de temps en temps) est tentant, mais ce n'est pas viable à long terme.
2 - Habillez-vous (même avec le strict minimum)
Croyez-moi, une vision-conférence en urgence ou un livreur inopiné vont vous faire regretter de ne pas avoir pris le temps d'enfiler quelque chose de simple, confortable mais surtout présentable.