Articles

What Is the Best Java Debugger?

Many people might think this a simple question; I am not one of them. I feel that in the modern world of development, there are too many factors to pick a single tool for debugging any language, let alone Java.

In The Beginning

Let’s take a step back and look at where we started with debugging, and while I am not going to get into the history of debugging, we should look at some of the basic tools used for debugging Java, aside from logging and system-out.

Source de l’article sur DZONE

Deploy Friday EP — 16 Micronaut: A Modern Full-Stack Framework for Building Microservice and Serverless

A Question and Answer session with guests: 

Micronaut is an open-source, JVM-based framework for building full-stack, modular, easily testable microservice and serverless applications. Unlike reflection-based IoC frameworks that load and cache reflection data for every single field, method, and constructor in your code, with Micronaut, your application startup time and memory consumption are not bound to the size of your codebase. Micronaut’s cloud support is built right in, including support for common discovery services, distributed tracing tools, and cloud runtimes. 

Source de l’article sur DZONE

Why Builder Is Often an Antipattern and How to Replace it With Fluent Builder

The Builder Pattern is extremely popular in Java applications. Unfortunately, it’s often misunderstood and incorrectly applied, which results to runtime errors.

Let’s remember the purpose of Builder: set only necessary fields in some object and keep remaining fields set to default values. For example, if we’re preparing a configuration object, then it’s convenient to change only the necessary parameters and keep other parameters set to default values. 

Source de l’article sur DZONE

CERTFR-2020-ALE-17 : Multiples vulnérabilités dans SAP Netweaver AS JAVA (15 juillet 2020)

De multiples vulnérabilités ont été découvertes dans le composant LM Configuration Wizard de SAP Netweaver AS JAVA. Un attaquant non authentifié peut contourner la politique de sécurité pour exécuter différentes actions d’administration. En particulier, l’attaquant est en mesure de créer un …
Source de l’article sur CERT-FR

A Simulation Using Sequential and Parallel Collections in Scala 2.13


Introduction

Software to be build is to compare data from independent satellite systems.  As fighter jets traverse airspace, each system determines its identity, recording the name of the jet type or an equivalent letter or number abbreviation. For data collected over time, the simulation software must ascertain whether systems agree on identification and if so, whether contrasting the data by single or multiple processors would be more efficient.

This article begins with a proof of concept in Scala 2.12.   A small program with function taking generic collection type parameters verifies the basic strategy.  The actual software is written in 2.13, in which generic collection types – those inheriting the GenTraversable hierarchy – have been deprecated [1].  The parallel package is also gone but can be brought back [2].

Source de l’article sur DZONE

Building a Mission-Critical Open Source Java Platform – Installing WildFly

In the previous article in this series introduced our thoughts on setting up a mission-critical open source Java platform using high availability in our Web layer. In this article we’ll continue by installing WildFly and configure our platforms topology.


Note: the terminology in this article, where possible, has been adjusted from the traditional master / slave descriptions to master / subordinate. Some of the images displayed have not yet been updated and show the older terminology. 

Source de l’article sur DZONE

Building a Mission-Critical Open Source Java Platform – The Web Layer

Currently the Java platform is one of the most consolidated in the world, much of this is due to platform’s ability to support other languages such as Kotlin, Groovy and Scala, etc. Thousands of web and mobile applications are developed using the platform as a base. The Java platform has changed a lot in recent years and probably will keep evolving.

In parallel with these changes, we see the evolution application servers, that increasingly offer highly complex features such as load balancing components, smart asynchronous messaging, transaction control and many other technologies facilitating application development and standardization. They also provide a stable and scalable infrastructure for mission critical applications. One of the biggest challenges for application servers is to couple highly complex services, making them stable and flexible.

Source de l’article sur DZONE

Deploy Friday: E09 Spring Framework – Java in Focus

A Question and Answer session with guests: 

Spring Framework is by far the most popular framework for writing Java applications. Why is Spring so dominant, and how will it hold its ground against newer frameworks? We’ll ask our guests those and other questions on this week’s Deploy Friday. 

Source de l’article sur DZONE

Unit Testing Log Messages Made Easy

As a Java Developer, we need to cover a lot of scenarios to ensure the quality of our software and catch bugs as soon as possible when introducing a new code. For 99% of all my use cases AssertJ, Junit, Mockito, and Wiremock are sufficient enough do cover the test cases. But for the other use cases, like unit testing info, debug or warn log messages, these frameworks don’t help you out. There is also no other framework that can provide an easy to use method to capture log messages.

The answer which the community provided works well, but it is a lot of boilerplate code to just assert your log events. Even I faced the same trouble and so I wanted to make it easier for myself and share it with you! So the LogCaptor library came into life.

Source de l’article sur DZONE

Mutation Testing: Covering Your Code With the Right Test Cases (Part 2)

In part one, we achieved 100 percent coverage. In this installment, we mutate our code and check how good our tests are.

There are several mutation testing frameworks. In this case, we will use PITEST.

Source de l’article sur DZONE