ca faisait longtemps que je cherchais un tuto qui expliquait simplement les promise je l'ai trouvé ici, Merci pour ces explications
Chaque classement (que ce soit celui de IEEE ou de TIOBE, ou de GitHub par exemple) est fait selon des critères qui peuvent être subjectifs mais qui fournisse un éclairage... Python est un langage simple à apprendre qui permet une bonne productivité et que l'on retrouve dans de nombreux métiers: - embarqué - data science - les commandos en banque - le cloud - le web - etc...
Un tout tout grand merci pour cet article et le partage de la vidéo! Cela m'aura permis de mieux comprendre tout le fonctionnement intrinsèque de Javascript et de la participation du navigateur à la fête
visiblement l'auteur avait le langage C, en tête. Et moi qui pensait que la NASA était un paradis pour les programmeur de ADA.
J'ignore la méthodologie employée, mais elle devrait être donnée en exemple comme la façon à ne pas faire. Penser qu'une institution aussi importante peux se planter autant est inquiétante.
La règle 7 est fondamentale, car elle rend le test unitaire obsolète, et je ne l'ai jamais vue appliquée systématiquement et pour toutes les variables, ce qui est dommage à mon sens.
Merci pour cette contribution
Merci pour cet article. Pour avoir utilisé les Promises intensément avec un serveur Nodes.Js, entre autres, une chose est très importante, par exemple si vous utilisez ce code dans une fonction (fonction que vous voulez utiliser dans une Promise, évidemment) : Code : Sélectionner tout - Visualiser dans une fenêtre à part 12345678910111213141516171819202122232425262728 function any() { return getDataPromise() .then( data => { // resolve() console.log("Process 1:", data); return getDataPromise(); }, error => { // reject() console.log(error); }) .then( data => { // resolve() console.log("Process 2:", data); return getDataPromise(); }, error => { // reject() console.log(error); }) .then( data => { // resolve() console.log("Process 3:", data); }, error => { // reject() console.log(error); }) } ; Il faut bien penser à faire un RETURN de la promise dans la fonction, sinon, vous lancez votre promise en asynchrone, car elle ne sera pas dans la chaîne des renvois... A noter aussi que la fonction Promise.resolve(MaFonction/Ma variable) est très utile, elle permet de renvoyer une Promise sur une autre fonction ou même sur une variable, même si elles ne sont pas elle même des Promise. Ce qui permet de continuer une chaîne (ou composition dans l'article) même avec du code qui n'est pas de type Promise.
function any() { return getDataPromise() .then( data => { // resolve() console.log("Process 1:", data); return getDataPromise(); }, error => { // reject() console.log(error); }) .then( data => { // resolve() console.log("Process 2:", data); return getDataPromise(); }, error => { // reject() console.log(error); }) .then( data => { // resolve() console.log("Process 3:", data); }, error => { // reject() console.log(error); }) } ;
Bonjour, Envoyé par yahiko Règle 5 : Chaque fonction doit comporter au minimum deux assertions. La règle originale est "The assertion density of the code should average to a minimum of two assertions per function.", ce que l'on peut traduire par "Il doit y avoir en moyenne au moins deux assertions par fonction.", ce qui est très différent. Envoyé par yahiko Pour chacune de ses règles, l'auteur fournit un explication disponible dans le document original. D'ailleurs, parfois, dans l'explication, il nuance la règle originale. Par exemple, il dit que les règles 2 et 7 ne s'appliquent pas à toutes les fonctions.
Merci pour cet article
Si cet article a pu t'aider, tout le plaisir est pour moi
J'ai adoré lire cet article, j'ai commencé à m'intéresser à GLFW et openGL depuis 1 mois environ, je sens que cet article va beaucoup m'aider à finir mon projet
Héhé, je vois qu'on est curieux ^^ Je peux comprendre que tu sois intéressé par le fonctionnement interne mais j'ai le regret de te dire qu'il faudra que tu te contentes des explications que j'ai déjà fourni dans mon billet. Elles sont certes succinctes, mais je ne tiens pas à rentrer dans le détail de ma cuisine interne pour diverses raisons : 1) Ça prend du temps 2) Où placer le curseur ? Il y aura toujours des insatisfaits qui en demanderont toujours plus jusqu'à pourquoi pas que je leur donne le code source avec toute la documentation détaillée, ce qui n'est pas envisagé de mon côté, clairement. 3) Ça ennuierait de toute manière la majorité des gens qui seraient perdus dans mon charabia. Je t'invite donc à relire la première partie de mon billet ainsi que la chaîne d'impact. Que des personnes curieuses de connaître le fonctionnement interne restent sur leur faim, je le conçois, mais il faudra faire avec. En espérant que tu comprennes et respectes mon choix, Au plaisir
Oui, mais donc, pourquoi ils ont été liés ? Même si dans le billet de base vous ne le dites pas, comme je le demande, expliquez le moi. En plus, nous sommes dans un blog de site technique, donc on peut se permettre, je pense.
Envoyé par LittleWhite J'ai du mal à comprendre pourquoi les touches du joueurs ont été modifiées par la modification du comportement des PNJ. Sauf si cela est pour équilibrage et donc, ce n'est plus directement lié. Même si certains composants ne sont pas directement liés, ils peuvent l'être indirectement. C'est tout le propos de la première partie du billet, même si j'ai préféré ne pas trop rentrer dans les détails pour ne pas assommer le lecteur. Pour One Drive, disons que si on compte sur une méthode externe à son système d'information, c'est que l'on se livre à la merci de cet acteur externe. Celui-ci, autant que nous, peut faire des erreurs (même si celui-ci s'appelle Microsoft ou Google). C'est exactement ce que je dis dans la deuxième partie. Pensez à doubler voire tripler vos systèmes de sauvegarde.
Bonjour, J'ai du mal à comprendre pourquoi les touches du joueurs ont été modifiées par la modification du comportement des PNJ. Sauf si cela est pour équilibrage et donc, ce n'est plus directement lié. Pour One Drive, disons que si on compte sur une méthode externe à son système d'information, c'est que l'on se livre à la merci de cet acteur externe. Celui-ci, autant que nous, peut faire des erreurs (même si celui-ci s'appelle Microsoft ou Google).
En effet, l'implémentation est quasiment identique sauf la Map. Jusqu'à présent, je n'ai jamais encore eu le besoin d'identifier mes événements/messages autrement qu'avec des chaînes, et les autres fonctionnalités d'une Map, comme connaître le nombre d'éléments ne me semble pas indispensable dans ce cas. Mais c'est possible que je fasse évoluer Paon dans ce sens pourquoi pas. Merci pour la référence. Sinon, je viens de rajouter ton idée de renvoyer l'observateur par addObserver(), c'est en effet plus pratique pour stocker et réutiliser l'observateur s'il s'agit d'une fonction anonyme. Je publierai la mise à jour demain probablement. Au plaisir
Pour ceux qui n'utilsient pas TypeScript, j'ai l'habitude d'utiliser cet équivalent en ES6 : https://gist.github.com/datchley/37353d6a2cb629687eb9 ; je crois que c'est grosso-modo la même chose, la seule différence notable que j'ai vu avec Paon est l'utilisation d'une Map pour stocker les listeners. Un truc que je trouve très utile et qui n'est pas présent sur ces deux implémentations, c'est de faire retourner l'observer par la méthode addObserver. Ça permet d'ajouter des listeners avec des fonctions anonymes et d'obtenir une référence en une seule ligne, c'est très pratique à l'usage et ça coûte rien à ajouter
Très bons conseils, très instructif ! Merci pour la traduction.
Envoyé par MagnusMoi Vraiment très instructif merci !!! Content que cet article t'ai apporté quelque chose. Au plaisir