Commentaires

  1. Avatar de k.marwen
    • |
    • permalink
    ca faisait longtemps que je cherchais un tuto qui expliquait simplement les promise
    je l'ai trouvé ici, Merci pour ces explications
  2. Avatar de pboulanger
    • |
    • permalink
    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...
  3. Avatar de MrJoy
    • |
    • permalink
    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
  4. Avatar de Madmac
    • |
    • permalink
    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.
  5. Avatar de Madmac
    • |
    • permalink
    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.
  6. Avatar de tse_jc
    • |
    • permalink
    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.
  7. Avatar de yahiko
    • |
    • permalink
    Merci pour cette contribution
  8. Avatar de blbird
    • |
    • permalink
    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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    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.
    Mis à jour 04/07/2017 à 19h08 par blbird
  9. Avatar de Pyramidev
    • |
    • permalink
    Bonjour,

    Citation 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.

    Citation 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.
  10. Avatar de irrmichael
    • |
    • permalink
    Merci pour cet article
  11. Avatar de yahiko
    • |
    • permalink
    Si cet article a pu t'aider, tout le plaisir est pour moi
  12. Avatar de irrmichael
    • |
    • permalink
    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
  13. Avatar de yahiko
    • |
    • permalink
    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
  14. Avatar de LittleWhite
    • |
    • permalink
    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.
  15. Avatar de yahiko
    • |
    • permalink
    Citation 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.
  16. Avatar de LittleWhite
    • |
    • permalink
    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).
  17. Avatar de yahiko
    • |
    • permalink
    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
    Mis à jour 05/09/2016 à 22h24 par yahiko
  18. Avatar de SylvainPV
    • |
    • permalink
    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
  19. Avatar de harusame
    • |
    • permalink
    Très bons conseils, très instructif !

    Merci pour la traduction.
  20. Avatar de yahiko
    • |
    • permalink
    Citation Envoyé par MagnusMoi
    Vraiment très instructif merci !!!
    Content que cet article t'ai apporté quelque chose. Au plaisir
Page 1 sur 4 1234 DernièreDernière