InfoQ Homepage Development Content on InfoQ
-
The Process of Creating Decentralized Apps (dApps)
A decentralized application has a different architectural approach; they are working on distributed ledger technology called blockchain, where there is no central point of failure nor third parties involved. A revolutionary and attractive technology for new opportunities. This article covers creating such applications and why they are needed, as well as challenges during implementation.
-
The Unit in Unit Testing
In this article, we will focus on how developers should consider using fake objects instead of mock objects, as fake objects offer similar isolation benefits while driving high confidence, clear documentation, and loose coupling between implementation and test code.
-
How Practicing TCR (Test && Commit || Revert) Reduces Batch Size
The practice of test && commit || revert teaches how to write code in smaller chunks, further reducing batch size. TCR yields high coverage by design, which smooths the downstream testing pipeline.
-
Environment-as-a-Service (EaaS) as a Technique to Raise Productivity in Teams
In essence, EaaS addresses developer productivity issues by providing settings that make it simple for developers to test and mimic real-world uses of their system. This article discusses the benefits of EaaS.
-
How I Contributed as a Tester to a Machine Learning System: Opportunities, Challenges and Learnings
Have you ever wondered about systems based on machine learning? In those cases, testing takes a backseat. And even if testing is done, it’s done mostly by developers themselves. A tester’s role is not clearly portrayed. Testers usually struggle to understand ML-based systems and explore what contributions they can make. This is a journey of assuring quality of ML-based systems as a tester.
-
Building Functional .NET Applications: a Guide for Choosing between F# vs C#
C# and F# are languages, each with growing user bases, that approach functional programming in fundamentally different ways. C# relies on object-oriented, imperative principles, and F# relies on functional principles. Some developers are using F# as a complement to C#, rather than relying on the functional capabilities that exist natively in C#.
-
PHP 8 - Arrays, Variables, Operators, Exception Handling and More
In this article, we discuss new features brought by PHP 8 related to arrays, variables, operators, and exception handling. We also discussed some trait-, class-, and function-related features. This article concludes the PHP 8 article series.
-
Containers and Serverless—Rivals or Cohorts?
This article will try to decode these technologies and explore how developers should consider containers or serverless functions within their tech stack. For example, if your application has a longer startup time, then a container would suit the need better. Highly efficient stateless functions that need to scale up and down massively would benefit from running serverless functions.
-
Article Series: Developing Apache Kafka applications on Kubernetes
Apache Kafka has integrations with most of the languages used these days, but in this article series, we cover its integration with Java. In this series, we also discuss how to provision, configure and secure an Apache Kafka cluster on a Kubernetes cluster.
-
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.