Effective Java Logging

Master effective logging in Java applications using SLF4J and Logback. This comprehensive guide provides 14 essential best practices. The post Effective Java Logging appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Continuous Feedback Free Udemy Course: Additional Coupons Available

We've added extra coupons for our free Continuous Feedback Udemy course! We're glad to see it's been valuable for some of you. The post Continuous Feedback Free Udemy Course: Additional Coupons Available appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

New video series “JavaFX In Action”, Part 1

With this new series of video interviews, I want to take you behind-the-scenes of some applications built using JavaFX. The post New video series “JavaFX In Action”, Part 1 appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

The Impact of the Digital Operational Resilience Act (DORA) on Java Investment with Azul

The Digital Operational Resilience Act (DORA), Regulation (EU) 2022/2554, is a key piece of European Union legislation focused on strengthening the resilience of the financial sector against digital operational risks, such as cyber attacks and other ICT-related disruptions. DORA … | Continue reading


@foojay.io | 4 months ago

Structured Concurrency is More Than ShutdownOnFailure

Let's see other possibilities than the default ones that can be done with the structured concurrency API. The post Structured Concurrency is More Than ShutdownOnFailure appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Unsafe is Finally Going Away: Embracing Safer Memory Access with JEP 471

Java's sun.misc.Unsafe is being phased out. Learn safer memory access using VarHandle and Foreign Function & Memory API to keep your applications secure and up-to-date. The post Unsafe is Finally Going Away: Embracing Safer Memory Access with JEP 471 appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

9 Best Java Profilers to Use in 2024

In this article, I will share why my team decided to start a Java profiler, the list of profilers we found that are suited for profiling Java apps, and how to analyze the data from the profiler to draw conclusions faster. The post 9 Best Java Profilers to Use in 2024 appeared fir … | Continue reading


@foojay.io | 4 months ago

Dynamic watermarking with imgproxy and Apache APISIX

Let's implement a watermarking feature with the help of imgproxy. The more I think about it, the more I think they make a match made in Heaven. The post Dynamic watermarking with imgproxy and Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Dynamic watermarking on the JVM

Displaying images on your website makes for an interesting problem: on one side, you want to make them publicly available; on the other, you want to protect them against undue use. The post Dynamic watermarking on the JVM appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Wireshark & tcpdump: A Debugging Power Couple

Explore the power of Wireshark and tcpdump for network analysis in our comprehensive guide, unveiling tips for effective troubleshooting. The post Wireshark & tcpdump: A Debugging Power Couple appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Foojay Podcast #56: Vectors in Java Code, Databases, and LLMs

In this Foojay podcast, we enter the world of mathematics by discussing Vectors and how they are crucial for AI and machine learning. The post Foojay Podcast #56: Vectors in Java Code, Databases, and LLMs appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

The Best Way to Handle Phone Numbers

Processing phone numbers seems complicated at first glance because of the many different formats. The post The Best Way to Handle Phone Numbers appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Java: Demystifying The Stream API – Part 3

Dive into the world of Stream API in Java using Lambda Expressions, Method References, and Functional Interfaces. The post Java: Demystifying The Stream API – Part 3 appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

What’s wrong with createDirectories() – A Beginner’s Guide to IntelliJ Profiler

Learn how to troubleshoot and optimize Java code with IntelliJ Profiler – using createDirectories() as an example. The post What’s wrong with createDirectories() – A Beginner’s Guide to IntelliJ Profiler appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

beetRoot: Yet Another Web Framework?

beetRoot is a slim and rapid Java web development as well as a full & secure client-server framework ready to run. The post beetRoot: Yet Another Web Framework? appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

beetRoot: Yet Another Web Dev Framework?

beetRoot is a slim and rapid Java web development as well as a full & secure client-server framework ready to run. The post beetRoot: Yet Another Web Dev Framework? appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Step up your coding with Continuous Feedback: Free Udemy Course

What do you know about the code changes that were just introduced into the codebase? When will you notice if something goes wrong? The post Step up your coding with Continuous Feedback: Free Udemy Course appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Foojay Podcast #55: Embedded Java, Part 2

In this episode #55, we look into the history of the Java Micro Edition and how things evolved. The post Foojay Podcast #55: Embedded Java, Part 2 appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Master Your Journey in the School of OpenJDK Migration

The School of OpenJDK Migration is totally free and self-paced. Do yourself a favor and start preparing about OpenJDK migration today. The post Master Your Journey in the School of OpenJDK Migration appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

JavaFX Links of June 2024

Here is the overview of the JavaFX LinksOfTheMonth of June 2024, published on jfx-central.com during this month. The post JavaFX Links of June 2024 appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Renovate for everything

You can configure Renovate for every package manager you can think of. Even better, Renovate allows the contribution of new package managers, contrary to Dependabot. The post Renovate for everything appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

How to Run Neo4j on Kubernetes

For an upcoming event, I was asked to give a demo of how to run Neo4j on Kubernetes. I had very little experience with Kubernetes, so I decided to document my journey for later reference. The post How to Run Neo4j on Kubernetes appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #54: Music and MIDI with Java and Kotlin

Within OpenJDK, there is a whole Java package dedicated to MIDI communication and data handling. Is it up to date? Are there better approaches now? And what can we do with music, Java, and Kotlin? The post Foojay Podcast #54: Music and MIDI with Java and Kotlin appeared first on … | Continue reading


@foojay.io | 5 months ago

Example Java Application with Embedded Jetty and a htmx Website

I was experimenting with a Java application that can act as a web server and includes the user interface HTML-files that get modified with htmx, to replace certain parts of the HTML with other ones created in Java. The post Example Java Application with Embedded Jetty and a htmx … | Continue reading


@foojay.io | 5 months ago

Exploring New Features in JDK 23: Simplifying Java with Module Import Declarations with JEP 476

JEP 476 represents a significant step towards simplifying Java programming by reducing boilerplate code and improving readability. The post Exploring New Features in JDK 23: Simplifying Java with Module Import Declarations with JEP 476 appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Even More Opentelemetry!

I continue to work on my Opentelemetry demo. Its main idea is to showcase traces across various technology stacks, including asynchronous communication via an MQTT queue. The post Even More Opentelemetry! appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Why is Kubernetes Debugging so Problematic?

Discover effective k8s debugging strategies, from kubectl debug and ephemeral containers to debuggers. Troubleshoot production/dev issues. The post Why is Kubernetes Debugging so Problematic? appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Java on Visual Studio Code May 2024 Update – New AI Feature, Spring Updates

An exciting new AI related feature for Java developers on Visual Studio Code. The post Java on Visual Studio Code May 2024 Update – New AI Feature, Spring Updates appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #53: JCON Report, Part 5 – CQRS, JOOQ, GraphQL, API, Vaadin, OpenRewrite, ErrorProne, Gateways, Proxies,…

In this episode you'll hear Simon Martinelli, Nicolas Fränkel, Marcus Hellberg, Rick Ossendrijver, and Abdel Sghiouar. The post Foojay Podcast #53: JCON Report, Part 5 – CQRS, JOOQ, GraphQL, API, Vaadin, OpenRewrite, ErrorProne, Gateways, Proxies,… appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Book review: Frontend Development with JavaFX and Kotlin

If you are new to JavaFX+Kotlin, this book is a good starting point and gives enough examples to help you understand how to create an application and benefit from Kotlin's features. The post Book review: Frontend Development with JavaFX and Kotlin appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Debugger.godMode() – Hacking a JVM application with the debugger

Use the debugger to find out how a Java application works under the hood, access its memory, and modify it without a single source file. The post Debugger.godMode() – Hacking a JVM application with the debugger appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Vaadin 24.4 Adds React Support, In-App Coding Assistant

24.4 adds React support to the entire Vaadin platform by including the Hilla framework. Vaadin 24.4 introduces Vaadin Copilot, a visual development tool and AI-powered assistant. The post Vaadin 24.4 Adds React Support, In-App Coding Assistant appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Become a Better Java Developer: 19 Tips for Staying Ahead in 2024

I reached out to one of my fellow Java developers who is very experienced and has been working in the industry forever and asked for his thoughts about the observability improvements in JDK 21 and Spring Boot 3.2. The post Become a Better Java Developer: 19 Tips for Staying Ahead … | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #52: JCON Report, Part 4 – Garbage Collectors, Intelligence Cloud, Test Containers and Flaky Tests, ToxiProxy, Structured Concurrency, Virtual Threads

