Learn how to generate JUnit HTML reports in both single-module and multi-module Gradle projects.
Also find me here:
Baeldung Editor
Michal Aibin
Michal Aibin is a Faculty at British Columbia Institute of Technology and Visiting Associate Professor at Northeastern University with over 10 years experience in software development industry. He received his doctorate degree in Informatics in 2017 and since then published more than 50 research papers. His main research interests are optimization and modeling of computer networks, and adaptive algorithms and machine learning for geospatial analysis/remote sensing. Personally, he enjoys horseback riding and playing music.
Here's what I've reviewed (so far):
Baeldung on Java
- All
- Java (91)
- Core Java (74)
- Testing (73)
- Spring Boot (65)
- Java String (54)
- Spring (49)
- Persistence (39)
- Java Numbers (34)
- Algorithms (34)
- Java IO (30)
- Spring Security (29)
- NoSQL (28)
- Java Collections (27)
- Spring Data (26)
- DevOps (26)
- REST (25)
- JVM (24)
- Data (24)
- Java Dates (23)
- Spring MVC (22)
- Java List (21)
- Java Map (20)
- Security (19)
- Jakarta EE (19)
- Jackson (19)
- JPA (19)
- Maven (18)
- Java Concurrency (17)
- Java Array (17)
- JSON (17)
- HTTP Client-Side (15)
- Spring Cloud (13)
- Java Streams (13)
- Reactive (12)
- Architecture (11)
- Spring Web (10)
- Groovy (10)
- Cloud (10)
- Spring Persistence (9)
- Networking (9)
- Logging (9)
- Web Services (8)
- IDE (8)
- Gradle (7)
- XML (6)
- Artificial Intelligence (6)
- Spring AI (5)
- Spring WebFlux (4)
- Java Web (3)
- Docker (2)
Abstract Method With Variable List of Arguments in Java
Filed under Java
Learn how to implement an abstract method in Java that works with a variable set of arguments.
Check if Two Integers Have the Same Sign
Filed under Java Numbers
Explore different ways to check if two integers have the same sign in Java.
Implement Unit Test in gRPC Service
Filed under Testing
Learn how to implement a gRPC service in Java using the .proto file.
Handling “non-value” doubles in Java
Filed under Java Numbers
Learn how handling incorrect values or “non-values” is a tricky art and heavily depends on what we plan to do with the numbers.
How to Reduce Spring Boot Memory Usage?
Filed under Spring Boot
Learn how to optimize memory usage of Spring Boot apps.
Unit Tests for Concurrent Java with VMLens
Filed under Java Concurrency, Testing
Explore the functionality of the VMLens.
Java Reflection Beans Property API
Filed under Java
Explore Java Reflections Beans Property API in detail.
Forward Chaining vs. Backward Chaining in Drools
Filed under Java
Learn what forward and backward chaining are, how and when to implement them, as well as the key differences between them.
Baeldung on Linux
- All
- Administration (117)
- Processes (70)
- Scripting (69)
- Security (38)
- Filesystems (38)
- Files (31)
- Networking (28)
- File Editing (27)
- User Administration (23)
- Installation (22)
- Network Configuration (19)
- Web (18)
- File Viewing (17)
- File Searching (12)
- Package Management (10)
- File Permissions (10)
- Boot Process (10)
- File Compression (9)
- Text Processing (8)
- Network Monitoring (8)
- File Conversion (7)
- File Transfer (6)
- Building (3)
- Service Management (2)
- Search (2)
- Docker (1)
Resolving the Reverse Tunnel Remote port forwarding failed for listen port SSH Error
Filed under Network Configuration, Network Monitoring, Security
Learn about reverse SSH tunnels, i.e., SSH port forwarding, and issues that you might encounter when trying to use them.
Add Newline at the End of curl Response Body
Filed under File Transfer, Web
Explore practical ways to automatically append a newline to curl responses, ensuring consistent shell behavior.
How to Pipe Data to cURL POST Requests
Filed under Web
Learn how to pipe data to cURL POST requests.
Intel and AMD Microcode and Properly Updating Microcode in Linux
Filed under Installation, Processes
Learn about processor microcode and see how to check and update it in Linux for two major processor manufacturers.
How to Disable Fast (Quick) Boot When BIOS and UEFI Are Inaccessible
Filed under Boot Process
Learn about a firmware option that enables faster booting for some operating systems but might prevent us from getting into the BIOS or UEFI setup.
How To Automatically Connect to a VPN in Linux
Filed under Network Configuration
Explore two ways to connect to a virtual private network in Linux automatically.
SMB mount Security Modes and Fixing mount error(13): Permission denied in Linux
Filed under Filesystems
Explore the mount command, its security modes related to the SMB protocol, an unexpected error that mismatches can produce, and the implications of different settings.
What Are the rcuos or rcuob Processes Seen in the Output of top?
Filed under Administration, Processes
Learn about the kernel read-copy-update (RCU) mechanism, its historical implementation, and current guiding principles.
How to Determine if a Specific Module Is Loaded in the Linux Kernel
Filed under Boot Process, Installation
Learn to check whether the kernel has loaded a given module or not.
Baeldung on Scala
- All
- Scala Collections (4)
- Testing (2)
- Scala Strings (2)
- Scala Syntax (1)
- Scala Numbers (1)
- Scala Concurrency (1)
- Scala Basics (1)
- Libraries (1)
- Akka (1)
CSV Files in Scala
Filed under Libraries, Scala Numbers, Scala Strings
Learn how to read and write CSV files with Scala.
Different Ways To Iterate Over Collections in Scala
Filed under Scala Collections
Explore how to iterate over collections in Scala using foreach and for comprehension.
How to Check If Code Compiles in ScalaTest
Filed under Testing
Learn how to test whether a Scala snippet compiles using Matchers or Assertions.
Understanding the Differences: reduceLeft, reduceRight, foldLeft, foldRight, scanLeft, and scanRight in Scala
Filed under Scala Collections
Learn about six powerful functions of Scala language for aggregating the elements of a collection.
Get a Subarray in Scala
Filed under Scala Collections
Learn how to obtain subarrays in Scala, exploring two primary methods: the slice() function and the combination of drop() and take().
Introduction to Parallelism and Parallel Collections
Filed under Scala Concurrency
Explore some theoretical concepts of parallel computing applied with Scala.
Testing Akka Actors
Filed under Akka
Explore how we can test Actors to ensure that they behave as expected.
Usages of Underscore (_) in Scala
Filed under Scala Syntax
Explore different ways to use the Scala underscore.
String Interpolation in Scala
Filed under Scala Strings
Explore different ways of using string interpolation in Scala.
Baeldung on Computer Science
- All
- Networking (143)
- Machine Learning (122)
- Security (87)
- Algorithms (87)
- Programming (84)
- Math and Logic (78)
- OS (67)
- Deep Learning (61)
- Software Architecture (37)
- Data Structures (36)
- Artificial Intelligence (36)
- Trees (35)
- Computer Vision (35)
- Sorting (26)
- Graphs (22)
- Latex (18)
- Core Concepts (15)
- Graph Traversal (14)
- Data Science (14)
- Searching (13)
- Path Finding (11)
- Concurrency (7)
- Research (6)
- Web (5)
- Graph Theory (3)
- Methodology (1)
How to Generate New Art From Existing Images Using Deep Learning?
Filed under Computer Vision
A walkthrough of building an art style transfer program using deep learning techniques and tools like TensorFlow and the VGG16 model.
How to Find the Maximum Value in Relational Algebra
Filed under Math and Logic
Learn how to find the maximum in relational algebra.
Raft Consensus Algorithm
Filed under Algorithms
Explore the Raft consensus algorithm, a distributed consensus protocol designed to be both understandable and practical for real-world systems.
Introduction to Agentic AI
Filed under Artificial Intelligence
Learn about Agentic AI, a type of artificial intelligence that can operate autonomously.
What Is a Monad?
Filed under Programming
Learn what a monad is and what it means to write code using it.
What Is a Monotonic Stack?
Filed under Data Structures
Learn to use a monotonic stack and implement it effectively, significantly enhancing your ability to solve complex problems efficiently.
What Is Duck Typing?
Filed under Programming
Explore the programming concept of duck typing, defining it from different standpoints.
Different Text Summarization Techniques Using Langchain
Filed under Deep Learning
Explore LangChain’s stuffing, map-reducing, refining, and custom techniques, which all depend on the user’s specific requirements, document features, and overall performance expectations.
Select Rows in Pandas Dataframes Based on a Column
Filed under Data Science
Learn how to filter a Pandas dataframe based on a single column.
Baeldung on Kotlin
- All
- Kotlin Collections (7)
- Kotlin Basics (6)
- Testing (3)
- Spring (3)
- Libraries (3)
- Kotlin-Java Interop (3)
- Kotlin Server-Side (3)
- Kotlin (3)
- Kotlin Classes and Objects (2)
- Kotlin Arrays (2)
- HTTP Client-Side (2)
- Algorithms (2)
- Persistence (1)
- Kotlin Web (1)
- Kotlin Strings (1)
- Kotlin IO (1)
- Kotlin Functions (1)
- Functional Programming (1)
Download PDF Files with Retrofit and Coroutines
Filed under Kotlin
Explore an efficient approach to downloading PDF files using Retrofit and the support of Kotlin Coroutines.
Functional HTTP Endpoints with Spring MVC/WebFlux and Kotlin
Filed under Functional Programming, HTTP Client-Side, Spring
Explore the functional API for Spring WebFlux and Spring WebMVC in Kotlin.
A Look at the Ktor Client
Filed under HTTP Client-Side, Kotlin Web
Explore various solutions offered by the Ktor Client.
A Guide to RSocket with Kotlin
Filed under Kotlin Server-Side, Libraries
Learn how to use RSocket with Kotlin.
Remove Elements From a List While Iterating in Kotlin
Filed under Kotlin Basics
Learn how to remove elements from a list when iterating over it.
Print Lists Content Separated by Comma
Filed under Kotlin Collections
Explore different techniques to print a List’s elements separated by a comma in Kotlin.
Kotlin actual Keyword
Filed under Kotlin-Java Interop
Explore two Kotlin keywords: expect and actual.
Using Java Reflection with Kotlin Companion Objects
Filed under Kotlin-Java Interop
Learn how to access Kotlin companion objects via Java Reflection API.
The Difference Between Int and Integer in Kotlin
Filed under Kotlin Basics
Explore the differences between Int and Integer in Kotlin.
Baeldung on Ops
- All
- Docker (55)
- Git (32)
- Kubernetes (26)
- Jenkins (14)
- DevOps (6)
- Deployment Tools (4)
- Cloud (4)
- Logging (3)
- DevOps Concepts (1)
Docker Build and Run Platforms and Resolving exec /usr/bin/sh: exec format error
Filed under Docker
Explore Docker build and run platforms, along with errors that they might lead to. Further, learn about alternative reasons for exec format error issues.
How Does Dotnet Publish Work
Filed under Deployment Tools
Explore what dotnet publish does, how it works behind the scenes, and how to use it efficiently in various deployment circumstances.
How to Get the Title of Pull Request in GitHub Actions?
Filed under Git
Learn multiple ways of getting the title of a pull request.
Dockerfile Mounts and Fixing Error Unknown Flag: ‘mount’
Filed under Docker
Learn what a Dockerfile is, how it evolved, and ways to use special mount types.
The Difference Between tags and tags_all Fields in Terraform
Filed under Cloud, Deployment Tools
Learn how Terraform handles tagging through the tags and tags_all attributes.
Create Pull Request With GitHub Actions
Filed under Git
Explore different ways to create a pull request using GitHub Actions, including the GitHub CLI, the REST API, and the peter-evans/create-pull-request action.
Auto-Remove Container Using docker-compose.yml
Filed under Docker
Explore the topic of auto-removing containers using docker-compose.yml.
How to Change the Network of a Running Docker Container?
Filed under Docker
Explore a common Docker networking issue we may encounter when containers are running.
Guide to Getting the Commit Message in GitHub Actions
Learn how to get the commit message in GitHub actions.
Baeldung on SQL
- All
- SQL Queries (13)
- SQL Joins (7)
- Database Concepts (7)
- SQL Tables (4)
- Database Access (3)
- SQL Operators (2)
- SQL Functions (2)
- SQL Basics (2)
- Databases (2)
- DDL (1)
What Is Sargability in SQL?
Filed under SQL Queries
Learn what sargability is and why it matters.
How to Return a Pivot Table Output in SQL?
Filed under SQL Queries
Explore the difficulties associated with pivoting data in SQL compared to spreadsheets.
How to Configure Time Zone Settings in MySQL?
Filed under Databases
Learn how MySQL handles time zones.
Change a PostgreSQL User Password
Filed under Database Access
Learn different ways to update the PostgreSQL user password.
Deleting One of Two Identical Rows in SQL
Filed under Database Concepts
Learn different approaches to deleting duplicate rows in SQL.
How to Get OID of PostgreSQL Table
Filed under SQL Tables
Explore several methods for retrieving the OID of a table in PostgreSQL.
Convert Month Number to Month Name Function in SQL
Filed under SQL Functions
Explore different approaches to get the month names using numbers in SQL.
Lateral Join vs. Subquery: What’s the Difference
Filed under SQL Joins, SQL Queries
Explore the differences between lateral joins and subqueries.
Differences Between JSON and JSONB Data Types in PostgreSQL
Filed under SQL Basics
Explore the differences between JSON and JSONB in PostgreSQL, especially with respect to their storage mechanisms and performance characteristics.