Python est un langage dynamique, la création de classe est donc également dynamique. C'est un aspect de Python qui le rend très puissant, et la plupart des ORMs Python utilisent ce comportement.
Python n'a que 2 espaces de noms : global et local.
Donc :
# globalclassFoo:# localdefmeth(self):# local (mais un nouveau local, pas celui au dessus)...
Quand une variable n'est pas définie dans l'espace de nom "local", Python le cherche dans l'espace de nom "global". Dans ton exemple, x n'existe pas dans "global", d'où l'erreur.
Le corps de la classe est exécuté lors de la création de la classe, mais le corps de la méthode est exécuté que lorsqu'elle est appelée, l'espace de nom du corps de la classe n'existe donc plus à ce moment là.
D'ailleurs, l'auteur de HTMX travaille actuellement sur des RFC / Specifications pour introduire dans HTML certaines fonctionnalités de HTMX.
Source: trust me bro. Plus sérieusement, j'avais vu passer un lien sur HackerNews parlant de cela il y a quelques temps, mais impossible de le retrouver :(
Pour mon test, j'ai utilisé Zapier pour créer une Webhook et transmettre les messages sur un Slack. Zapier te permettra également d'envoyer des mails, d'ouvrir des tickets Jira, etc… C'est un outil assez complet.
A $emploi_actuel on compte utiliser les webhook de AWX pour déclencher l'exécution de job Ansible lors de la réception de certains types de logs.
En fait, comme derrière c'est une simple requête HTTP POST, tu fais ce que tu veux.
Ce que je vois beaucoup au boulot, c'est du Prometheus+AlertManager, du Grafana + Grafana Alerting, du Splunk ou Datadog. On a aussi du SNMP. Et les notifications de tout ces systèmes sont ensuite envoyées par mail aux équipes concernées.
De même beaucoup de logiciels n'ont jamais demarrés proprios.
Bah si, tous en fait. A cause du droit d'auteur. Une licence libre ne fait que donner des droits aux autres sur une création dont l'auteur a tout les droits.
Avant ce premier commit qui inclus le LICENSE.txt ou équivalent, toutes création est privée/propriétaire. Tu dois activement donner des libertés.
Tu ne commences pas dans le domaine publique, ce qui nécessiterait d'activement retirer des libertés.
si il y a eu un changement arbitraire une fois, ça peut rechanger à nouveau. Aucune garantie n'est donné
Je dirais même plus, pour absolument tout les projets qui existent dans le monde, si il y a eu un changement arbitraire 0 fois, ça peut changer. Aucune garantie n'est donnée.
Toute création est d'abord privée, soumise au droit d'auteur, puis ensuite rendue publique, et donnant plus ou moins de droits sur son usage. L'auteur est maître absolue de la création, il en fait ce qu'il veut.
Croire que l'on peut avoir une quelconque garantie de quoi que ce soit concernant l'oeuvre et l'auteur, s'est se mettre le doigt dans l'oeil jusqu'au coude.
Alors, sur un screenshot on le voit pas, mais les lignes sont "animées" ce qui aide à la visualisation :)
Après, c'est surtout que je voulais faire tenir l'ensemble de la pipeline sur la capture d'écran. De toute façon, il y a plein de choses à améliorer sur le design.
React Flow offre la possibilité d'agencer les noeuds automatiquement, mais non, ici c'est bien moi qui ait fait ça ^
Effectivement, pour le travail je communique principalement en Anglais (notre équipe est composés de personnes de plusieurs pays d'Europe différents, l'Anglais est le dénominateur commun). J'en oubli souvent mon Français.
J'ai fait des efforts ici pour essayer de traduire au mieux, mais j'ai du mal :)
on a un opinion défavorable de ELK pour aucune raison valable si ce n'est qu'on aime pas.
Déjà que je suis douteux de la pertinence des sujets politiques non directement liés à Linux ou à l'OpenSource (mais bon, on me dit souvent que le libre c'est de la politique…), là c'est clairement un sujet va attiser les conflits et tensions entre les membres et ne risque pas d'apporter quoi que ce soit de bien ou d'intéressant au site.
1) Anglicisme c'est un emprunt à l'anglais, ici c'est un mot anglais re-traduit en français, donc bien une francisation et non un anglicisme. Quitte à être chiant, autant l'être jusqu'au bout non ?
2) Je suis pas le seul a utiliser ce mot dans ce sens, pourquoi me reprendre moi et pas les autres ?
3) Tu as ton avis, une bibliothèque c'est à propos de livres (bibli), ici on n'a pas de lives. On a parfaitement le droit de ne pas adhérer aux traductions classiques de LinuxFR
4) En fait, je n'adhère même pas à cette manie de tout vouloir traduire. cadriciel ? sérieusement ?
le cuisinier, c'est quel meuble — à des fins d'équité ? /o\
Ce genre d'équité à la mord-moi-le-noeud, je m'en contre fiche.
Bref, t'as eu envie d'être chiant et trolleur alors qu'on n'est pas Vendredi. C'est triste de voir les traditions se perdre.
Quand tu as un site majoritairement statique, avec quelques petits endroit ou un widget interactif peu être sympa, ne pas avoir à utiliser React/Vue/Angular qui est bien plus intrusif, c'est pas déconnant.
[^] # Re: what
Posté par David Delassus (site web personnel) . En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 9.
"Imbitable" ça insinue que cela serait impossible a comprendre.
Hors cela suit des règles simples et précises et d'autant plus logique si on tient compte de la nature et la philosophie du langage.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: what
Posté par David Delassus (site web personnel) . En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 5.
Python est un langage dynamique, la création de classe est donc également dynamique. C'est un aspect de Python qui le rend très puissant, et la plupart des ORMs Python utilisent ce comportement.
Je ne vois rien de choquant ici.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Petite bizarrerie à noter
Posté par David Delassus (site web personnel) . En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 10.
Python n'a que 2 espaces de noms : global et local.
Donc :
Quand une variable n'est pas définie dans l'espace de nom "local", Python le cherche dans l'espace de nom "global". Dans ton exemple,
x
n'existe pas dans "global", d'où l'erreur.Le corps de la classe est exécuté lors de la création de la classe, mais le corps de la méthode est exécuté que lorsqu'elle est appelée, l'espace de nom du corps de la classe n'existe donc plus à ce moment là.
Il faut imaginer que ce qu'il se passe c'est ça :
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: hello
Posté par David Delassus (site web personnel) . En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 4.
Lors de l'instanciation de la classe, les variables de classes sont copiées dans l'instance (self).
Les collections en Python sont des références, c'est donc la référence qui est copiée.
C'est comme en C au final :
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Merci
Posté par David Delassus (site web personnel) . En réponse au journal Nouvelle version de FlowG - De HTMX à React, pour une meilleure expérience utilisateur ?. Évalué à 4.
Je peux difficilement me citer moi même comme source :D
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Merci
Posté par David Delassus (site web personnel) . En réponse au journal Nouvelle version de FlowG - De HTMX à React, pour une meilleure expérience utilisateur ?. Évalué à 3.
D'ailleurs, l'auteur de HTMX travaille actuellement sur des RFC / Specifications pour introduire dans HTML certaines fonctionnalités de HTMX.
Source: trust me bro. Plus sérieusement, j'avais vu passer un lien sur HackerNews parlant de cela il y a quelques temps, mais impossible de le retrouver :(
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Alerting
Posté par David Delassus (site web personnel) . En réponse au journal FlowG sort en version v0.10.0 avec beaucoup de nouveautés. Évalué à 2.
Pour mon test, j'ai utilisé Zapier pour créer une Webhook et transmettre les messages sur un Slack. Zapier te permettra également d'envoyer des mails, d'ouvrir des tickets Jira, etc… C'est un outil assez complet.
A
$emploi_actuel
on compte utiliser les webhook de AWX pour déclencher l'exécution de job Ansible lors de la réception de certains types de logs.En fait, comme derrière c'est une simple requête HTTP POST, tu fais ce que tu veux.
Ce que je vois beaucoup au boulot, c'est du Prometheus+AlertManager, du Grafana + Grafana Alerting, du Splunk ou Datadog. On a aussi du SNMP. Et les notifications de tout ces systèmes sont ensuite envoyées par mail aux équipes concernées.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: saoultion légère ?
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
pstree
est-il compilé statiquement ? Et possède-t-il le gros runtime de Go ? :)https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# Citation de la série "En place"
Posté par David Delassus (site web personnel) . En réponse au journal Droit à l'oubli ?. Évalué à 4.
La politique c'est comme l'andouillette. Quand c'est bien fait ça pue toujours un peu la merde.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Oui, droit à l'oubli, droit à changer d'avis : démocrate et lté d'exp.
Posté par David Delassus (site web personnel) . En réponse au journal Droit à l'oubli ?. Évalué à 9.
"a des affinités avec" != "appartient au même parti politique"
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Le point manquant...
Posté par David Delassus (site web personnel) . En réponse au lien Elasticsearch adopte la licence AGPL pour redevenir opensource. Évalué à 5.
Bah si, tous en fait. A cause du droit d'auteur. Une licence libre ne fait que donner des droits aux autres sur une création dont l'auteur a tout les droits.
Avant ce premier commit qui inclus le
LICENSE.txt
ou équivalent, toutes création est privée/propriétaire. Tu dois activement donner des libertés.Tu ne commences pas dans le domaine publique, ce qui nécessiterait d'activement retirer des libertés.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Le point manquant...
Posté par David Delassus (site web personnel) . En réponse au lien Elasticsearch adopte la licence AGPL pour redevenir opensource. Évalué à 4.
Je dirais même plus, pour absolument tout les projets qui existent dans le monde, si il y a eu un changement arbitraire 0 fois, ça peut changer. Aucune garantie n'est donnée.
Toute création est d'abord privée, soumise au droit d'auteur, puis ensuite rendue publique, et donnant plus ou moins de droits sur son usage. L'auteur est maître absolue de la création, il en fait ce qu'il veut.
Croire que l'on peut avoir une quelconque garantie de quoi que ce soit concernant l'oeuvre et l'auteur, s'est se mettre le doigt dans l'oeil jusqu'au coude.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: intéressant
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
Merci :)
N'hésite pas à faire des retours, toutes critiques est bonne pour améliorer la solution ^
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: nosql ?
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
Désolé de faire ça en 2 commentaires, j'ai oublié de préciser :
Je veux aussi que l'outil soit le plus simple possible a déployer. C'est à dire une seule image Docker.
Donc dépendre d'une base de données externe comme PostgreSQL c'était exclu.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: agencement des blocks
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
Alors, sur un screenshot on le voit pas, mais les lignes sont "animées" ce qui aide à la visualisation :)
Après, c'est surtout que je voulais faire tenir l'ensemble de la pipeline sur la capture d'écran. De toute façon, il y a plein de choses à améliorer sur le design.
React Flow offre la possibilité d'agencer les noeuds automatiquement, mais non, ici c'est bien moi qui ait fait ça ^
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: nosql ?
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
Sisi, l'outil stocke bien les données.
Mon choix s'est porté sur BadgerDB car c'est une base de données clés/valeurs très solide et distribuée sous forme de librairie Go.
Une base de données SQL implique d'avoir un schéma, ou de s'en servir comme une base de donnée clé/valeur.
Pour ce qui est de la structure de données sous jacente, BadgerDB utilise un LSM Tree ( https://en.wikipedia.org/wiki/Log-structured_merge-tree ) ce qui se prête très bien aux données que je désire stocker.
De plus BadgerDB supporte les transactions ACID (la plupart des base de données SQL aussi cela dit), donc il n'y a aucun inconvénient à l'utiliser.
En utilisant une base de données clés/valeurs, j'ai aussi un meilleur contrôle sur la structure de données pour les indexes.
Je t'invite à lire ce document : https://github.com/link-society/flowg/blob/main/docs/design/storage.md
Il est peut être incomplet, donc tout retours dessus est bienvenu :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: préjudice ?!
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 3.
Effectivement, pour le travail je communique principalement en Anglais (notre équipe est composés de personnes de plusieurs pays d'Europe différents, l'Anglais est le dénominateur commun). J'en oubli souvent mon Français.
J'ai fait des efforts ici pour essayer de traduire au mieux, mais j'ai du mal :)
C'est le sentiment que je voulais partager ^
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: saoultion légère ?
Posté par David Delassus (site web personnel) . En réponse au journal FlowG - Une solution "Low Code" de traitement de journaux (systèmes). Évalué à 5. Dernière modification le 23 août 2024 à 09:23.
Un binaire qui embarque les fichiers statiques, ainsi que l'interpréteur VRL.
Dans ton
PATH
, tes binaires sont compilés dynamiquement, et n'embarquent pas de code JS, CSS, d'images, de fonts, …Comparons ce qui est comparable. Ici l'empreinte totale de FlowG sur le disque après installation, c'est 40Mo.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: unbeuliveubeul
Posté par David Delassus (site web personnel) . En réponse au lien Windows can now create 2TB FAT32 file systems + création de sandboxes dans Windows Pro & Entreprise. Évalué à 2.
The year of the Windows Desktop!
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: FlameWar incoming
Posté par David Delassus (site web personnel) . En réponse au journal Je m'emmerde alors je tire.... Évalué à 6.
La guerre c'est pas un sujet politique ?
Sinon, c'est quoi le lien avec Linux et le Logiciel Libre ?
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# FlameWar incoming
Posté par David Delassus (site web personnel) . En réponse au journal Je m'emmerde alors je tire.... Évalué à 4.
Déjà que je suis douteux de la pertinence des sujets politiques non directement liés à Linux ou à l'OpenSource (mais bon, on me dit souvent que le libre c'est de la politique…), là c'est clairement un sujet va attiser les conflits et tensions entre les membres et ne risque pas d'apporter quoi que ce soit de bien ou d'intéressant au site.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Un peu de nuance
Posté par David Delassus (site web personnel) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à -2.
1) Anglicisme c'est un emprunt à l'anglais, ici c'est un mot anglais re-traduit en français, donc bien une francisation et non un anglicisme. Quitte à être chiant, autant l'être jusqu'au bout non ?
2) Je suis pas le seul a utiliser ce mot dans ce sens, pourquoi me reprendre moi et pas les autres ?
3) Tu as ton avis, une bibliothèque c'est à propos de livres (bibli), ici on n'a pas de lives. On a parfaitement le droit de ne pas adhérer aux traductions classiques de LinuxFR
4) En fait, je n'adhère même pas à cette manie de tout vouloir traduire. cadriciel ? sérieusement ?
Ce genre d'équité à la mord-moi-le-noeud, je m'en contre fiche.
Bref, t'as eu envie d'être chiant et trolleur alors qu'on n'est pas Vendredi. C'est triste de voir les traditions se perdre.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Un peu de nuance
Posté par David Delassus (site web personnel) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 0.
Une librairie c'est aussi la francisation du terme anglais "library" qui veut dire bibliothèque, contrairement à "book shop".
Donc, ne pas confondre librairie et librairie. Tout comme il ne faut pas confondre cuisinière (la machine) et cuisinière (la personne).
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Le cas d'école JQuery de Javascript
Posté par David Delassus (site web personnel) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 3.
La faute à celui qui audit pas ses dépendances ;)
Il y a d'abord l'argument subjectif : l'API de jQuery est plus sexy/concise/lisible que l'API vanilla.
Et ensuite, il y a l'argument un peu moins subjectif : jQuery apporte encore beaucoup, notamment tout un écosystème de plugin :
Quand tu as un site majoritairement statique, avec quelques petits endroit ou un widget interactif peu être sympa, ne pas avoir à utiliser React/Vue/Angular qui est bien plus intrusif, c'est pas déconnant.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Un peu de nuance
Posté par David Delassus (site web personnel) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 10.
Non c'est 2 librairies :
Heureusement, il existe des libs permettant de les différencier :
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg