Articles

Les meilleurs plugins pour les IDEs JetBrains.

Les plugins JetBrains sont indispensables pour améliorer votre expérience de développement. Découvrez les meilleurs plugins pour les IDEs JetBrains !

Les IDE basés sur la plate-forme IntelliJ de JetBrains sont probablement l’un des IDE les plus courants à l’heure actuelle. Leur popularité est particulièrement visible dans la communauté des langages JVM, où IntelliJ IDEA reste le choix immédiat de la plupart des développeurs. Tout cela malgré l’apparition de nouveaux concurrents et l’amélioration des anciens concurrents qui rejoignent à nouveau la table.

Les EDI JetBrains basés sur la plate-forme IntelliJ sont probablement l’un des EDI les plus courants à l’heure actuelle. Leur popularité est particulièrement visible dans la communauté des langages JVM, où IntelliJ IDEA reste le choix immédiat de la plupart des développeurs. Tout cela malgré l’apparition de nouveaux concurrents et l’amélioration des anciens concurrents qui se joignent à nouveau à la table.

Dans ce texte, je voudrais décrire les plugins pour IntelliJ IDEA qui peuvent être d’une grande aide pour vous dans votre combat quotidien avec vos tâches et qui faciliteront votre travail. Certains plugins seront indépendants du langage, tandis que d’autres seront dépendants du langage.

Parmi les plugins les plus populaires pour IntelliJ IDEA, citons le plugin de codage, qui permet aux développeurs de coder plus rapidement et plus efficacement. Le plugin de codage permet aux développeurs de générer du code à partir de modèles prédéfinis, ce qui leur permet d’économiser du temps et de l’effort. Il permet également aux développeurs de créer des raccourcis clavier personnalisés pour accélérer le processus de codage. De plus, le plugin de codage offre une fonctionnalité de recherche avancée qui permet aux développeurs de trouver rapidement le code dont ils ont besoin.

Un autre plugin très utile est le plugin de refactoring. Ce plugin permet aux développeurs de modifier le code sans modifier le comportement du programme. Il permet également aux développeurs de réorganiser le code pour qu’il soit plus facile à maintenir et à comprendre. En outre, le plugin de refactoring offre une fonctionnalité de vérification des erreurs qui peut aider les développeurs à trouver et à corriger rapidement les erreurs dans leur code.

Enfin, il existe un plugin très pratique appelé le plugin de débogage. Ce plugin permet aux développeurs de surveiller le code en cours d’exécution et de voir ce qui se passe à l’intérieur. Il permet également aux développeurs d’effectuer des tests unitaires et d’utiliser des outils de profilage pour optimiser le code. En outre, le plugin de débogage offre une fonctionnalité de journalisation qui permet aux développeurs de voir ce qui se passe dans leur application en temps réel.

Source de l’article sur DZONE

Partie 2: Microservices avec Apache Camel et Quarkus

Dans cette partie, nous allons apprendre à créer des microservices avec Apache Camel et Quarkus. Nous verrons comment les deux outils peuvent être utilisés ensemble pour créer des applications modernes et performantes.

Exécution locale d’une application microservices basée sur Apache Camel et AWS SDK

Dans la première partie de cette série, nous avons vu une application de transfert d’argent simplifiée basée sur les microservices, mise en œuvre à l’aide des outils de développement Java Apache Camel et AWS SDK (Software Development Kit) et de Quarkus comme plate-forme d’exécution. Comme indiqué, il existe de nombreux scénarios de déploiement qui pourraient être envisagés pour exécuter la production d’une telle application; le premier et le plus simple consiste à l’exécuter localement de manière autonome. C’est le scénario que nous examinerons dans ce nouveau post.

Quarkus est capable d’exécuter vos applications de deux manières: en mode JVM (Java Virtual Machine) et en mode natif. Le mode JVM est la manière classique standard d’exécuter des applications Java. Ici, l’application en cours d’exécution n’est pas exécutée directement sur le système d’exploitation, mais dans un certain milieu d’exécution où des bibliothèques et des API Java sont intégrées et enveloppées. Ces bibliothèques et API peuvent être très volumineuses et elles occupent une partie spécifique de la mémoire appelée Resident Set Size (RSS). Pour en savoir plus sur le RSS et Quarkus (par opposition à la façon dont Spring Boot le gère), voir ici.

Lorsque vous exécutez votre application avec Quarkus en mode JVM, vous pouvez utiliser un outil appelé GraalVM pour compiler votre application en code natif. GraalVM est un outil open source qui permet de compiler des applications Java en code natif. Il prend en charge plusieurs langages, dont Java, JavaScript, Ruby, Python et R. GraalVM est capable de compiler votre application Java en code natif très rapidement, ce qui permet à votre application de s’exécuter plus rapidement et avec moins de consommation de mémoire. Il est également possible d’utiliser GraalVM pour compiler votre application en code natif et l’exécuter directement sur le système d’exploitation, sans passer par le mode JVM. Cela permet à votre application de fonctionner plus rapidement et avec une consommation de mémoire minimale.

Ainsi, grâce à l’utilisation du logiciel Quarkus et de GraalVM, vous pouvez facilement déployer votre application microservices-based money transfer sur votre système local. Vous pouvez également utiliser GraalVM pour compiler votre application en code natif et l’exécuter directement sur le système d’exploitation, ce qui permet à votre application de fonctionner plus rapidement et avec une consommation de mémoire minimale. Cela peut être très utile pour les applications qui nécessitent une exécution rapide et une consommation minimale de mémoire. De plus, vous pouvez également déployer votre application sur des plates-formes cloud telles que AWS ou Azure afin de bénéficier des avantages supplémentaires offerts par ces plates-formes.

Source de l’article sur DZONE

I’m still working on learning Rust. Beyond syntax, learning a language requires familiarizing oneself with its idioms and ecosystem. I’m at a point where I want to explore testing in Rust.

The Initial Problem

We have used Dependency Injection a lot – for ages on the JVM. Even if you’re not using a framework, Dependency Injection helps decouple components. Here’s a basic example:

Source de l’article sur DZONE

‘java.lang.System.getProperty()’ is a common API used by Java developers to read the System properties that are configured during application startup time. i.e. when you pass “-DappName=buggyApp” as your application’s startup JVM argument, the value of the ‘appName’ system property can be read by invoking the ‘java.lang.System.getProperty()’. Example:

Java

 

public static String getAppName() { String app = System.getProperty("appName");   return app;
}

Source de l’article sur DZONE


JAVA_TOOL_OPTIONS

Imagine a scenario where you need to change a JVM parameter, but you can’t or is not a good solution to changing the start script of your server(s).

One of the challenges we had, when we were working with containers, was a way to change a parameter to a JVM without building the docker image again.
The application at the start time should read a JVM parameter where a _user profile_was defined.
For specific reasons we sometimes need to change this profile, for instance, to use a more controlled user where we can debug an issue. In these situations, we want to stop the container/pod, change the profile and start again, or even start a different container with a different profile.

Source de l’article sur DZONE

Like so many others in the Apache Cassandra community, I’m extremely excited to see that the 4.0 release is finally here. There are many, many improvements to Cassandra 4.0. One enhancement that is more important than it might look is the addition of support for Java versions 9 and up. This was not trivial, because Java 9 made changes to some internal APIs that the most performance-oriented Java projects like Cassandra relied on (you can read more about this here).

This is a big deal because with Cassandra 4.0, you not only get the direct improvements to performance added by the Apache Cassandra committers, you also unlock the ability to take advantage of seven years of improvements in the JVM (Java Virtual Machine) itself.

Source de l’article sur DZONE

Java and the JVM more generally are widely used for services everywhere, but often challenging to debug and manually test, particularly in complicated microservice architectures.

HTTP requests and responses are the core of interactions between these services, and with their external APIs, but they’re also often invisible and inaccessible. It’s hard to examine all outgoing requests, simulate unusual responses & errors in a running system, or mock dependencies during manual testing & prototyping.

Source de l’article sur DZONE


Overview

EclipseLink has two types of caches: the shared cache (L2) maintains objects read from database; and the isolated cache (L1) holds objects for various operations during the lifecycle of a transaction. L2 lifecycle is tied to a particular JVM and spans multiple transactions. Cache coordination between different JVMs is off by default. EclipseLink provides a distributed cache coordination feature that you can enable to ensure data in distributed applications remains current. Both L1 and L2 cache store domain objects.

“Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.” — redis.io

Source de l’article sur DZONE

Though I have worked on Java for more than a decade, I have not had a chance to work on Groovy. While working for API Integration into Jenkins CI/CD pipeline, I extensively used Groovy to invoke REST API, validate the user input parameters, and business logic for that. After that, I found that Groovy is a fascinating program language for Java developers.

Why Is Groovy Easy for Java Developers?

It allows to use the Java syntax liberally and tries to be as natural as possible for Java developers. It is an object-oriented dynamic programming language for Java virtual machine (JVM) and can be integrated smoothly with any Java Program. The groovy syntax is lucid, familiar, and direct that makes to develop projects faster and easier. It demands a shorter learning curve for Java Developer to develop, test, and integrate to make production-ready code in a short span.

Source de l’article sur DZONE

This article is for Scala programmers who know at least these essential concepts: what a method is and how to define a function value (lambda). Here we’ll discuss the topic of eta-expansion and partially-applied functions, which are often loosely covered and piecemeal.

You can read this article over at the Rock the JVM blog in its original form or watch as video on YouTube or in the video below:

Source de l’article sur DZONE