BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Languages Content on InfoQ

  • Evolving the Federated GraphQL Platform at Netflix

    This article describes the journey of the migration towards a Federated GraphQL architecture. Specifically, it shows the GraphQL platform Netflix has built consisting of the Domain Graph Services framework for implementing GraphQL services in Java using Spring Boot and graphql-java, and tools for schema development. It also describes how the ecosystem has evolved at various stages of adoption.

  • AI-Based Prose Programming for Subject Matter Experts: Will This Work?

    In this article, author Markus Völter discusses the future of programming using Large Language Model (LLM) tools like ChatGPT and GitHub’s Copilot for prose-to-code generation. He also talks about what new approaches and language changes need to be in place to help non-programmers take advantage of the "program in prose" techniques.

  • Creating Your Own AI Co-Author Using C++

    While using ChatGPT through a web interface is one thing, creating your own autonomous AI tool that interfaces with ChatGPT via its API is a different story altogether. As strong proponents of C++, in this article we are going to present a GPT tool written in C++ to ease the pain of dealing with the daunting task of editing endless editorial comments.

  • A Comprehensive Guide to Java's New Feature: Pattern Matching for Switch

    Java brings an update with Pattern Matching for Switch. This article provides a detailed exploration of this feature, examining its support for any reference type, inclusion of null values, and introduction of guarded patterns. It also delves into the new runtime exception class - MatchException, and illustrates the compatibility of this feature with traditional switch statements.

  • Exploring Java Records beyond Data Transfer Objects

    Records are a concise and easy-to-use syntax for creating immutable classes. By using Records, you can ensure that your APIs are bulletproof and less prone to errors. Additionally, Records can be applied with Domain-Driven Design (DDD) principles to create more robust and maintainable code. Learning to use Records and apply them with DDD can help you make more resilient and scalable applications.

  • Using Project Orleans to Build Actor-Based Solutions on the .Net Platform

    This article takes a look at Project Orleans, an actor model framework from Microsoft. Version 7 makes it a lot easier to get started with, as it builds on top of the .NET IHost abstraction. This allows us to add it to .NET applications in a simple way. On top of that it abstracts away most of the complicated parts, allowing us to focus on the important stuff, the problems we need to solve.

  • How to Manage Full-Stack Java Development with Hilla

    This article explores Hilla, an open-source framework that offers an approach to web application development by integrating a Spring Boot Java backend with a reactive TypeScript frontend. It uses either Lit or React, combined with Vaadin’s 40+ open-source UI web components for interface creation. It also generates REST APIs and client access codes, a secure, stateless backend architecture.

  • A Guide to the Quarkus 3 Azure Functions Extension: Bootstrap Java Microservices with Ease

    A guide to using Azure Functions with Quarkus 3, for HTTP and non-HTTP functions. Covers newer native integration for serverless functions.

  • Easy Implementation of GDPR with Aspect Oriented Programming

    GDPR compliance should be a default feature in every application that handles PII (Personally Identifiable Information). Most organizations have an impression that GDPR is a luxury feature that needs special tools to implement. But, we can see that the frameworks and design patterns we already use in our everyday development can very well be used to implement the GDPR rules.

  • Learning eBPF for Better Observability

    This article shares insights into learning eBPF as a new cloud-native technology which aims to improve Observability and Security workflows. Learn how to practice using the tools, and dive into your own development. Iterate on your knowledge step-by-step, and follow-up with more advanced use cases later.

  • Relearning C++ after C++11

    C++ is an old but evolving language. It has been around for a long time, but has changed significantly, particularly since 2011. In this article, we will review a few of its most compelling new features, including ranges, lambdas, range-based for loops, and move semantics, all by practising with a vector.

  • Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler

    This article conveys the foundational concepts and different types of Open Source Java profilers. It allows you to choose the best-suited profiler for your needs and comprehend how these tools work in principle. The aim of a profiler is to obtain information on the program execution so that a developer can see how much time a method executed in a given period.

BT