InfoQ Homepage Languages Content on InfoQ
-
Elevate Developer Experience with Generative AI Capabilities on AWS
This is a summary of a talk I gave at InfoQ Dev Summit Munich 2024. I discussed the transformative potential of generative AI in enhancing developer experiences, particularly through AWS. I’ll introduce key tools like Amazon Bedrock, Code Review Assistant, Agentic Code Generation, and Code Summarization in this article.
-
Spring Security Configuration with Flow Diagrams
In modern Java systems, Spring Security is widely used, offering numerous settings for various scenarios. This diversity can be confusing when more specific configurations beyond the default formLogin(withDefaults()) are needed. This article demonstrates basic configurations with detailed component analysis through diagrams and code examples, providing a starting point for further customization.
-
InfoQ Java Trends Report - December 2024
This report summarizes how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2024. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Reactive Real-Time Notifications with SSE, Spring Boot, and Redis Pub/Sub
Explore the power of reactive programming for building scalable real-time notification systems. Using Spring Boot Reactive and Spring WebFlux, leverage non-blocking operations to handle high-volume, asynchronous data flows efficiently. Discover how Redis Pub/Sub enables event-driven messaging and how the SSE protocol provides persistent connections for instant client updates without polling.
-
Efficient Resource Management with Small Language Models (SLMs) in Edge Computing
Small Language Models (SLMs) bring AI inference to the edge without overwhelming the resource-constrained devices. In this article, author Suruchi Shah dives into how SLMs can be used in edge computing applications for learning and adapting to patterns in real-time, reducing the computational burden and making edge devices smarter.
-
Java-Based No-Code and Low-Code Application Bootstrapping Tools Review
Low-code and no-code software development platforms help establish common ground for product development. They can help developers avoid repetitive bootstrapping tasks and speed up development. This article reviews four of the most common tools.
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
Embracing Reactive Applications on JVM: a Deep Dive into Modern I/O Models and Vert.x
This article discusses the shift from blocking to non-blocking and asynchronous I/O models, highlighting their role in modern software development. It focuses on Vert.x, a toolkit for building reactive applications on the JVM, featuring the Multi-Reactor Pattern, Event Bus, and Verticles. Vert.x is ideal for cloud, Big Data, and IoT, as shown through benchmarks and real-world examples.
-
WebAssembly, the Safer Alternative to Integrating Native Code in Java
Developers typically choose between porting the code or dynamic linking to run native code on the JVM. This article examines these approaches, using SQLite as an example, and introduces a third option: Chicory Wasm runtime. This alternative combines the advantages of traditional methods while addressing their limitations, potentially offering a more secure solution to integrate native code.
-
Java Virtual Threads: a Case Study
This article explores JDK 21's virtual threads, comparing their performance with Open Liberty's thread pool. It covers key findings like throughput, ramp-up times, and memory footprint. Despite advantages, virtual threads showed unexpected performance issues, especially in CPU-intensive workloads. This analysis guides Java developers on when and how to use virtual threads in their applications.
-
Using Generative AI in Software Project Management to Bridge Domains and Accelerate Productivity
Gen AI Assistants play to the strengths of professionals with a breadth of experience, particularly software developers who can describe what they want the LLM to complete and critically evaluate the result. These tools enable us to swiftly cross divides of domain language and scale large repetitive tasks down to interesting ones on a human scale.
-
Elevating Kubernetes Logging for Enhanced Observability
In this article, we will explore the challenges, strategies, and best practices that will help you achieve seamless log management in your Kubernetes environment.