Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 144 sur 182 PremièrePremière ... 4494134136137138139140141142143144145146147148149150151152154 ... DernièreDernière
Affichage des résultats 4 291 à 4 320 sur 5460
  1. #4291
    Citation Envoyé par Orhin Voir le message
    Quel cas d'usage te ferais utiliser le portage JS ?
    Mon backend est en js. Donc pour compresser les jsons envoyés par les clients par exemple.

    Edit : Ha ben encore mieux, node le supporte nativement maintenant : https://nodejs.org/api/zlib.html

  2. #4292
    Citation Envoyé par Orhin Voir le message
    Ouais enfin c'est contrebalancé par tous les avantages que ça apporte lorsque tu bosses dans un environnement JS.
    Pour un fichier de conf, tu auras le coût de la mise en place une fois au début du projet (car oui je te rejoins, c'est beaucoup plus trivial en JS quand tu as du JSON).
    Par contre avoir des commentaires dans le fichier de conf est utile tout au long du projet.

  3. #4293
    Citation Envoyé par Getz Voir le message
    Pour un fichier de conf, tu auras le coût de la mise en place une fois au début du projet (car oui je te rejoins, c'est beaucoup plus trivial en JS quand tu as du JSON).
    Par contre avoir des commentaires dans le fichier de conf est utile tout au long du projet.
    Ben dans ce cas du met des fichiers de config en JS/TS aussi et comme ça plus de soucis.

    Citation Envoyé par hijopr Voir le message
    Mon backend est en js. Donc pour compresser les jsons envoyés par les clients par exemple.
    Si t'utilises un reverse-proxy (genre nginx), je gérerais plutôt la compression à ce niveau.
    Si c'est pas le cas, ben node contient déjà "zlib" qui gère gzpi et brotli (et qui est utilisé par le middleware "compression" pour "express" par exemple).
    C'est la faute à Arteis

  4. #4294
    Citation Envoyé par Getz Voir le message
    Par contre avoir des commentaires dans le fichier de conf est utile tout au long du projet.
    S'ils sont tenus à jour... Mais oui pourquoi pas en effet.

    Sinon vous utilisez les schemas JSON dans vos projets?

  5. #4295
    Perso oui, pour valider des configs de routeurs
    Mais c'est tout, c'est le premier taff où j'en ai eu l'utilité. Le reste du temps c'est du json généré à partir d'entités en base de données, ou des formulaires soumis par un frontend, donc on s'en fiche un peu, on fait les validations autrement (par ex on charge l'entité, puis un coup de hibernate validator etc). Peut être par méconnaissance de la chose aussi.. car maintenant que je l'ai vu, j'aime bien.

  6. #4296
    Je l'utilise aussi, pour valider des requêtes websocket. C'est plutôt bien foutu.

    Par contre sur des plus gros fichiers complexes (les json de 4mo justement), c'est même pas la peine, le script timeout. Un code de validation sur mesure est beaucoup plus efficace.

  7. #4297
    JSON de 4mo -> c'est donc toi qui a optimisé les temps de chargement dans GTA V ? (pour la petite histoire, grosso-modo, le jeu mettait bcp de temps à charger à cause du parsing pas très optimisé d'un gros json. C'est un moddeur a trouvé ça)

  8. #4298
    Citation Envoyé par hijopr Voir le message
    Par contre sur des plus gros fichiers complexes (les json de 4mo justement), c'est même pas la peine, le script timeout. Un code de validation sur mesure est beaucoup plus efficace.
    Lequel de script? Il y a plusieurs implémentations de validateur par langage, ils sont tous trop lents? On peut récupérer celui de GTA V ou pas?

  9. #4299
    C'etait une des principales libs pour PHP. J'avoue ne pas en avoir testé d'autres une fois que celle ci à timeout à 30s. Maintenant j'ai mon propre code pour clean/validate les jsons avec des messages d'erreur au poil et qui est rapide

    Mais il s'agit d'objets avec des milliers de propriétés à valider, en arbre en plus. Il y a surement moyen d'utiliser json schema dessus avec des optimisations mais je suis satisfait de mon implémentation.

  10. #4300

  11. #4301
    Citation Envoyé par hijopr Voir le message
    C'etait une des principales libs pour PHP. J'avoue ne pas en avoir testé d'autres une fois que celle ci à timeout à 30s. Maintenant j'ai mon propre code pour clean/validate les jsons avec des messages d'erreur au poil et qui est rapide
    Tant mieux. J'imagine que ce code est très spécifique à ton utilisation du coup.

  12. #4302
    On fait fuire tous les barbus avec nos discussions sur les tech web.

    Vite parlons de l'allocation mémoire de références de pointeur de pointeur de reference de pointeur.

  13. #4303
    Bah tu codes des algos de compression a la mano, je pense que tu es au bon endroit.

  14. #4304
    Citation Envoyé par hijopr Voir le message
    On fait fuire tous les barbus avec nos discussions sur les tech web.
    Je penserais plutôt à des arts créatifs qu'à de la tech
    De rien

  15. #4305
    Citation Envoyé par hijopr Voir le message
    On fait fuire tous les barbus avec nos discussions sur les tech web.

    Vite parlons de l'allocation mémoire de références de pointeur de pointeur de reference de pointeur.
    Depuis que je fais du C toute la journée j'ai vraiment plus aucune frustration à déverser ici perso, vous pouvez parler de vos emmerdes haut niveau tant que vous voulez.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  16. #4306
    Citation Envoyé par vectra Voir le message
    Je penserais plutôt à des arts créatifs qu'à de la tech
    De rien
    Ecran blanc sur fond d'IE 11, Lapinsky 2021.

    Citation Envoyé par rOut Voir le message
    Depuis que je fais du C toute la journée j'ai vraiment plus aucune frustration à déverser ici perso, vous pouvez parler de vos emmerdes haut niveau tant que vous voulez.
    D'ailleurs tu n'as même plus le temps de passer avec toutes ces cases mémoires à libérer.

    :amorce une shitstorm sur les garbage collector:

  17. #4307
    Alors la solution c'est juste de tuer le process de temps en temps et de le relancer.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  18. #4308
    Est-ce que utiliser une MMU c'est faire du haut niveau ? C'est un peu facile, ça libère la mémoire automatiquement quand on ferme le processus.

  19. #4309
    @hijopr, tu vois, on ne les a pas trop perturbés.

  20. #4310
    Bien sûr qu'on ne les a pas perturbé. Ces gens codent en C/C++, ils ont atteint l'éveil spirituel.

  21. #4311
    Les mecs qui font du C++ c'est les pires.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  22. #4312
    Gloire à Bjarne Stroustrup !
    Anything that can go wrong will go wrong.

  23. #4313
    Juste pour éviter d'écrire trop de bêtises dans un topic presque sérieux...

    En usage courant, on n'utilise a priori jamais de pointeurs pour une appli C++. On fait juste le distinguo entre copie et référence dans les cas usuels, c'est tout.
    Les smart pointers sont là pour la désallocation automatique si tu as besoin de pointeurs: c'est dans la norme depuis 10 ans, c'était généralisé dans les grosses appli depuis 15.

    TL;DR, le C++ a énormément évolué depuis l'époque où il m'a été enseigné. Et même pour de l'embarqué, on trouve souvent du C++11 -comprendre: moderne- comme base de départ. Surtout s'il y a du QT derrière pour l'interface.

  24. #4314
    Citation Envoyé par vectra Voir le message
    [...]c'est dans la norme depuis 10 ans, c'était généralisé dans les grosses appli depuis 15.
    Ça c'est la théorie. Malheureusement il reste des tonnes de code en C++98, et il y a pas mal de boîtes qui continuent à ne pas vouloir passer en 11 pour ne pas avoir à installer autre chose que leur vielle Centos 6 ou du msvc13 qui tourne encore sous XP.
    On a même eu une presta ya pas longtemps avec du code compilé avec un gcc 2.jesaisplusquoi parce que c'était la dernière version supporté sur l'OS qu'ils avaient sur leur serveur.
    Ils voulaient passer sur une version plus récente, mais pas plus que la 4.5 donc pas de vrai support du C++11.
    Et c'était même pas une histoire de vieux code legacy qui tourne depuis 20 ans, le truc était toujours en développement actif (et en prod) et était buggué jusqu'à la moelle.

  25. #4315
    Comme tu le dis, buggué jusqu'à la moelle.
    C'est là que tu découvres l'intérêt de Qt et de boost, quand applicables. Parce que quand tu ne peux te faire une béquille avec ni l'un ni l'autre, je sais pas comment tu tiens tes programmeurs pour qu'ils restent. Ca devrait être interdit par la convention de Genève

  26. #4316
    C'est marrant parce que j'ai eu des expériences à l'opposé.

    Tantôt de l'allocation explicite en tout début d'initialisation de l'appli, aucun mécanisme de smart-pointer, ni de libération de la mémoire (!). Plutôt pour ce qui est embarqué avec des notions de safety (avionique).
    Tantôt de l'allocation explicite, et libération de la mémoire explicite également lorsque cohérent, sans mécanisme de smart-pointer (parce que ça ne sert à rien, en soi, si tu sais où et quand allouer/libérer et que y'a pas 36 cas possibles pour chacun). Plutôt dans des applis multimédia/calcul/besoin-de-perf.

  27. #4317
    Quand t'as de la perf, entre le SSE et le GPU, déjà tu alloues à la main pour respecter les contraintes d'alignement.
    Mais vu le taf que tu vas faire dessus par la suite, tu peux te permettre de désallouer à la main ces buffers "spéciaux" sans "salir" ton code.

    Dans le cas que tu cites, avec des buffers qui sont nécessaires toute la durée de vie du système, je ne vois pas l'intérêt de désallouer en effet.

  28. #4318
    En fait, plus que "on va l'utiliser durant tout le cycle de vie de l'appli" c'était du "on va devoir prouver par A+B qu'on a assez de mémoire, à tout instant, pour toutes les fonctionnalités du bouzin".

    Une solution simple et qui permet de chiffrer et prouver le résultat étant alors : on alloue tout, TOUT, au démarrage de l'appli, et on ne libère plus rien.
    Rien à redire sur cette solution, pour ce cas d'usage.

    J'aurais à redire sur plein d'autres trucs, bien sûr.

  29. #4319
    Citation Envoyé par vectra Voir le message
    Comme tu le dis, buggué jusqu'à la moelle.
    C'est là que tu découvres l'intérêt de Qt et de boost, quand applicables. Parce que quand tu ne peux te faire une béquille avec ni l'un ni l'autre, je sais pas comment tu tiens tes programmeurs pour qu'ils restent. Ca devrait être interdit par la convention de Genève
    Dans le cas dont je parle, je pense que boost ou qt ou ce que tu veux n'aurait pas changé grand chose au problème.
    Les gars avaient déjà du mal à se servir des hashmap correctement alors rajouter de l'abstraction par dessus je ne suis pas sûr que ça les aurait aidé.

  30. #4320
    Pour info, std::map est présent depuis c++98 et QMap est supporté depuis un bail aussi, dans des versions qui tolèrent de vieux compilos.

Page 144 sur 182 PremièrePremière ... 4494134136137138139140141142143144145146147148149150151152154 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •