InfoQ Homepage Programming Content on InfoQ
-
Using API-First Development and API Mocking to Break Critical Path Dependencies
Teams are using API mocking to break critical path dependencies and enable what were serial execution sequences into parallel paths. This article looks at where mocks should be used for the greatest impact and provides a model to estimate the effect of implementing API mocking and an API-first approach.
-
Reducing Cloud Infrastructure Complexity
Cloud computing adoption has taken the world by storm, and is accelerating unabated. According to Flexera’s annual State of the Cloud Report for 2020, 93% of respondents used multi or hybrid cloud strategies. This article examines different aspects of cloud infrastructure complexity, and approaches to mitigate it.
-
Overriding Sealed Methods in C#
In this article, the author demonstrates how we can change the behavior of sealed methods in C#. This can be done by understanding Operating System mechanisms and how the .NET platform generates and compiles code. The author illustrates these techniques using real-world scenarios, including the modification of the WinPAI wrapper.
-
The Renaissance of Code Documentation: Introducing Code Walkthrough
The Continuous Documentation methodology is a useful paradigm that helps ensure that high-quality documentation is created, maintained, and readily available. Code Walkthroughs take the reader on a “walk” — visiting at least two stations in the code — describe flows and interactions, and often incorporate code snippets.
-
Five Things to Remember When Upgrading Your Legacy Solution
Legacy software is still employed, even though it frequently fails to meet critical demands and core business operations. By choosing the right modernization strategy and software development teams, you can easily cut down on high legacy software maintenance costs and increase productivity.
-
How to Harden Applications against IIoT Security Threats
This article will explore two sides of the IIoT security equation: understanding how and why IIoT systems can become vulnerable to hacking attempts, and which solutions and strategies are available to harden them. It will provide also a set of best practices to address IoT security concerns.
-
Anomaly Detection Using ML.NET
In this article, the author introduces the concepts of Anomaly Detection using the Randomized PCA method. The theory behind the concepts is explained and exemplified. The method is demonstrated with a real-world scenario implemented using C# and ML.NET.
-
Records in C# 9
In this article, Tugce Özdeger talks about Records, a new reference type introduced in C# 9 that provides built-in functionality for encapsulating data. The article shows the potential benefits and advantages of using records and how developers can use them in their applications, with code examples and comparisons with classes and structs.
-
Takeoff: What Software Development Can Learn from Aviation
A lot of professions have been around way longer than software development and have developed "best practices" to handle typical problems and challenges. Software developers can benefit from taking a closer look at aircraft maintenance or a pilot’s processes to learn from them, optimize our processes. and last but not least, try to reduce some of the stress that we experience over and over again.
-
Present and Future of Xamarin Community Toolkit: Q&A with Gerald Versluis
Xamarin.Forms is evolving into .NET MAUI; the Xamarin Community Toolkit is also preparing for the transition. In this Q&A, InfoQ decided to interview Gerald Versluis. He is a software engineer at Microsoft from the Netherlands. In this interview, we will talk about Xamarin Community Toolkit, MAUI transition, and their future roadmap.
-
The Fundamentals of Testing with Persistence Layers
Mocking out dependencies such as databases and other persistence layers leads to ineffective tests. Unfortunately, our industry is also focused on function-level testing to the exclusion of all else, so few are trained on how to write any other type of test. This article seeks to correct the issue by reintroducing the concept of testing with databases.
-
Is Artificial Intelligence Taking over DevOps?
AI tools are slowly replacing the role of the developer – just as DevOps did before – and will eventually supplant DevOps entirely. Assessing whether that prediction is true is tricky. In this article, we’ll look at what AI promises for the development process, assess whether it can really ever take over from human developers, and what DevOps is likely to look like in a decades’ time.