InfoQ Homepage Development Content on InfoQ
-
Designing for Concurrency: the Hilbert’s Hotel Problem in Go
In this article, we want to show how achieving concurrency is the result of an appropriate design. A concurrent solution may turn out to be more elegant and easier to reason about than an equivalent sequential algorithm. To illustrate these concepts we use, as an example, the Hilbert’s Hotel mathematical problem.
-
Lambda Throttling - How to Avoid It?
This article aims to explain best practices if you have throttled your application and services and suggestions for how to handle these cases. We performed an in-house experiment at Jit (a SaaS-based DevSecOps platform) built on serverless to learn how our application behaves.
-
Accessing .NET gRPC Endpoints from Anywhere via JSON Transcoding
JSON transcoding is a feature that has been added to gRPC in .NET 7. It allows gRPC endpoints to be accessible via a REST API, and it's much easier to set up than any alternative technology available at the time of writing, such as gRPC-Gateway and gRPC-Web.
-
Article Series: PHP 8.x
PHP continues to be one of the most widely used scripting languages on the web with 77.3% of all the websites whose server-side programming language is known using it according to w3tech. PHP 8 brings many new features and other improvements, which we shall explore in this article series.
-
The Six Ways of Optimizing WebAssembly
While Wasm was originally designed for the browser, it turned out to be useful for embedded programming, plugins, cloud, and edge computing. For all these use cases, performance is tremendously important and is greatly impacted by file size. In this article, we’ll look at six ways to optimize Wasm for performance and file size.
-
PHP 8 - Type System Improvements
In this article we will discuss extensions to the PHP type system introduced in PHP 8, 8.1, and 8.2. Those include union, intersection, and mixed types, as well as the static and never return types. Additionally, PHP 8 also brings support for true, null, and false stand-alone types.
-
Why Team-Level Metrics Matter in Software Engineering
In a world where everything can have perspective, context and data, it doesn’t make sense to limit that to just part of your software development process. The DORA metrics can provide insight into the health of your development environment, where value is being delivered and opportunities for improvement. Metrics must be used with careful insight to separate the signal from the noise.
-
Proven Solutions to Five Test Automation Issues
Automated testing is often blocked due to some well-known issues, especially in a microservices architecture. API and service simulators can eliminate five common issues that block test automation.
-
InfoQ Software Trends Report: Major Trends in 2022 and What to Watch for in 2023
2022 was another year of significant technological innovations and trends in the software industry and communities. The InfoQ podcast co-hosts met last month to discuss the major trends from 2022, and what to watch for in 2023. This article is a summary of the 2022 software trends podcast.
-
Securing a Kafka Cluster in Kubernetes Using Strimzi
Deploying an Apache Kafka cluster to Kubernetes is easy if you use Strimzi, but that’s only the first step; you need to secure the communication between Kafka and the consumers and producers, provide RBAC to access topics, spread the secrets correctly to Kafka Connect components and all using a Kubernetes GitOps way.
-
Microservices Integration Done Right Using Contract-Driven Development
Build your microservices and micro-frontend in parallel and deploy them independently without worrying about integration issues, by leveraging API specifications such as OpenAPI and AsyncAPI as executable contracts to shift left the identification of compatibility bugs with Contract Driven Development using Specmatic, thereby removing the need for integration testing.
-
The Service and the Beast: Building a Windows Service that Does Not Fail to Restart
Windows Services play a key role in the Microsoft Windows operating system, and support the creation and management of long-running processes. When “Fast Startup” is enabled and the PC is started after a regular shutdown, though, services may fail to restart. The aim of this article is to create a persistent service that will always run and restart after Windows restarts, or after shutdown.