InfoQ Homepage Development Content on InfoQ
-
The Kongo Problem: Building a Scalable IoT Application with Apache Kafka
In this article, author Paul Brebner discusses the best practices for developing IoT projects using Apache Kafka and Kafka Streams technologies and how to maximize Kafka scalability.
-
Mono: from Xamarin to WebAssembly, Blazor, and .NET 5 - Q&A with Miguel de Icaza
Mono started as an open source .NET platform in 2001, being developed by Xamarin until 2011. Since the company’s acquisition by Microsoft in 2016, both Mono and .NET Core have been developed in parallel. In the light of the most recent releases, InfoQ interviewed Miguel de Icaza —the original author of the Mono project—to talk about the current state of Mono and its future in the .NET ecosystem.
-
Java 14 Feature Spotlight: Records
Java SE 14 (March 2020) introduces records (jep359) as a preview feature. Records aim to enhance the language's ability to model "plain data" aggregates with less ceremony. In this article Java Language Architect Brian Goetz takes a deep dive into the feature.
-
Q&A on the Book Remote Mob Programming
In the book Remote Mob Programming: At home, but not alone, Simon Harrer, Jochen Christ, and Martin Huber share their experience doing mob programming while working from home for over a year.
-
Three Key Success Factors for Improving Test Automation Outcomes
Test automation is crucial in the DevOps world and vitally important even if not taking a DevOps approach, and good test automation requires careful thought and design from the architecture onward. Tests need to be fully automated, and that automation needs to be stable; no test cases should fail for reasons other than issues in the system(s) under test.
-
Why Visual AI Beats Pixel and DOM Diffs for Web App Testing
Visual AI breaks regions of pixels into rendered elements for comparison purposes, similar to how humans view web pages. As a result, Visual AI can compare any kinds of images on a page, providing a more effective mechanism for automated visual testing when compared to pixel and DOM diffing.
-
Groovy 3.0 Adds New Java-Like Features
Groovy 3 adds several new features similar to equivalents in Java, including the enhanced for loop, try-with-resources and lambda expressions.
-
Functional UI (Framework-Free at Last)
Functional UI is a set of techniques which rely heavily on functional programming to develop user interface applications. While deceptively simple, functional UI techniques are surprisingly powerful. Functional UI directly reflects the application's specifications, allows developers to unit-test user scenarios, and UI frameworks become mere libraries. Framework-free at last!
-
Book Review: Developer, Advocate!
Developer, Advocate! is a set of interviews with prominent technologists, covering what drives their interest and enthusiasm in the industry. The brevity of each interview provides direct information and insight that can be read separately at any time, in any order, enabling those with busy schedules to read, put down, and repeat.
-
A Bottom-Up View of Kotlin Coroutines
Recently coroutines have become popular as an alternative to Reactive Programming on the JVM. In many cases the costs of restructuring your code around functional operations for reactive streams outweigh the benefits, so coroutines have emerged, initially for Android, as an alternative solution. This deep dive explores how Kotlin's implementation works under the hood.
-
Kubernetes Security: The State of the Union - a Virtual Panel
InfoQ caught up with experts Scott Coulton, cloud developer advocate at Microsoft, Liz Rice, VP of open source engineering at Aqua Security, Gareth Rushgrove, director of product management at Snyk, Maya Kaczorowski, product manager for security and privacy at Google Cloud and Kirsten Newcomer, senior principal product manager at Redhat about the state of the union of Kubernetes security.
-
The Datum Data Binding Library
There has been an explosion of frameworks and libraries for making single page applications for the web. Angular, React, Vue and quite a few others have made it easier to develop on the web and helped fuel its growth as webapps have become more dynamic and interactive. Howeve,r there may still be room for other libraries and new ideas such as Datum, a new, simple data binding library.