Upgrading from Spring Boot 2 to 3 forced me to define my configuration properties in a better way.
-
AI-powered Chat Application using IBM watsonx.ai and Spring AI
Table of Contents PricingIBM watsonx.aiCreating IBM watsonx.ai Chat-based ApplicationPrerequisitesConfigurationsChatbotChat ApplicationBasic ChatStreaming Chat Generative Artificial Intelligence (Gen AI) disrupted enterprises with the introduction of GPT-4 foundation model by Open AI in the late 2022 to early 2023 triggering big tech to …
-
Speed up your Spring Batch with Native Image and GraalVM
Learn how to speed up your Spring Batch jobs using GraalVM Native Image! 🚀 Discover how to compile batch apps into native executables for faster startup times (0.2s vs 4s), lower memory usage, and better performance. Perfect for CSV-to-PostgreSQL processing! Speed up your Spring Batch with Native Image and GraalVM
-
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! 🚀✨
-
Task Schedulers in Java: Modern Alternatives to Quartz Scheduler
Table of Contents Quartz is often considered the standard job scheduling library in Java, which can lead developers to overlook more modern alternatives.Limitations of QuartzQuartz is showing its agePerforms worse than modern alternativesLack of built-in monitoringDistributed scheduling is opt-inSporadic maintenanceAlternatives …
-
Langchain4J Musings
Table of Contents Choosing a LLMQuick introduction to LangChain4J and OllamaGetting our feet wetThe LangChain4j appThe Ollama infrastructureEnhancing with streamingRemembering historyAdding Retrieval-Augmented GenerationConclusion I’m coming relatively late to the LLM party, but I rarely come very early in the hype …
-
Spring Boot: Java Template Engine (JTE)
Table of Contents Hello to all Java and Spring enthusiasts. I am the Java Template Engine, a fresh newcomer to the Spring Initializer Ecosystem. Hello to all Java and Spring enthusiasts. I am the Java Template Engine, a fresh newcomer …
-
Augmenting the client with Alpine.js
Table of Contents Laying out the workServer-sideClient-sideThe Alpine codeOur first steps into AlpineBasic interactionsClient-side modelUpdating the modelConclusion This article is part of a series comparing different ways to implement asynchronous requests on the client, which is colloquially known as AJAX. …
-
Augmenting the client with Vue.js
Table of Contents Laying out the workServer-sideClient-sideThe Vue codeOur first steps into VueBasic interactionsClient-side modelUpdating the modelConclusion In my previous article, I laid the ground to build upon; now is the time to start “for real”. I heard a lot …
-
Server-Side Rendering with Spring Boot
Understanding the shared steps in the project setup is crucial before delving into the specifics of each client-augmenting technology.
-
Health Check Response Format for HTTP APIs
I’m continuing my journey on getting more familiar with HTTP APIs by reading related RFCs.