Encore un point sur YAML, lĂ oĂč je travaille nous utilisons beaucoup Java/Spring Cloud (en plus d'Ansible d'ailleurs).
La configuration de Spring Cloud est faite via le fichier bootstrap.yml qui, comme son extension l'indique, est fichier YAML.
J'imagine le pauvre exploitant seul devant son clavier en pleine nuit dans un incident et avec une modification d'un fichier YAML Ă effectuer avec son vi.
[^] # Re: YAML beurk
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal DĂ©ploiement et automatisation avec Ansible - partie 1. ĂvaluĂ©Â Ă Â 4.
Encore un point sur YAML, lĂ oĂč je travaille nous utilisons beaucoup Java/Spring Cloud (en plus d'Ansible d'ailleurs).
La configuration de Spring Cloud est faite via le fichier bootstrap.yml qui, comme son extension l'indique, est fichier YAML.
La configuration de Spring Cloud est assez complÚte (pour ne pas dire assez complexe ;) ) et l'exploitant doit parfois activer des configurations particuliÚres qui ne sont pas livrées par défaut.
Il est parfois nécessaire d'ajouter des configurations supplémentaires qu'il ne connait pas, alors il nous demande le bloc YAML à ajouter.
Et là , ça devient assez pénible car il faut prendre en compte les indentations des lignes précédentes pour que cela fonctionne.
Si l' exploitant l'a modifié (ce qui est normal), alors il ne peut pas copier/coller la section sans tout ré indenter.
[^] # Re: YAML beurk
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal DĂ©ploiement et automatisation avec Ansible - partie 1. ĂvaluĂ©Â Ă Â 1.
Oui, visuellement YAML c'est clair.
Par contre, le modifier sans un éditeur/ide qui t'assiste, à mon humble avis, c'est l'enfer et c'est la majorité des cas pour les exploitants qui accÚdent à leurs serveurs en SSH via vi/emacs.
Pour moi, TOML a l'avantage de s'appuyer sur des caractÚres facilement identifiables pour définir ses structures.
Avec TOML, tu peux indenter si tu souhaites pour clarifier (comme dans les langages de programmation) ta configuration mais ce n'est pas obligatoire.
Donc, tu peux dans les moments critiques (e.g. incident de production en pleine nuit) modifier "Ă l'arrache"Âź ton fichier et y revenir plus tard.
# YAML beurk
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal DĂ©ploiement et automatisation avec Ansible - partie 1. ĂvaluĂ©Â Ă Â 6. DerniĂšre modification le 08 janvier 2017 Ă 07:45.
Je déteste YAML, bien que super puissant, je trouve ce format trÚs peu pratique en modification.
Je ne sais jamais s'il faut indenter avec plus d'espace ou non, mettre un tiret ou non⊠Bref c'est la misÚre pour ma part.
J'imagine le pauvre exploitant seul devant son clavier en pleine nuit dans un incident et avec une modification d'un fichier YAML Ă effectuer avec son vi.
Je préfÚre largement utiliser TOML.
# Coquille Ă corriger
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal PrivateBin sĂ©curise vos partages de texte en version 1.1. ĂvaluĂ©Â Ă Â 1.
Dernier paragraphe:
⊠je vous conseille d'alerâŠ
Merci
# Je ne connaissais pas
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal molotov-tv. ĂvaluĂ©Â Ă Â 3.
Bonjour,
Je ne connaissais pas comme service, j'ai testé sur une Archlinux (disponible via le dépÎt Aur).
Il fonctionne bien.
Merci pour le lien.
# PlantUML
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal Ăcrire des diagrammes de sĂ©quences. ĂvaluĂ©Â Ă Â 10.
Personnellement, moi j'utilise PlantUML depuis des années pour tous mes diagrammes UML. Je peux facilement mettre mes doc UML avec mon code en gestion de conf.
[^] # Re: Et pour se coucher un peu moins tard
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal ce 4 aoĂ»t. ĂvaluĂ©Â Ă Â 3.
Oui mais le spectacle ne dure qu'une seconde.
[^] # Re: sondage
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal Java (EE) Sapu cĂ©palibre.. ĂvaluĂ©Â Ă Â 5.
Je peux te dire que dans mon entreprise (grand telco français). L'équipe, dont je fais parti, développe une application critique basée sur une architecture microservices. Et un gros 1/3 des microservices est écrit en Go.
Et pour ma part, c'est un réel bonheur par rapport à Java/spring/spring boot/spring cloud.
Il y a beaucoup moins de tuning à faire, ça fonctionne beaucoup mieux "out of the box" (pas de pool de thread à configurer, consommation mémoire bien plus sobre, déploiement simplifié)
De plus, il y a pleins de fonctionnalités utilisables directement car disponibles sur l'os hÎte (e.g. Upgrade d'un microservice sans aucune interruption de service via simple fork et passage du fd du socket au processus fils).
J'ai l'impression de ne pas vivre dans un environnement aseptisé imposé par la jvm, je peux donc facilement tirer avantages des fonctionnalités proposées de l'os sous-jacent (i.e. GNU/Linux pour ma part).
[^] # Re: Attention !!!!
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal Samedi 16 avril 2016 - Richard Stallman Ă Choisy-le-Roi (94). ĂvaluĂ©Â Ă Â -1. DerniĂšre modification le 12 avril 2016 Ă 09:34.
T'habites à Fleury ?
Je continue dans les blagues potaches.
OK -> []
# Ă mon avis, ce n'est pas le meilleur endroit
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal Samedi 16 avril 2016 - Richard Stallman Ă Choisy-le-Roi (94). ĂvaluĂ©Â Ă Â 2.
Perso, j'aurais choisi Bourg-La-Reine.
OK -> []
[^] # Re: redirection google
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal Quelles extensions pour votre Firefox?. ĂvaluĂ©Â Ă Â 0.
Au temps pour moi. OK je sors :)
# Nombre de goroutine
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse Ă la dĂ©pĂȘche Sortie du langage Go en version 1.6. ĂvaluĂ©Â Ă Â 6. DerniĂšre modification le 21 fĂ©vrier 2016 Ă 16:01.
Merci pour cet article.
PlutÎt que de retenir une limite haute pour le nombre de goroutine, il faut plutÎt dire que le nombre de goroutine est rarement le facteur limitant, si c'est goroutine sont en attente par exemple de paquets réseau.
Il y a une vidĂ©o de Rob Pike (que je n'arrive plus Ă retrouver) oĂč il indique qu'il est courant de voir des serveurs de production chez Google avec des centaines de milliers voire des millions de goroutine.
Ce billet de chez Cloudflare montre que leur serveur DNS (Ă©crit en Go) lance 40k goroutines sans souci particulier autres que des stacks montreuse :)
Personnellement, pour certains cas particuliers, il m'arrive de lancer des centaines de milliers de goroutine sans problĂšme.
La taille minimale de la stack d'une goroutine est de 2ko qui est donc bcp plus petite que celle d'un thread.
# Ne semble pas fonctionner avec synergy
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse Ă la dĂ©pĂȘche Sortie de WinCompose 0.7.5. ĂvaluĂ©Â Ă Â 2.
Hello,
J'utilise synergy au boulot un PC sous Windows (c'est le client synergy) et un PC sous Linux (c'est le serveur), et malheureusement, cela ne fonctionne pas car les touches venant de synergy ne semblent pas capturées par WinCompose.
TristesseâŠ
[^] # Re: il te manque un flush quelque part.
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au message systemd/journld ne capture pas tous les messages de la STDOUT. ĂvaluĂ©Â Ă Â 1.
Le problÚme vient bien du mécanisme d'anti-flooding qui limite à 1000 messages par tranche de 30s (c'est la configuration par défaut).
Il suffit juste de mettre la clef
RateLimitBurst
Ă 0 (sous Archlinux) dans le fichier/etc/system/journald.conf
et de redémarrer journald. Et cela fonctionne.Ce n'est donc pas un problÚme venant de go.
[^] # Re: il te manque un flush quelque part.
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au message systemd/journld ne capture pas tous les messages de la STDOUT. ĂvaluĂ©Â Ă Â 1.
AprĂšs une rechercher rapide, je pense que c'est la cause de mon pb :
http://www.freedesktop.org/software/systemd/man/journald.conf.html#RateLimitInterval=
J'essayerai d'ici la fin de semaine et je vous tiens au courant si ça corrige ou pas le pb.
[^] # Re: il te manque un flush quelque part.
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au message systemd/journld ne capture pas tous les messages de la STDOUT. ĂvaluĂ©Â Ă Â 2.
Je viens de demander Ă la liste de golang nuts https://groups.google.com/forum/#!topic/golang-nuts/0n8EkqakuTc
D'aprÚs eux, c'est dû à un mécanisme d'anti-flooding genre 1000 msg par minute.
Savez-vous oĂč je peux trouver ce genre de configuration pour journald/systemd ?
[^] # Re: Me déplacer un maximum en vélo
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au sondage Pour le climat je suis prĂȘt(e) Ă .... ĂvaluĂ©Â Ă Â 4.
De toutes les façons, je suis gourmand, donc je mangerais dans tous les cas :)
# Me déplacer un maximum en vélo
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au sondage Pour le climat je suis prĂȘt(e) Ă .... ĂvaluĂ©Â Ă Â 7.
Tous mes trajets maison<->travail sont effectués depuis plus d'un an à vélo (et déjà plus de 5600 km au compteur :) )
[^] # Re: got get et version
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse Ă la dĂ©pĂȘche The Go Programming Language. ĂvaluĂ©Â Ă Â 3.
Personnellement, j'utilise gb qui fonctionne trÚs bien et surtout ;
- ne modifie pas les chemins d'import des dépendances
- rassemblement toutes tes dépendance dans répertoire vendor avec un fichier manifest
De plus, son approche workspace me convient beaucoup plus que l'approche GOPATH.
[^] # Re: GO GO GO GO
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 2.
Je ne veux pas mixer un mĂȘme atomic.Value avec des types diffĂ©rents mais montrer que c'est possible de le faire par inadvertance (erreur) et que la compilation ne te remontre pas cette erreur qui te pĂ©tera Ă la figure au runtimeâŠ
[^] # Re: Juste de la sorcellerie
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 1.
A mon avis, tu l'as dans l'os :) (ou faut que j'y réfléchisse plus mais je suis fainéant ce soir :) )
Il faut bien comprendre que dans Go, il y a des trucs bien dégoutant mais aussi des trucs super intéressant.
Il faut faire la balance pour voir si ce langage peut répondre à vos problématique/besoins ou pas.
[^] # Re: GO GO GO GO
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 2.
Effectivement, je n'ai pas été assez clair. Je vais donner un exemple trÚs concret avec atomic.Value qui permet de partager une valeur sans aucun lock entre plusieurs goroutine et de façon performante.
A cause d'un manque de générique, nous sommes obligés de passer interface{} (qui est le java.lang.Object de go) pour enregistrer/récupérer une valeur.
sync.Value.Store est obligĂ© de vĂ©rifier si le type est identique Ă celui enregistrer la premiĂšre fois et te lancera un panic (au runtime) si ce n'est pas le mĂȘme type (voir cet exemple)
J'aurai préféré avoir une truc comme ci-dessous (et d'autant plus si cela ne reste pas au runtime comme Java) :
var value sync.Value<[]byte>
Pour
go generate
, cela reste pour ma part (c'est mon avis et c'est normal qu'il ne soit pas partagé :) ) une bidouille si tu l'utilises pour combler le manque de generics du langage.[^] # Re: GO GO GO GO
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 4.
Ah oui, j'oubliai le détecteur de race condition. Pour en avoir détecter plusieurs, c'est vraiment un outil qui est trÚs utile.
Pour l'activer, il suffit de compiler le binaire avec l'option
-race
.Le détecteur de race condition remonte uniquement des vrais positifs (il peut donc en laisser passer), donc ils faut toujours prendre au sérieux les alertes remontées (elles sont remontées dans la STDERR via une stack trace des deux goroutine impliquées et qd elles ont été créées).
Autre point, le fait de l'activer, cela va consommer en terme de mémoire et d'usage CPU. Donc, on :
- doit passer tous ses tests unitaire/microbenching avec le détecteur activé et cela dÚs le début du projet.
- peut imaginer l'activer sur une partie de votre cluster.
[^] # Re: Outils
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 1.
Je n'ai jamais vérifié comment fonctionne exactement
go get
mais je pense que d'enlever les imports non utilisés doit aussi faciliter la tùche de l'analyseur pour descendre les sources et ses dépendances.[^] # Re: Juste de la sorcellerie
PostĂ©Â par woffer đ§ (site web personnel) . En rĂ©ponse au journal The Go Programming Language. ĂvaluĂ©Â Ă Â 1.
Jamais testé.
Mais je pense que les structures implĂ©mentant la fonction des deux interfaces peuvent ĂȘtre vue comme l'une ou l'autre interface.