3420

Là c'est pas node directement, mais npm.

3421

./3419 : voilà l'article dont je parlais smile https://code.facebook.com/posts/1840075619545360
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3422

Arvi: mais c'est révélateur du milieu... puis utiliser node sans npm comment dire... encore pire ? grin

Merci Zeph.

edit:
updating a minor version of babel generated an 800,000-line commit [...] and triggered lint rules for invalid utf8 byte sequences, windows line endings, non png-crushed images
trisotfl J'ai beau ne pas aimer facebook, là je compatis quand même grin
The React Native package.json currently lists just 68 dependencies, but after running npm install the node_modules directory contains 121,358 files.
C'est donc vrai trilove

3423

Bien sur que c'est vrai!

Mon projet Crunchy: 27 fichiers dans src/
2376 fichier dans node_modules/

183 dépendances, je n'en tire que 8 pour le projet en lui meme et 3 pour la partie dev (typescript principalement)

Dans node_modules:
424 fichiers typescript (.ts)
1058 fichiers javascript (.js)
2 fichiers .css (Wut?)
18 fichiers .txt
8 fichier .html
3 fichier png (WUT WUT?)
221 ficher markdown (.md)
230 fichier JSON (.json)
35 fichier YAML (.yml)
le reste j'arrive pas trop a savoir ce qui prends le ~400 fichiers restant..

Sachant que tout ca sera installé par npm quand quelqu'un install la dite app sur sa propre machine..

Fichier transformé pour distribution vs modules utilisé:

~/Crunchy $ du -sh dist node_modules
244K dist
41M node_modules


et il y a des modules tres interessants genre
path-is-absolute
is-windows
is-absolute (hmmm ca ne fait pas la meme chose que le premier?!)
isobject
color-name
strip-eof

Biggre je m'attends presque a voir un is-true o_o
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3424

trilove

Et t'as essayé le machin de remplacement de npm développé par facebuk, la?

3425

Nada, le code va etre remplacé a terme par du python, et tout ce truc partira a la poubelle
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3426

3427

#pointsqualyl#
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3428

Bah, c'est localhost, c'est pas grave embarrassed©

3429

toggl-how-to-create-horse-with-programming.jpg
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

3430

3431

Imgur blacklisté au boulot, pour ça que je ne l'avais pas vu... grin
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

3432



lovelovelovelovelovelove
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3433

rotfl
(c'est merveilleux les animes)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3434

JavaScript = "This is civilization!"??? eek
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3435

J'ai vu ça, j'ai fait tourner à mes collègues :3
Montrer "JAVA---SCRIPT" avec un air si solennelle, j'aurais envie de remplacer par "DOUBLE---CLIC" pour les non-initiés.
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

3436

Il manque la suite qui est .... encore plus drôle grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3437

Il se passe quoi ? il se passe quoi ? ils hackent le site du FBI en éditant le code source de la page avec FIRE---BUG ?
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

3438

Non ils font leur site dans le plus pur style japonais
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3439

Bon bon.

Je sais qu'il y a des specialistes ici alors, comment on fait avec ce beau langage qu'est javascript pour faire ca:


'use strict'; import request = require('request'); function log_me_in(config: any) { let options = { headers: defaultHeaders, form: { 'login[name]': config.user, 'login[password]': config.pass, 'login_form[_token]': token }, jar: true, gzip: false, method: 'POST', url: 'https://www.foo.com/login' }; request.request(options, (err: Error, rep: string, body: string) => { { if (err) { log.warn("Err is here-->" + err); /* how to trigger a retry from here? */ return false; } /* Do something once logged */ }); }
Dans certains cas une erreur sur le serveur se produit ce qui fait que le chargement de la page ne se fait pas correctement et une erreur est retourné. C'est une erreur transitoire, et retester plusieurs fois corrige le probleme (je n'ai PAS le controle sur le serveur)

Comment quand on est dans le callback de request, peut-on retrigger une requete SANS avoir a imbriquer un callback en plus?

Je deteste VRAIMENT cette manie de tout vouloir faire en asynchrone, avec un language normal, meme python, une simple boucle avec verification du retour de request.request, et paf pasteque.

La je seche completement. (sans parler de l'impossibilité de faire proprement un simple "sleep" ou "delay" en JS sans passer par des callback. Bordel!
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3440

Tu peux simplement rappeler ta méthode log_me_in. Comme c'est asynchrone t'as pas vraiment de récursivité et c'est pas dangereux (du coup tu peux peut être structurer un poil différent pour tenir ça en compte). Note aussi qu'en Javascript un callback peut se référencer lui même.

let allowedRetries = 3;
const doRequest = () => {
  request.request(options, (err: Error, rep: string, body: string) => {
    if (err) {
      if (allowedRetries-- > 0) {
        doRequest();
      } else {
        // Definitive error
      }
      return;
    }

    // OK
  });
};
doRequest();
Ca reste moche, mais pour d'autres raisons. Mais le coup de la boucle c'est aussi qqch que tu ferais de nos jours avec async/await, et je ne vois pas d'ailleurs pourquoi tu ne ferais pas ça.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

3441

parce que ca n'a aucun interet si ce n'est compliquer le code pour rien? (et le code ne fait pas 3 lignes ½, et rappeler la methode n'est pas aussi simple qu'il n'y parait.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3442

Ben dans ton exemple il fait 3 lignes et demie, du coup je ne peux pas te dire pour ton cas précis quelle serait la meilleure solution. Async/await simplifie énormément plus qu'il ne complique quoi que ce soit.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

3443

C'est vraiment pas un ton qui donne envie de te répondre, peut-être que ne pas avoir la réponse t'agace mais ça n'est pas la peine de cracher sur tout et n'importe quoi en réaction.

Pour la partie "pourquoi des callbacks", c'est parce que comme manifestement c'est du code prévu pour fonctionner dans un browser, il est mono-thread. Il fait des appels réseau, donc si tu écris tout en séquentiel il va bloquer cet unique thread et freezer la UI. C'est une bonne pratique dans tous les environnements qui te proposent de faire des UI pour éviter de construire des applications qui arrêtent de réagir à chaque fois qu'un appel réseau est un peu plus long que prévu, c'est pour ça que tous les langages modernes essaient de rendre la programmation asynchrone aussi lisible que possible (parce que forcément il y a un coût, c'est plus compliqué donc plus long à écrire).

Si tu veux que ton code soit compatible avec des vieux browsers qui n'ont pas encore de support pour async/await comme le suggère Brunni, tu as deux choix : soit tu utilises quand même async/await et tu passes ton code dans un "transpilateur" qui va le convertir vers une version moins récente de JavaScript (avec Babel par exemple), soit tu écris du code un peu moins récent mais qui passera partout. C'est ta version initiale et celle que propose Brunni avec des callbacks ; il n'y a pas 50 alternatives de toutes façons, si tu veux faire de l'asynchrone et que tu es dans un langage qui ne supporte pas async/await presque toutes les autres solutions sont encore pire au niveau lisibilité. Sa proposition est un bon compromis, si tu as besoin de faire ça assez souvent tu auras probablement envie de te créer un petit wrapper pour éviter d'avoir à écrire chaque fois cette unique callback qui contient grosso modo if (failure) { notifySomeError(); } else { processResponse(); } pour en faire 2 fonctions réellement séparées, mais le principe restera exactement le même.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3444

Je crois que je comprends mieux certains:

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3445

3446

Ah ben s'il n'y avait pas les sacs poubelle, ça me ferait voir le Java d'un meilleur jour cheeky

(et apparemment c'est elle-même sur la photo, donc elle a de l'humour ^^)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3447

grin

3448

Oui oui c'est de l'humour et oui c'est bien la fille qui a tweeté qui est sur la photo (et elle est dans le domaine info de ce que j'en sais)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3449

Les relations amoureuses avec les filles de Java sont comment du coup ? je les imagine solides dans le temps, compatibles avec toutes sortes d'étrangers, mais assez prise de tête à mettre en route.
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

3450

Et puis vu le temps de démarrage, faut pas espérer qu'il se passe quoi que ce soit le premier soir embarrassed
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo