Table of Contents Receiving mailsConnecting to the ServerProcessing MailsSanitizing received MailsUsageTesting I was recently in need to write some small demo project which was receiving and processing mails. There is a lot of documentation for sending mails, but gathering information …
-
Challenge yourself with Application Observability Code Challenges
Table of Contents What are the Application Observability Code Challenges?GoalsWhat do the code challenges look like?Your own stackOnline environment(s)The first challenge🛠️ How to Get StartedChallenge details Code challenges are a nice way to challenge yourself with programming, resulting in some …
-
Fixed Window Counter Rate Limiter (Redis & Java)
Table of Contents IndexHow It Works1. Define a Window Interval2. Track Requests3. Reset Counter:4. Rate Limit Check:How to Implement It with Redis and Java1. Use the INCR command to increment the counter in Redis each time a request is allowed2. …
-
Make the Life of your Developer Client’s Easier with Smart Object Builders
Table of Contents The scenario: The complex objectThe traditional approach: Telescoping constructorsFavor Static Factory Methods over Class ConstructorsMany parameters? Use the Builder patternRestricts the order of method calls in the Builder patternConclusionKey TakeawaysFinal Thoughts We often hear the phrase: “Make …
-
The Proper Way to Define Configuration Properties in Spring
Upgrading from Spring Boot 2 to 3 forced me to define my configuration properties in a better way.
-
Pseudorandom Number Generator – The Secret Behind Santa’s Gift Bag
Table of Contents Random Numbers and Why They MatterRandom Number GeneratorsPseudorandom Number Generators in JavaConclusion On a snowy Christmas Eve, Santa sets off on his journey around the world, gliding through the night sky on his sleigh to deliver presents …
-
Issues with old GlassFish server? Upgrade to Eclipse GlassFish!
Table of Contents Jakarta EE Standardization and FlexibilityCompatibility with new Java versionsEnhanced Security with Modern ProtocolsSupport for HTTP/2, REST and JSON EnhancementsCloud-Native Readiness and ContainerizationConclusion Rely on hardened and production-ready Eclipse GlassFish 7 or newer. Benefit from key feature updates and …
-
Foojay Podcast #64: Interviews at JFall about open source, OpenJDK evolutions, Project Loom, JVM, and more!
Table of Contents VideoPodcast (audio only)GuestsContent Let’s wrap up this year with more interviews from the JFall conference. In this episode you’ll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning …
-
Prevent LDAP injection in Java with SpringBoot
In this article, we dive into the basics of LDAP (Lightweight Directory Access Protocol)—a powerful protocol used to manage directory information like user authentication, authorization, and centralized account management in IT systems. 🌐👨💻
We also explore LDAP Injection, a common security vulnerability 🛡️ where attackers manipulate LDAP queries to:
⚠️ Bypass authentication
⚠️ Access unauthorized data
⚠️ Modify directory entriesLearn how these attacks work, the risks they pose, and, most importantly, how to protect your systems with secure coding practices like input sanitization and parameterized queries. ✅💻
Whether you’re an IT professional, developer, or just curious about cybersecurity, this article is your crash course on LDAP and LDAP Injection! 🚀✨
-
Video series “JavaFX In Action”, Part 2
Table of Contents Maciej Gorywoda about FxCalculatorRamiro Domínguez Ayub about the Televic Generic Update ToolChristoph Schwentker about JabRefUlas Ergin: How JavaFX helps to migrate from Swing to React UIs, all combined in one Java app In July, we published the …
-
Hot Class Reload in Java: A Webpack HMR-Like Experience for Java Developers
Table of Contents Understanding Hot Class ReloadHow It WorksSystem Flow DiagramImplementing Hot Class ReloadCustom Class LoaderConclusion In the world of software development, time is everything. Every developer knows the frustration of waiting for a full application restart just to see …