IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    février 2017
    Messages
    1 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2017
    Messages : 1 149
    Points : 36 088
    Points
    36 088
    Par défaut Un autre paquetage npm qui tient sur une ligne de code responsable de dysfonctionnements de plusieurs dépôts
    Un autre paquetage npm qui tient sur une ligne de code responsable de dysfonctionnements au sein d’un gros pan de l’écosystème JS
    Une redite qui concerne des millions de dépôts

    Comment en tant que développeur web procédez-vous pour savoir que vous avez affaire à un objet Promise ? Dans l’univers JavaScript, à défaut d’effectuer une recherche sur Google pour voir comment des pairs abordent le problème, l’approche la plus directe est d’installer un paquetage pour l’environnement d’exécution Node.js. À date, c’est ce qu’ont fait plus de 3,4 millions de responsables de dépôts GitHub avec le paquetage is-promise. Ce dernier dont le rôle se résume essentiellement à renvoyer un booléen à l’issue du test tient sur une ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
    Jusqu’à il y a peu, le paquetage ne fonctionnait pas avec la version 13 de Node.js en bêta. En substance, une erreur d’importation de ce dernier (dans sa version 2.2.0) que certains des nombreux utilisateurs n’ont pas manqué de remonter à l’équipe du projet Node.js. Illustration avec un des écrans d’erreur mis à disposition par un contributeur :

    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
    sorunome@sorunome-desktop repos/mx-puppet-skype $ node ./build/index.js                                 1
    internal/modules/cjs/loader.js:616
                if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e;
                                                                ^
     
    Error [ERR_INVALID_PACKAGE_TARGET]: Invalid "exports" main target "index.js" defined in the package config /home/sorunome/repos/mx-puppet-skype/node_modules/is-promise/package.json
        at resolveExportsTarget (internal/modules/cjs/loader.js:574:13)
        at resolveExportsTarget (internal/modules/cjs/loader.js:613:20)
        at applyExports (internal/modules/cjs/loader.js:503:14)
        at resolveExports (internal/modules/cjs/loader.js:541:12)
        at Function.Module._findPath (internal/modules/cjs/loader.js:661:22)
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:963:27)
        at Function.Module._load (internal/modules/cjs/loader.js:859:27)
        at Module.require (internal/modules/cjs/loader.js:1036:19)
        at require (internal/modules/cjs/helpers.js:72:18)
        at Object.<anonymous> (/home/sorunome/repos/mx-puppet-skype/node_modules/lowdb/lib/main.js:4:17) {
      code: 'ERR_INVALID_PACKAGE_TARGET'
    }
    Si le problème est désormais résolu, il faut dire qu’il est caractéristique de l’écosystème JavaScript. En effet, il n’est pas sans faire penser à celui du paquetage left pad – un ensemble construit non pas sur une, mais 7 lignes de code.

    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
    module.exports = leftpad;
     
    function leftpad (str, len, ch) {
      str = String(str);
     
      var i = -1;
     
      if (!ch && ch&nbsp;!== 0) ch = ' ';
     
      len = len - str.length;
     
      while (++i < len) {
        str = ch + str;
      }
     
      return str;
    }
    En 2016, le développeur Azer Koçulu a supprimé plus de 250 de ses modules du gestionnaire de paquets npm. Avec le retrait de ces derniers, ce sont des milliers de projets dont Node et Babel qui avaient ainsi été mis à mal. À l’époque, Laurie Voss avait opté pour la mesure sans précédent de restaurer une version de la bibliothèque nécessaire au fonctionnement de plusieurs sites et applications web.

    Si le cas du paquetage is-promise n’a pas manqué de susciter des questionnements quant à la nécessité de s’appuyer sur tout un module pour une ligne de code, il interpelle surtout sur ce qui est de la bibliothèque standard de JavaScript. Dans le cas d’espèce, l’un des problèmes est que les porteurs des projets informatiques susceptibles de prendre un coup parce que s’appuyant sur le paquetage is-promise auraient pu choisir de faire usage de la gestion des Promises disponibles sous JavaScript (via la bibliothèque standard du langage). Toutefois, même en prenant en compte cet élément, des développeurs estiment que l’une des plus grosses tares du langage JavaScript est le fait pour sa bibliothèque standard de ne pas être ouverte sur suffisamment de cas de figures, ce qui pousse des développeurs tiers à proposer des modules (avec ce que l’on relève comme inconvénients).

    Si l’on ne peut s’avancer à dire qu’il s’agit du seul souci au sein de l’écosystème JS, il faut dire qu’il y a comme une reconnaissance au plus haut niveau de ce que la bibliothèque standard est problématique. En effet, le créateur de Node.js est lancé sur l’effort Deno. C’est un nouvel environnement d’exécution doté d’une bibliothèque standard qui est un portage de celle du langage Go de Google. Le projet est au stade de l’enfance, en route vers sa version 1.0, donc pas à utiliser en production. Ryan Dahl a glissé un mot à son propos lors de la JSConf qui s’est tenue en Europe en 2018.


    Source : GitHub

    Et vous ?

    Qui est le plus à blâmer dans ces situations de dysfonctionnement ? Celui qui met au point le paquetage ou ceux qui l’adoptent en masse ?
    Quels sont les aspects de la gestion des paquetages qui vous chiffonnent le plus en JavaScript ?
    Que pensez-vous de l’initiative deno ? Pensez-vous qu’elle apporte une réponse efficace aux problèmes de l’écosystème JavaScript ?

    Voir aussi :

    npm 6.0.0, le gestionnaire de paquets officiel de Node.js. passe en @latest, et se concentre désormais sur la sécurité
    npm 5.7.0 retiré de la circulation à peine deux jours après sa sortie, la version 5.7.1 publiée pour corriger un problème critique
    npm en version 5.7.0 est maintenant disponible, l'alignement vers les pratiques DevOps se poursuit
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 2 323
    Points : 1 926
    Points
    1 926
    Billets dans le blog
    1
    Par défaut
    Ben comme d'hab #JavaScript quoi. Quand il faut une dépendance pour gérer le moins de truc de manière fiable et facilement on évite difficilement ce genre de problèmes. La ligne de code est également un bel exemple d'à quel point ce langage est laid.

    La vidéo avait l'air intéressante sinon mais un type qui lit un PowerPoint en bégayant pendant 25 minutes c'est juste pas possible.

  3. #3
    Membre éclairé
    Inscrit en
    juin 2010
    Messages
    733
    Détails du profil
    Informations forums :
    Inscription : juin 2010
    Messages : 733
    Points : 896
    Points
    896
    Par défaut
    Ce langage est vraiment une farce

  4. #4
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 2 323
    Points : 1 926
    Points
    1 926
    Billets dans le blog
    1
    Par défaut
    Faut déjà tester qu'un objet est un objet

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : novembre 2018
    Messages : 12
    Points : 44
    Points
    44
    Par défaut
    Comment en tant que développeur web procédez-vous pour savoir que vous avez affaire à un objet Promise ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fetch('/') instanceof Promise

  6. #6
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 655
    Points : 2 091
    Points
    2 091
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Ben comme d'hab #JavaScript quoi.
    Comme d'hab, Sodium, quoi.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2009
    Messages : 458
    Points : 1 093
    Points
    1 093
    Par défaut Donc ça fonctionne pas mal
    Si je lis bien la news, il y a eu un problème rapidement résolu dans le système de packages de loin le plus utilisé au monde.
    Le précédent problème du même genre datant d'il y a quatre ans.
    Donc ça fonctionne plutôt bien en fait.

  8. #8
    Membre expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 034
    Points : 3 592
    Points
    3 592
    Par défaut
    a quel moment, en tant que dev... t'as besoin de tester si c'est une promesse ???
    je ne comprends pas a quel moment ca peut t'etre utile...tu vas ecrire du code en random en esperant que ca passe ?

    je veux dire... t'utilise une methode... tu te renseigne dessus... au pire, tu console.log la methode et tu vois bien que c'est une promesse... et tu continues ton code sachant ca...

    t'achetes pas une voiture, et arrive a la pompe a essence tu te dis... "heu... aller, on va dire que c'est du 98 qu'il lui faut" en esperant que ca passe
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2009
    Messages : 458
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    a quel moment, en tant que dev... t'as besoin de tester si c'est une promesse ???
    je ne comprends pas
    Les API dans les packages JavaScript fonctionne souvent avec un paramètre "souple".
    Dans lequel tu peux passer une chaîne de caractères, un tableau, un objet, une fonction, une promesse,...
    Le comportement de l'API étant de plus en plus complexe en fonction de l'objet passé.
    La chaîne de caractères (ou un simple nombre) va utiliser tous les paramètres par défaut, l'objet va permettre d'en customiser certains, la fonction va permettre une initialisation "lazy", la promesse passe en mode asynchrone,...
    Donc oui tester si c'est une promesse ou pas se fait très souvent.
    C'est comme l'overloading du type du paramètre en Java ou C#, sauf que là il existe une API par type et la bonne est choisie à la compilation.

  10. #10
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2008
    Messages : 504
    Points : 1 541
    Points
    1 541
    Par défaut
    voila pourquoi j'aime typescript...
    et swagger avec des services correctement typés

  11. #11
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 2 323
    Points : 1 926
    Points
    1 926
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    a quel moment, en tant que dev... t'as besoin de tester si c'est une promesse ???
    je ne comprends pas a quel moment ca peut t'etre utile...tu vas ecrire du code en random en esperant que ca passe ?

    je veux dire... t'utilise une methode... tu te renseigne dessus... au pire, tu console.log la methode et tu vois bien que c'est une promesse... et tu continues ton code sachant ca...

    t'achetes pas une voiture, et arrive a la pompe a essence tu te dis... "heu... aller, on va dire que c'est du 98 qu'il lui faut" en esperant que ca passe
    Ouep, excellents conseils de programmation, partir du principe qu'on a bien tout ce qui faut, ne jamais rien tester car on "sait" quel tel endroit on va avoir tel type de variable et poursuivre comme si de rien n'était en cas d'erreur.

  12. #12
    Membre actif
    Homme Profil pro
    OoW
    Inscrit en
    juin 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : juin 2019
    Messages : 50
    Points : 201
    Points
    201
    Par défaut
    Tout développeur se doit de tester, dans son contexte voir plus, avant utilisation et ne pas faire une confiance aveugle à du code fournie par un tiers et c'est donc ce qui c'est fait puisque le problème a été remonté rapidement.

    Citation Envoyé par Sodium
    La vidéo avait l'air intéressante sinon mais un type qui lit un PowerPoint en bégayant pendant 25 minutes c'est juste pas possible.
    Ce que je trouve « juste pas possible » c'est qu'en 2000 ans l'homme a quand même évolué, je vous laisse jugé en bien ou en mal, alors que sodium en 2000 messages continue de nous asséner toujours et encore sa même litanie, cela en devient pathétique !

  13. #13
    Membre expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 034
    Points : 3 592
    Points
    3 592
    Par défaut
    Citation Envoyé par Dave Hiock Voir le message
    Tout développeur se doit de tester, dans son contexte voir plus, avant utilisation et ne pas faire une confiance aveugle à du code fournie par un tiers et c'est donc ce qui c'est fait puisque le problème a été remonté rapidement.


    Ce que je trouve « juste pas possible » c'est qu'en 2000 ans l'homme a quand même évolué, je vous laisse jugé en bien ou en mal, alors que sodium en 2000 messages continue de nous asséner toujours et encore sa même litanie, cela en devient pathétique !
    fais comme tout le monde : auto downvote + ignore
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  14. #14
    Membre expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 034
    Points : 3 592
    Points
    3 592
    Par défaut
    Citation Envoyé par frfancha Voir le message
    Les API dans les packages JavaScript fonctionne souvent avec un paramètre "souple".
    Dans lequel tu peux passer une chaîne de caractères, un tableau, un objet, une fonction, une promesse,...
    Le comportement de l'API étant de plus en plus complexe en fonction de l'objet passé.
    La chaîne de caractères (ou un simple nombre) va utiliser tous les paramètres par défaut, l'objet va permettre d'en customiser certains, la fonction va permettre une initialisation "lazy", la promesse passe en mode asynchrone,...
    Donc oui tester si c'est une promesse ou pas se fait très souvent.
    C'est comme l'overloading du type du paramètre en Java ou C#, sauf que là il existe une API par type et la bonne est choisie à la compilation.
    => ok, je vois mieux ou ca pourrait pecher...

    je pense qu'un moment il faut aussi peser le pour & le contre entre souplesse & maintenabilite
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  15. #15
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 2 323
    Points : 1 926
    Points
    1 926
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dave Hiock Voir le message
    Tout développeur se doit de tester, dans son contexte voir plus, avant utilisation et ne pas faire une confiance aveugle à du code fournie par un tiers et c'est donc ce qui c'est fait puisque le problème a été remonté rapidement.

    Ce que je trouve « juste pas possible » c'est qu'en 2000 ans l'homme a quand même évolué, je vous laisse jugé en bien ou en mal, alors que sodium en 2000 messages continue de nous asséner toujours et encore sa même litanie, cela en devient pathétique !
    JavaScript n'a pas évolué, il n'y a donc pas de raisons pour que ma position évolue. Bien au contraire, ce type de news ne fait que conforter ce que je pense.

  16. #16
    Expert confirmé

    Profil pro
    Inscrit en
    février 2006
    Messages
    2 254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 2 254
    Points : 4 181
    Points
    4 181
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    fais comme tout le monde : auto downvote + ignore
    même quand les paroles sont factuellement exactes/cohérentes? merci, mais je comprends maintenant pourquoi la qualité des interventions baisse d'année en année...
    et pourtant, dieu sait à quel point je ne suis pratiquement jamais d'accord avec sodium.

  17. #17
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    février 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : février 2010
    Messages : 114
    Points : 138
    Points
    138
    Par défaut
    La vidéo avait l'air intéressante sinon mais un type qui lit un PowerPoint en bégayant pendant 25 minutes c'est juste pas possible.
    Ok on en reparle quand tu feras 300k views sur un talk, inventé un framework web et que tu auras révolutionné des concepts en informatique ?

  18. #18
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    6 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 6 212
    Points : 17 781
    Points
    17 781
    Par défaut
    Qui est le plus à blâmer dans ces situations de dysfonctionnement ? Celui qui met au point le paquetage ou ceux qui l’adoptent en masse ?
    On ne peut pas reprocher au contributeur de proposer quelques chose, même si on peut discuter de l'utiliter de la chose.
    Par contre quand le premier reflexe c'est de faire un npm install + require pour un truc qui tiens en une ligne ... Faut se remettre en question.
    Le problème c'est que le cout d'ajout d'une dépendance est quasi nulle , donc pas mal de dév les empile sans se poser la moindre question.
    En C++ , par exemple, sans conan ou vcpkg , tu te pose la question 2x avant d'ajouter une dépendance externe. J'ai un projet où , si je veux ajouter une dépendance static, c'est à minima 4 compilations différentes pour 3 architectures, 3 os ... Autant dire qu'il faut que ca vaille le coup et que un "is-promise" finirait simplement dans un helper.

    Quels sont les aspects de la gestion des paquetages qui vous chiffonnent le plus en JavaScript ?
    Pour moi c'est le "dependecy hell". La moindre dépendance se traduit souvent par l'ajout implicite de 10 aines d'autres sans qu'on est aucun contrôle dessus. On peut ainsi très rapidement récupérer un code dangereux sans même s'en apercevoir (npm alerte la dessus mais bon ...).
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre expérimenté
    Homme Profil pro
    Noob
    Inscrit en
    octobre 2009
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Noob

    Informations forums :
    Inscription : octobre 2009
    Messages : 436
    Points : 1 598
    Points
    1 598
    Par défaut
    "Never trust user input" ça fait parti des règles de base de la programmation, donc oui tester quelque chose issu d'un fetch() me semble plutôt primordial.

    Après pour ma part, les devs qui installent des dépendances pour tester les primitives ne méritent pas leur casquette de dev. La solution est incluse dans le langage et c'est littéralement une ligne de code. C'est de la même veine que ceux qui utilisent les paquets comme "isOdd" ou "isEven" pour tester si un nombre est pair ou impair.

    Je précise que je ne doute pas de l'utilité de ces paquets dans des cas particuliers, c'est le fait que ça devienne la norme qui m'exaspère car ça contribue à la plaie du JS moderne qui est le trou sans fond de node_modules et tous les risques de sécurité que ça implique.

  20. #20
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    avril 2014
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : avril 2014
    Messages : 2 323
    Points : 1 926
    Points
    1 926
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Phago Voir le message
    Ok on en reparle quand tu feras 300k views sur un talk, inventé un framework web et que tu auras révolutionné des concepts en informatique ?
    Zéro pertinence de l'intervention.

    Citation Envoyé par grunk Voir le message
    Par contre quand le premier reflexe c'est de faire un npm install + require pour un truc qui tiens en une ligne ... Faut se remettre en question.
    La solution serait dans ce cas de faire son propre paquet. Moi aussi je préfère avoir le moins de dépendances possibles, mais ce n'est pas trop compatible avec le monde JavaScript.

    Citation Envoyé par grunk Voir le message
    En C++ , par exemple, sans conan ou vcpkg , tu te pose la question 2x avant d'ajouter une dépendance externe. J'ai un projet où , si je veux ajouter une dépendance static, c'est à minima 4 compilations différentes pour 3 architectures, 3 os ... Autant dire qu'il faut que ca vaille le coup et que un "is-promise" finirait simplement dans un helper.
    La différence est que C++ est un vrai langage. En JavaScript il faut en permanence faire des abstractions compliquées pour des choses simples. Si JavaScript avait une méthode pour faire cela, on n'aurait besoin ni d'une dépendance, ni de faire sa propre implémentation.

Discussions similaires

  1. [XL-2003] Erreur lors d'un retour sur une ligne de code
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2010, 16h54
  2. Bug sur une Ligne de Code
    Par vaucluseimmo dans le forum VBA Word
    Réponses: 1
    Dernier message: 15/03/2010, 09h41
  3. besoin d'aide sur une ligne de code
    Par deubelte dans le forum C++
    Réponses: 5
    Dernier message: 26/11/2006, 22h55
  4. PB sur une ligne de code
    Par romrai dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 12h27
  5. Une version de Linux qui tient sur une disquette
    Par jack_1981 dans le forum Distributions
    Réponses: 7
    Dernier message: 16/12/2005, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo