-
Rolling Binary Trees: A Guide to Common Design Patterns in Java
In this article, we introduce a linear-time algorithm for rolling binary trees and implement it in Java, by utilizing common design patterns.
-
Enriching Kafka Applications with Contextual Data
Hazelcast can process real-time and batch data in one platform, making it the right platform to use because it enriches your Kafka applications with “context.”
-
Monitoring Event Loops for Blockages
Chronicle Threads provides high performance event loop implementations and utility functions to help with threading and concurrency.
-
Analyzing Dependencies in IntelliJ IDEA
Use IntelliJ IDEA to analyze dependencies in your project. Use the Dependency Analyzer to find specific dependencies, show conflicts and more, or use the Dependency Diagram in IntelliJ IDEA Ultimate.
-
Spring Boot Debugging with Aspect-Oriented Programming (AOP)
Does your app fail CI tests “sometimes”? Does it display flaky behavior? Did you add many logs trying to solve it? There’s a better way: AOP!
-
Creating Scalable OpenAI GPT Applications in Java
Learn how to integrate the ChatGPT engine into your Java applications in a scalable way by sending prompts to the engine only when necessary.
-
Relearning Java Thread Primitives
“Synchronized” was revolutionary and still has great uses. But it’s time to move to newer thread primitives and rethink our core logic.
-
Hidden Beauties of Java Enums
Java enums can contain much more than just a list of definitions, but also data and extended functionality!
-
Cherry-Pick: Move a Commit to a Different Branch
Moving a commit to a different branch: not nearly as scary as it sounds! Let the IDE help to turn this into a quick, low-stress task.
-
DevOps For Developers: Continuous Integration, GitHub Actions, and Sonar Cloud
When it is done badly, the CI process can turn this amazing tool into a nightmare. CI should make our lives easier, not the other way around.