InfoQ Homepage Development Content on InfoQ
-
Relearning C++ after C++11
C++ is an old but evolving language. It has been around for a long time, but has changed significantly, particularly since 2011. In this article, we will review a few of its most compelling new features, including ranges, lambdas, range-based for loops, and move semantics, all by practising with a vector.
-
Banking on Thousands of Microservices
Lessons learned building a banking platform, starting from technological choices like using Cassandra and Kubernetes in the early days to maintain the speed of execution through platform engineering and developer experience. With some mistakes and incidents along the way.
-
ASP.NET SPA Templates Proxy Changes from .NET 5 to .NET 6, .NET 7, and on
From .NET 6 the communication between front-end Single Page Applications (SPA) in ASP.NET and back-end .NET API was changed, with the SPA templates using the front end’s proxy solutions. A proxy for the development servers enables readable and debuggable code for both the front and back end, with the new approach resulting in a more independent back end.
-
Adopting an API Maturity Model to Accelerate Innovation
As your APIs gain more popularity, API sprawl can become an issue. A top-down governance approach is best suited to managing APIs at scale.
-
The Journey from Underrepresented IC to CTO: How Open Source Helped
This article tells the story of a minority woman's journey from DBA to co-founder & CTO, using open source to overcome gender disparity. It provides insights on career shifting, open-source monetization, and the distinction between IC and CTO. The author shares advice and insights that may be helpful for others.
-
Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler
This article conveys the foundational concepts and different types of Open Source Java profilers. It allows you to choose the best-suited profiler for your needs and comprehend how these tools work in principle. The aim of a profiler is to obtain information on the program execution so that a developer can see how much time a method executed in a given period.
-
A Simpler Testing Pyramid: Getting the Most out of Your Tests
Overcomplicating your test structure can lead to slow, brittle tests. A focus on test speed as the primary labeling mechanism maximizes your test investment.
-
The Silent Platform Revolution: How eBPF Is Fundamentally Transforming Cloud-Native Platforms
There is a silent eBPF revolution reshaping platforms and the cloud-native world in its image, and this is its story.
-
Migrate a RMI-Based Legacy Application to WebSocket
Technical debt, especially in enterprise software, is a relevant problem that developers recurrently have to face. This article provides a use case related to removing technical debt in a large enterprise application based on an old fashioned Remote Method Invocation (RMI) protocol, and migrating it toward modern cloud-aware communication technologies.
-
Rapid Startup of Your Cloud-Native Java Applications without Compromise
This article discusses the significance of startup time in cloud-native computing, highlighting challenges for JVM-based apps. It introduces Liberty InstantOn, which boosts startup times using checkpoint/restore technology, offering fast startup without compromising Java capabilities or facing static compilation trade-offs.
-
12 Places to Intervene - Rethink FinOps Using a Systems Thinking Lens
A recent study on FinOps by McKinsey reveals that 69% of organizations prioritize tactical initiatives over higher-impact strategic initiatives. One reason could be that most of those organizations are unaware of those strategic initiatives or unaware of their importance of them. In this article, I will analyze via a System Thinking lens how to prioritize the efforts to address those problems.
-
Billions of Messages Per Minute Over TCP/IP
Chronicle Wire offers an alternative way of transferring data between systems, delivering more messages, faster, than common JSON/XML approaches. This approach to data serialization improves both latency and throughput.