@Animal il n'est apparemment plus possible d'éteindre totalement les logs de Cucumber lorsque les tests passent et de n'imprimer que les tests qui ont échoué.
Si c'est bien le cas, alors Cucumber va sortir illico-presto des frameworks que j'emploie car comme le dit @Kysofer
Un build ne doit jamais rien afficher, sauf quand il plante afin de rester lisible et rapide.
Merci Oros !
Comme ça faisait un moment que je n'avais pas créé des beans à la main (et utilisé Spring Context aussi), je me le note au cas où ça se reproduirait.
Voici le diagramme résumé
Je le note pour @Kysofer qui doit gérer une PIC.
Si vos requêtes de push/pull/clone sont trop grosses et que Git vous affiche une erreur du type Github Push Error: RPC failed; result=22, HTTP code = 413
alors vous avez probablement deux choses à faire :
1) Augmenter la taille du buffer côté Git.
J'ai fixé la valeur à 1 Gio, car tous mes PC ont au moins 8 Go de RAM et tournent sous Linux. À noter que cela a grandement accéléré mes requêtes de pull/push/clone (je suis passée de 4 Mo/sec à 25 Mo/sec) :
git config --global http.postBuffer 1073741824
2) Augmenter la taille du cache côté Nginx s'il est en front à votre serveur Git (Gitea chez moi).
client_max_body_size 512m;
Et ne pas oublier de redémarrer Nginx via un systemctl restart nginx
.
@Animal : l'emplacement du fichier de conf ide.general.xml d'IntelliJ IDEA a changé depuis la dernière version de l'outil (ie. la 2020.1). Pour rappel, ce fichier contient un paramétrage permettant de ne plus ouvrir automatiquement au démarrage le dernier projet sur lequel quelqu'un a travaillé.
Ce fichier se trouve à présent à cet emplacement : ~/.config/JetBrains/IdeaIC2020.1/options/ide.general.xml
. Tu noteras que le répertoire de configuration de l'IDE se trouve à présent dans ~/.config
ce qui utilise enfin la norme des bureaux Linux à base de GTK (Gnome / Mate / Cinnamon).
Évidemment, il faut toujours lui ajouter la ligne <option name="reopenLastProject" value="false" />
, me concernant ça donne ceci :
<application>
<component name="GeneralSettings">
<option name="confirmExit" value="false" />
<option name="reopenLastProject" value="false" />
<option name="showTipsOnStartup" value="false" />
</component>
</application>
Voilà
Pour plus tard ! Merciii
Bon, je vais résumer ce qui me fruste au plus au point (avec le contournement qui va bien).
A chaque fois que j'utilise la commande refactor d'IntelliJ ce crétin effectue un search & replace dans tous les fichiers possibles, dans toutes les extensions possibles et me demande de cocher "pas à pas" ce que je souhaite renommer/refactorer.
Or, quand je fais un CTRL + R
(oui j'utilise les shortcut mappings de Netbeans sur IntelliJ => RAF) c'est que je suis en train de coder. Du coup si je sélectionne un paramètre d'une méthode, je veux qu'il détecte le foutu scope de mon paramètre et qu'il me renomme automatiquement :
- le paramètre en interne,
- la javadoc associée,
- et c'est tout !
Bref, NetBeans le faisait de base depuis 2010 c'est donc très très très très très moche (je vous ai dit que c'était très moche ?). Je trouve que cette "feature" est une pure et simple counter-feature.
Heureusement, comme je suis bienveillante voici la solution :
- Positionnez-vous sur votre variable à renommer.
- Lancer la commande de refactor (pour moi CTRL+R).
- Commencez à taper un nouveau nom.
- Refaites le shortcut (toujours CTRL+R pour moi).
- Décochez la case "Search in comments and strings"
- Validez votre refacto
Dorénavant tous vos refactos ne vous embêteront plus !
La solution avec Jackson est extrêmement élégante :
Les dépendances :
dependencies {
compile 'com.fasterxml.jackson.core:jackson-databind:2.7.1-1'
compile 'com.fasterxml.jackson.module:jackson-module-kotlin:2.7.1-2'
compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.1'
}
Créer les entités qui vont recevoir la configuration Yaml :
data class UniverseSizeDto(val maxGalaxies: Int, val maxSystems: Int, val maxPlanets: Int)
data class ResourcesDto(val crystal: Int, val gas: Int, val energy: Int)
data class StarterPlanetDto(val resources: ResourcesDto)
data class ConfigDto(val universeSize: UniverseSizeDto, val starterPlanet: StarterPlanetDto, val roundTime: Int)
Le code de chargement du fichier :
fun loadFromFile(path: Path): ConfigDto {
val mapper = ObjectMapper(YAMLFactory()) // Enable YAML parsing
mapper.registerModule(KotlinModule()) // Enable Kotlin support
return Files.newBufferedReader(path).use {
mapper.readValue(it, ConfigDto::class.java)
}
}
Pour vous aider à mettre à jour vos fichiers .editorconfig
.
Un autre format de configuration à mi-chemin entre JSON et des fichiers de properties. Ce format est utilisé par Ktor, un serveur web embarqué et asynchrone écrit en Kotlin.
Je cite :
Ça c'est l'un des gros gros points noirs de Linux: Les myriades de fichiers cachés (commençant par un point) que les applications utilisent pour stocker leurs données (configuration, etc.) dans chaque répertoire utilisateur.
Même si les fichiers ne sont pas visibles, c'est un énorme bordel.
En tant que développeur, il y a pourtant des règles à suivre pour limiter ce chantier ($XDG_DATA_HOME/$XDG_CONFIG_HOME/$XDG_CACHE_HOME...).
@Animal : avec quelles longueurs de noms de domaines as-tu fait le test ? Genre toto.com et titi.com ou quelque chose de plus grand ?
Je te demande car cet article est clair, l'option server_names_hash_bucket_size permet uniquement de traiter des noms de domaines plus longs.
Pour l'option valant 64, les strings de ces noms pourront prendre jusqu'à 64 octets d'espace mémoire pour être traités (pas 64 caractères, donc attention à l'encodage).
Pour générer une conf Nginx.
Pour toi @Animal
@Animal : tu ne devrais pas modifier le fichier settings.xml pour y intégrer Sonar mais ajouter cela dans un pom.xml.
Dit autrement :
- Le settings.xml de l'install de Maven est un pom.xml.
- Tout projet Maven buildé par cette install de Maven va hériter de ce settings.xml (y compris les autres users de l'OS).
- Mieux vaut privilégier son settings.xml dans $HOME/.m2/settings.xml.
- Mieux vaut encore l'intégrer au pom.xml du projet qui est concerné par Sonar (dans le sens où rien ne fonctionnerait avec un Maven Wrapper).
Comment mettre en cache des fichiers statiques avec Nginx
Comment setuper un load-balancer avec Nginx
Voici les étapes à suivre :
- Sélectionnez le module Maven dans l'encradé Project.
- Puis dans le menu principale aller dans Run > Edit Configurations...
- Dans la colonne de gauche, choisissez votre framework (dans mon cas c'est Default > TestNG).
- Dans l'encadré à droite, en bas, intitulé : "Before launch, Maven goal, Activate tool window" ajoutez le goal suivant en dessous du build :
org.javalite:activejdbc-instrumentation:2.0:instrument
- Appliquer et voilà.
Comment définir la timezone de votre base MySQL
Modifier le fichier : /etc/mysql/mysql.conf.d/mysqld.cnf
default-time-zone='+00:00'
Je me mets cela sous le coude, ce tuto tombe très bien, j'ai un setup ansible à faire pour un load-balancer basé sur nginx.
Des éléments de Firefox à changer dans le about:config
.