Garbage Collectors, Intelligence Cloud, Test Containers and Flaky Tests, ToxiProxy, Structured Concurrency, and Virtual Threads! The post Foojay Podcast #52: JCON Report, Part 4 – Garbage Collectors, Intelligence Cloud, Test Containers and Flaky Tests, ToxiProxy, Structured Concu … | Continue reading


@foojay.io | 5 months ago

How to Identify Dependencies in Your Codebase During Microservices Migration

Migration from a monolithic architecture to microservices presents challenges, particularly in identifying and managing dependencies within the codebase. The post How to Identify Dependencies in Your Codebase During Microservices Migration appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Exploring New Features in JDK 23: Simplifying Java with Primitive Type Patterns with JEP 455

How JEP 455 can be utilized to handle complex decision-making scenarios more efficiently. We'll examine a practical example to illustrate the benefits of this feature. The post Exploring New Features in JDK 23: Simplifying Java with Primitive Type Patterns with JEP 455 appeared f … | Continue reading


@foojay.io | 5 months ago

Debugging Kubernetes Part 1: An Introduction

In this first part of our k8s debugging series we take an in-depth view of the underlying technologies from containers to orchestration. The post Debugging Kubernetes Part 1: An Introduction appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Workflow, From Stateless To Stateful

How I first limited my usage of BPMN and then unlocked its true power when I benefited from persistent storage. The post Workflow, From Stateless To Stateful appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #51: Persistence, Evolving your Career, Jakarta EE, GlassFish, Messaging via Telegram

This is part 3 of Frank's JCON interviews, featuring multiple people, on Jakarta EE, GlassFish, and a PET project with messaging via Telegram, and more! The post Foojay Podcast #51: Persistence, Evolving your Career, Jakarta EE, GlassFish, Messaging via Telegram appeared first on … | Continue reading


@foojay.io | 5 months ago

Java: Functional Programming f(x) – Part2

In the previous article we discussed about the importance of Functional Programming, Lambda Calculus etc. The post Java: Functional Programming f(x) – Part2 appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

JavaFX Links of May 2024

Here is the overview of the JavaFX LinksOfTheMonth of May 2024, published on jfx-central.com during this month. Core When Johan Vos shares his notes, you may want to keep on eye on them...: "While working on Java on Mobile, I ... The post JavaFX Links of May 2024 appeared first o … | Continue reading


@foojay.io | 5 months ago

Who instruments the instrumenters?

Have you ever wondered how libraries like Spring and Mockito modify your code at run-time to implement all their advanced features? The post Who instruments the instrumenters? appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

My opinion on the Tauri framework

Tauri is a Rust-based framework for building desktop applications. Here's my view. The post My opinion on the Tauri framework appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Five Java Developer Must-Haves For Ultra-Fast Startup Solutions

How to get ultra-fast startup of your Java apps without developer experience compromises. The post Five Java Developer Must-Haves For Ultra-Fast Startup Solutions appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Indexing all of Wikipedia, on a laptop

Indexing the entirety of English Wikipedia on a laptop has become a practical reality thanks to recent advances in the JVector library that will be part of the imminent 3.0 release. The post Indexing all of Wikipedia, on a laptop appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Top 7 Java Microservices Frameworks

It's crucial to understand the trade-offs and ensure they are the right fit for your specific context before moving ahead with a microservices architecture The post Top 7 Java Microservices Frameworks appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

The TornadoVM Programming Model Explained

In this article, we have explained the basics of the TornadoVM programming model and the main API blocks. The post The TornadoVM Programming Model Explained appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Exploring Cost-Effective Solutions for Stateful Rest Services: A Case Study with IBM Cloud Code Engine, EclipseStore, and IBM Cloud Object Storage

A cost-effective approach to implementing stateful REST services using IBM Cloud Code Engine, EclipseStore, and IBM Cloud Object Storage, highlighting their integration and scalability benefits for enterprise applications. The post Exploring Cost-Effective Solutions for Stateful … | Continue reading


@foojay.io | 5 months ago