BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Development Content on InfoQ

  • How to Use Multiple GitHub Accounts

    Git is a popular tool for version control in software development. It is not uncommon to use multiple Git accounts. Correctly configuring and switching Git accounts is challenging. In this article, we show what Git provides for account configuration, its limitations, and the solution to switch accounts automatically based on a project parent directory location.

  • Is Your Test Suite Brittle? Maybe It’s Too DRY

    One important design principle in software development is DRY – Don’t Repeat Yourself. However, when DRY is applied to test code, it can cause the test suite to become brittle — difficult to understand, maintain, and change. In this article, I will present some indications that a test suite is brittle, guidelines to follow when reducing duplication in tests, and better ways to DRY up tests.

  • Modernizing Testing Practices for Jakarta EE Projects

    This article focuses on the increasing adoption of data-driven testing in Java enterprise applications and sheds light on the Data and NoSQL Jakarta specifications. It highlights the significance of modern testing libraries such as JUnit Jupiter and AssertJ and emphasizes the importance of container-based frameworks like Testcontainers in enhancing testing practices.

  • Article Contest: Write an Article for InfoQ and Win a QCon or Dev Summit Ticket

    InfoQ encourages software practitioners and domain experts to submit full-length technical educational articles.

  • Managing 238M Memberships at Netflix

    In this article Surabhi Diwan shared how the Netflix membership team does distributed systems: the architecture bets, technology choices, and operational semantics that serve the needs of Netflix’s ever-growing member base.

  • Architecting for High Availability in the Cloud with Cellular Architecture

    Cellular architecture is a design pattern that helps achieve high availability in multi-tenant applications. The goal is to design your application so that you can deploy all of its components into an isolated "cell" that is fully self-sufficient. It can benefit your customers regarding availability and ensure you hit your SLAs.

  • Relational Data at the Edge: How Cloudflare Operates Distributed PostgreSQL Clusters

    Explore Cloudflare's distributed PostgreSQL clusters and learn how a cross-region architecture ensures resilience. Discover how data storage and access at the edge deliver massive performance gains by reducing location-sensitive latency and why architecting for degraded states is much harder than for failure states.

  • Zero-Knowledge Proofs for the Layman

    This article will introduce you to zero-knowledge proofs, a kind of cryptography you can use to provide the proof you know a secret, such as a private key or the solution to a problem, without ever sharing it to an interested party. While many articles exist on the topic, this will not require any high math knowledge.

  • AWS Lambda under the Hood

    Mike Danilov, a senior principal engineer at AWS, presented on AWS Lambda and what is under the hood during QCon San Francisco 2023. This article represents the talk, which will start with an introduction to Lambda itself to outline the key concepts of the service and its fundamentals, which will facilitate a deep dive into the understanding of the system.

  • How to Use Rust Procedural Macros to Replace Panic with syn’s Fold

    In this article, we show how you can write advanced macros to step through Rust code and modify it. Using the standard tooling available in the syn crate, we first show how to change the occurrence of a panic into an Err. Then we go a step beyond and use the Fold trait to recursively step through the entire function, automatically executing a change in every applicable location.

  • The Hidden Cost of Using Managed Databases

    The rising popularity of managed relational databases brings hidden costs, and informed decisions are crucial for optimal use. This article shows the importance of monitoring service expenses, revising default settings, and understanding operational constraints, considering limitations like reduced flexibility and observability.

  • What's New in PHP 8.3

    PHP 8.3 is the latest major update in the PHP 8.x series. In addition to performance improvements, it brings a wealth of new features, including amendments to the readonly feature introduced in PHP 8.1; explicitly-typed class constants; a new #[\Override] attribute for methods intended to be overridden from a superclass, and more.

BT