InfoQ Homepage Languages Content on InfoQ
-
Spring AI 1.0 Delivers Easy AI Systems and Services
AI is here to stay, and it represents a unique and wonderful opportunity for Java and Spring developers. For most people, “AI engineering” simply means calling an LLM-based service over HTTP. In this article, we’ll examine the new Spring AI 1.0 project and explore how it can be used to integrate AI more effectively.
-
Bringing GPU-Level Performance to Enterprise Java: a Practical Guide to CUDA Integration
Java developers are no longer limited by CPU cores. This guide explores how to bring GPU-level acceleration to enterprise Java using Compute Unified Device Architecture (CUDA), with a practical Java Native Interface (JNI)-based integration pattern, real-world use case, and performance benchmarks. If you're solving high-throughput challenges, this article shows how to make Java truly parallel.
-
Faster, Smoother, More Engaging: Personalized Content Pagination
Dynamic content loading powered by AI transforms user experiences by personalizing delivery based on user's behavior and network conditions. By analyzing scroll depth, speed, and dwell time, we optimize loading times, enhance engagement, and reduce infrastructure costs, especially on devices with poor internet connectivity.
-
Mocking gRPC in Spring Boot Microservice Integration Tests with WireMock
Mocking gRPC services allows you to validate gRPC integration code during your tests while avoiding common pitfalls such as unreliable sandboxes, version mismatches, and complex test data setup requirements. Learn how to use WireMock’s Spring Boot integration to mock gRPC services.
-
RxJS Best Practices in Angular 16: Avoiding Subscription Pitfalls and Optimizing Streams
This article delves into modern Angular (16+) RxJS best practices. It emphasizes using AsyncPipe for templates, flattening streams with operators, ensuring proper cleanup with takeUntil and DestroyRef, implementing error handling, and combining RxJS with Angular signals for efficient state management, ultimately leading to future-proof and maintainable code in Angular 17/18.
-
Binary Size Matters: the Challenges of Fitting Complex Applications in Storage-Constrained Devices
This article explores developing software for microcontrollers in C or C++, where constraints are the limited amount of volatile memory and the embedded hardware platform on which the software runs. It shows how to adopt languages like C++ while optimizing for binary size due to stringent hardware constraints, and trade off between runtime efficiency and binary size in architecture decisions.
-
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.