Il est aussi possible d'utiliser docker compose qui va faire que tu ne joue plus qu'avec des docker compose up ou down (docker compose c'est un plugin de docker et pas un orchestrateur).
appeler un nouveau process en lui donnant uniquement accès au dossier (il y a des limitations fortes qui font que tu ne peut pas appeler un fichier ../file.txt par exemple)
Du coup c'est juste un bête request/response, ça aurait pu être fait en HTTP sur l'interface loopback. Je sais pas si deno sait utiliser une socket UNIX.
[^] # Re: Container ou rien
Posté par barmic 🦦 . En réponse au journal La galère de Python en déploiement. Évalué à  2.
Ce que tu décris c'est faire ce qui est en prod pour du développement ce n'est pas ce qu'il faut faire.
Tu utilise un dockerfile qui va bind ton dossier courant dans le container au lieu de faire une copie, c'est plus rapide et ça permet d'itérer sans problème.
Pour faire du vite fais tu peut mĂŞme te passer de dockerfile. De tĂŞte c'est de l'ordre
Tu peut soit détruire et reconstruire le conteneur quand tu change une dépendance soit faire un start pour mettre à jour les dépendances.
Il est aussi possible d'utiliser docker compose qui va faire que tu ne joue plus qu'avec des
docker compose up
oudown
(docker compose c'est un plugin de docker et pas un orchestrateur).Évidement tu peut utiliser des alias ou des choses comme just, tasks ou l'outil de build qui te plaît. Docker apporte d'autres éléments comme le fait de cloisonner ce que tu lance sur ta machine pour embêter ceux qui s'adonneraient à des supply chain attack. Et bien sûr si tu a besoin d'une base de données à côté c'est tout de même pratique.
J'ai du mal à comprendre ta démarche. Plutôt que de t'interroger sur la pratique, tu pars sur ton à priori. Tu te doute bien que si certains le font c'est que c'est pratique pour eux.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Retour de l'enseignement en France au lycée
Posté par barmic 🦦 . En réponse au lien Apprendre la programmation en Python n'est pas plus facile qu'en Java ou en C++. Évalué à  2.
Pour être parfaitement honnête c'est encore en preview, mais je tiens à souligner qu'il ne demande pas d'étape de compilation.
MĂŞme avec la version LTS tu met dans un fichier
hello.java
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: banque sans appli ?
Posté par barmic 🦦 . En réponse au journal Où je me cherche une banque. Évalué à  3.
TRACFIN est sur tes cĂ´tes
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# D[ié]férer
Posté par barmic 🦦 . En réponse à la dépêche Lettre d'information XMPP d'octobre 2024. Évalué à  2.
Pour la cohérence si j'en crois la version anglaise c'est bien "déférée" et non "différée" j'aurais pu comprendre l'un comme l'autre.
AMHA ça pourrait être bien de présenter le processus avec un diagramme par exemple avec une machine à états.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Perplexe
Posté par barmic 🦦 . En réponse au journal UV un énième packageur python. Évalué à  6.
Il me semble que l'une des particularité de l'écosystème python c'est d'avoir toujours eu une grande permissivité en vers le code natif avec des bibliothèques comme numpy pour le plus évident qui mixent du code python et du code C.
C'est toujours plus satisfaisant d'avoir les outils dans le mĂŞme langages, mais le plafond de performance de python et de rust sont pas les mĂŞme.
Après c'est un outil de plus, il y en aura 5 nouveaux d'ici le printemps.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: java bien
Posté par barmic 🦦 . En réponse au journal La galère de Python en déploiement. Évalué à  3.
Tu peux mĂŞme le faire en java avec jbang.
Mais pour l'un comme pour l'autre je n'ai pas trouvé d'IDE qui me supporte correctement. C'est à dire qui tire les dépendances et ne te met pas des erreurs partout et peut faire de l'autocomplétion.
Kotlin a une fonctionnalité similaire en expérimentation ça décidera peut être a donner un support correct à intellij
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Debian ne pip plus ?
Posté par barmic 🦦 . En réponse au journal La galère de Python en déploiement. Évalué à  3. Dernière modification le 24 décembre 2024 à 19:31.
Ça vient de pip 21.1 (ça a était intégré comme un bug fix) en avril 2021 et toute la discussion se trouve là : Discourage usage of pip as root.
Edit: Pardon c'est une autre modification aussi de mai 2021 : PEP 668 – Marking Python base environments as “externally managed”
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: java bien
Posté par barmic 🦦 . En réponse au journal La galère de Python en déploiement. Évalué à  3.
Je n'avais pas fait gaffe mais oui on utilise énormément de bibliothèque en Java. Ce qui fait que java est différent de python c'est le classpath. Un programme java a une configuration lui indiquant la liste de ses dépendances, il n'y a donc aucun problème à avoir plusieurs versions d'une bibliothèque dans des versions différentes qui sont utilisées en même temps.
C'est un peu verbeux, même maven se prépare a faire en sorte que ce soit une seule ligne (pour maven 5 il me semble, maven 4 - qui est en RC2 - étant la préparation de la version 5).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Ah les devs ...
Posté par barmic 🦦 . En réponse au journal La galère de Python en déploiement. Évalué à  4.
Moi je me suis trouvé un champion, il gère venv pour moi et je commit 3 fichiers (un lock file, un pour la version de python et un pour la description du projet) et pour les cas les plus simples (ce que je fais le plus) il peut simplement se baser sur un commentaire dans le fichier.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Rust ?
Posté par barmic 🦦 . En réponse au journal UV un énième packageur python. Évalué à  9.
Pour le coup non puisque je ne le compile pas moi-même j'ai décidé il y a bien longtemps de faire confiance à mon gestionnaire de paquet. Ça demande d'installer quelque chose plutôt que d'utiliser ce qui est dans une installation de python vanilla (ou en tout cas ce qui est sur ma machine), mais je trouve que le confort de l'usage en vaut la peine.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Série d'articles
Posté par barmic 🦦 . En réponse au journal UV un énième packageur python. Évalué à  4.
Oui j'ai oublié d'ajouter le lien après la rédaction et j'ai toujours du mal à la retrouver.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Non
Posté par barmic 🦦 . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à  0.
Quand c'est amateur oui, mais quand c'est RedHat c'est difficile Ă invoquer.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Non
Posté par barmic 🦦 . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à  1.
Il me semble que le point est un peu différent. Prenons un logiciel comme Ansible, il appartiens à RedHat ou IBM, ces entreprises paient des développeurs pour travailler dessus. Moi aussi développeurs de profession est-ce que j'ai réellement du point de vu de l'URSAFF le droit de contribuer bénévolement à Ansible (j'ai aucune idée de s'ils acceptent les contributions extérieures) ?
Je peux tout à fait comprendre qu'il s'agit là d'un cas où mon travail représente une concurrence déloyale à l'embauche chez IBM/RH et que non seulement ça tomberait sous le coup de la loi mais que c'est réellement ce que le législateur a tenté d'empêcher.
C'est différent pour le logiciel qui sont géré par des fondations par exemple.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Non
Posté par barmic 🦦 . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à  1.
Je ne sais pas comment ça se passe d'ailleurs en France. Si le logiciel est clairement maintenu par une entreprise, je vois mal comment le distinguer d'un travail déguisé (et je suis même pas sûr que ça n'en soit pas).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  1.
Je doute que ce soit arrivé. Je pense que c'est arrivé lors d'une mise à jour. Et c'est à voir avec les développeurs de savoir pourquoi est-ce qu'ils ont retirer le support. Il y a pleins de raisons possibles (des remontés de bugs dessus avec personnes dans l'équipe en mesure de les reproduire/tester, volonté de garder un code simple, impossibilité de faire quelque chose qu'ils voudraient avec OpenGL4, une dépendance qu'ils utilisent qui ne supporte plus OpenGL4,…). Ça t'énerve peut être, mais c'est à voir avec les développeurs.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  1.
Alors oui je parlais évidemment du linkage dynamique le link des bibliothèque pour être statique ou dynamique
Le "pour ce cas là " fait référence au cas où tu as une implémentation X11 (xcb ou xlib pour être exact) et wayland (et frame buffer et d'autres choses si besoin) et il permet de ne pas avoir a implémenter la sélection dans ton code. L'installation n'installe que l'un ou que l'autre ou la distribution peut te faire linker avec l'implémentation qui correspond à ce qui correspond actuellement à l'environnement. C'est en ça que le fait qu'il y a pleins de techniques pour faire de la sélection tardives d'implémentation et que le fait que ça existe pour X/Wayland n'indique pas du tout que c'est possible par ailleurs.
Même sans ça le fait que le serveur d'affichage te permet de détecter sa présence n'indique pas que le CPU te permet de savoir quel jeu d'instruction existe ou pas.
Bref c'est intéressant de savoir que cpuid récupère ces informations depuis le CPU lui-même et pas depuis une base de connaissance.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  2.
C'est pas le concept générique qui est oublié, mais la possibilité de découvrir à l'exécution ce qui est disponible ou non sur le cpu. Surtout que les techniques peuvent être très différentes. Pour ce cas là , ça pourrait être au linkage avoir une implémentation pour chacun pour le cas des stack graphiques
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  3.
Je savais pas (ou j'ai oublié) qu'on pouvait avoir un branchement au runtime pour en vérifiant l'existence des instructions.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  3. Dernière modification le 18 décembre 2024 à 12:01.
OpenMP ne peut pas inventer le processeur sur le quel il va tourner. Donc ça va dépendre de la cible que tu donne à ton compilateur. Tout le point plus haut est de justement être en mesure d'utiliser les instructions de ton CPU qui vont permettre d’accélérer l’exécution.
Il n'y a pas vraiment de magie pour ça ou plutôt il y en a une mais elle est pas gratuite c'est d'avoir du JIT.
L'idée c'est de compiler le code sur la machine cible au moment où tu as sais quel CPU tu utilise et tu as des stats pour faire de la compilation guidé par des profile. C'est java et probablement C#. Après il faut que le code intermédiaire aide à trouver les optimisations possibles donc par exemple ai une abstraction de SIMD.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: je reste septique sur un point ...
Posté par barmic 🦦 . En réponse à la dépêche Deno 2.0 est là . Évalué à  2.
bien vu
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: je reste septique sur un point ...
Posté par barmic 🦦 . En réponse à la dépêche Deno 2.0 est là . Évalué à  2.
En fait tu peu le faire avec des containers, mais il faut instancier un container par utilisateur différent (c'est pour ça que le faas a du sens).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: je reste septique sur un point ...
Posté par barmic 🦦 . En réponse à la dépêche Deno 2.0 est là . Évalué à  2. Dernière modification le 17 décembre 2024 à 17:02.
Ce n'est pas lui qui crée le dossier, je lui dis quel dossier il a le droit de lire et m'assure qu'il n'a le droit de lire que ce dossier
Le premier pour qu'il ai le droit de lire ce dossier et le second pour que le script puisse savoir quel dossier il peut lire.
Tu as la doc ici:
https://docs.deno.com/runtime/fundamentals/security/#file-system-access
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: je reste septique sur un point ...
Posté par barmic 🦦 . En réponse à la dépêche Deno 2.0 est là . Évalué à  3.
Tout à fait et faire du FAAS aurait put être une option, mais disons que faire un choix de déploiement et un choix de dev n'est pas les même personnes ni les même enjeux.
Interaction est un bien grand mod pour être tout à fait précis :
Le code qui reçoit la requette va :
../file.txt
par exemple)Le processus lit sa conf, regarde la requĂŞte dans son stdin et fait son job.
Si tous se passe bien il écrit le résultat dans sa sortie standard, sinon il écrit l'erreur dans sa sortie d'erreur.
Le parent pose un timer pour limiter le temps d’exécution du sous processus.
Du coup c'est juste un bête request/response, ça aurait pu être fait en HTTP sur l'interface loopback. Je sais pas si deno sait utiliser une socket UNIX.
Je sais pas si c'est suffisamment clair.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: je reste septique sur un point ...
Posté par barmic 🦦 . En réponse à la dépêche Deno 2.0 est là . Évalué à  5.
Je me sers justement de deno pour ça :)
Ma boite donne une fonctionnalité qui permet grosso modo à des utilisateurs d'écrire une fonction js que l'on exécute en suite nous sur nos serveurs. C'est une forme de plugin.
Et ben pour ça on a un service qui spawn un deno pour exécuter cette fonction (et quelques autres trucs) et communique avec via
std{in,out,err}
. C'est une forme de séparation de privilège comme le décrit le projet openbsd où ils découpent les logiciels entre la partie qui a besoin de privilège et celle qui n'en a pas.A noter aussi qu'il est possible d'être plus fin et par exemple de limiter l'accès uniquement à une partie du système de fichier.
Alors que je me suis jamais vraiment penché sur node, j'aime vraiment bien deno qui est devenu l'un des interpréteurs que j'utilise pour différents scripts juste pour moi en remplacement de python. J'ai des scripts qui ne font plus ou moins que des appels rest, typescript est très bon pour ça sans la moindre dépendance en plus (bon deno du coup). Et pour les fois où je fais du scrapping fetch + domparser est plus pratique pour moi que request + beautifulsoup.
Une fonctionnalité que je trouve vraiment sympa, c'est que tu peut avoir de la persistance simple sans prise de tête avec deno puisqu'il implémente le localstorage. Ça permet à certains de mes scripts d'avoir un cache sans m'embêter plus que ça.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Who's that guy ?
Posté par barmic 🦦 . En réponse au lien Software is Way Less Performant Today. Évalué à  6.
Une de mes grandes fiertés de cette année, c'est d'avoir sur quelques mois :
et ainsi obtenu des gains de 50% de nos débits (sous charge sinon ça se voit pas) sur un pan assez important de notre logiciel.
C'est une illustration de ce que je décrivais, il ne faut pas opposé la complexité algo et le CPU, il faut les coordonner pour arriver au résultat que tu attends.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll