Articles

Utiliser les fonctionnalités de prévisualisation JDK21 et/ou les classes incubatrices

Découvrez comment tirer le meilleur parti des fonctionnalités de prévisualisation JDK21 et des classes incubatrices pour améliorer votre code Java.

Comment configurer votre build Maven pour prendre en charge une leçon de jeu avec les nouvelles fonctionnalités de JDK21 (ou même plus récentes) comme les fonctionnalités d’aperçu et peut-être certaines classes de l’incubateur ? C’est plus facile que vous ne le pensez. Commençons la configuration. Je suppose que vous souhaitez jouer avec les fonctionnalités d’aperçu de JDK21, par exemple les modèles de chaînes (JEP430). Je viens de sélectionner ce JEP pour la démonstration. Vous pouvez sélectionner n’importe quel JEP en aperçu. La première chose à savoir est que vous devez activer les fonctionnalités d’aperçu via :

Parfois, vous souhaitez jouer avec les nouvelles fonctionnalités de JDK21 (ou même des JDK plus récents) comme les fonctionnalités de prévisualisation et peut-être certaines classes de l’incubateur. Alors, comment pouvez-vous configurer votre build Maven pour prendre en charge une telle leçon de jeu? C’est plus facile que vous ne le pensez. Commençons la configuration. Mon hypothèse est que vous souhaiteriez jouer avec les fonctionnalités de prévisualisation de JDK21, par exemple les modèles de chaîne (JEP430). Je n’ai sélectionné ce JEP que pour la démonstration. Vous pouvez sélectionner n’importe quel JEP en prévisualisation. La première chose à savoir est que vous devez activer les fonctionnalités de prévisualisation via:

XML

org.apache.maven.plugins

maven-compiler-plugin

true

Une fois cette étape terminée, vous pouvez ajouter des dépendances supplémentaires à votre projet pour prendre en charge les fonctionnalités de prévisualisation. Pour le JEP430, vous devez ajouter la dépendance suivante:

XML

org.openjdk.jmh

jmh-core

1.21.0-SNAPSHOT

test

Une fois cette étape terminée, vous pouvez commencer à utiliser les fonctionnalités de prévisualisation dans votre projet. Vous pouvez également utiliser des outils tels que JMH pour mesurer les performances des fonctionnalités de prévisualisation et comparer leurs performances avec les versions stables. Vous pouvez également utiliser des outils tels que JUnit pour tester le comportement des fonctionnalités de prévisualisation et vous assurer qu’elles fonctionnent comme prévu. Enfin, vous pouvez utiliser des outils tels que SonarQube pour surveiller la qualité du code et vous assurer que les fonctionnalités de prévisualisation ne compromettent pas la qualité du code.

Une fois que vous avez configuré votre projet pour prendre en charge les fonctionnalités de prévisualisation, vous pouvez commencer à explorer les données et à tirer parti des nouvelles fonctionnalités. Vous pouvez par exemple analyser les données pour voir comment les nouvelles fonctionnalités affectent les performances ou la qualité du code. Vous pouvez également utiliser des outils tels que Spark ou Hadoop pour traiter et analyser des jeux de données volumineux et tirer des conclusions sur les performances et la qualité des fonctionnalités de prévisualisation. Vous pouvez même créer des modèles d’apprentissage automatique pour prédire le comportement des n

Source de l’article sur DZONE

Ginkgo is the testing framework of choice for many projects developed in Golang. Here is an example setup for SonarQube project analysis.

Prerequisites

  • SonarQube server installation: For the purpose of the tutorial I have a docker image running on my machine on http://localhost:9000.
  • SonarQube project: For the purpose of the tutorial I have created a project with project key com.bdpanajotova.golang-sonar-example and name Golang Sonar Example.
  • Golang project for analysis with Ginkgo tests: Here is the example project I use in GitHub.

Here is the documentation for the fast local setup of SonarQube.

Source de l’article sur DZONE

I work as a DevOps engineer for a large public-facing application, which has around 90+ microservices (Java-based). Consistently, we are hit by scenarios that we’d discover in the field, which were not caught in any of our testing. Despite improving our test strategies and code coverage assessments, we were unable to assess the "strength" of our test cases.

We looked around for options and solutions that could help us to be more sure about our test cases and the code we develop. As a DevOps engineer, my responsibility was to identify options and trial them to fix this problem and include it as part of our automated build process.

Source de l’article sur DZONE