BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Development Content on InfoQ

  • Istio and the Future of Service Meshes

    A service mesh provides a transparent and language-independent way to flexibly and easily automate networking, security, and observation functions. This article examines the past, present and future of the Istio service mesh. The near-term goal is to launch Istio to 1.0, when the key features will all be in beta, including support for Hybrid environments.

  • Default Interface Methods in C# 8

    Default interface methods are included in a new feature proposal for C# 8, which will allow developers to use the traits programming technique. Based on an existing language feature found in Java, traits are an OOP technology that promotes the reuse of methods between unrelated classes.

  • Democratizing Stream Processing with Apache Kafka and KSQL - Part 1

    In this article, author Michael Noll discusses the stream processing with KSQL, the streaming SQL engine for Apache Kafka. Topics covered include challenges of stateful stream processing and how KSQL addresses them, and how KSQL helps to bridge the world of streams and databases through streams and tables.

  • Refactoring to Eclipse Collections: Making Your Java Streams Leaner, Meaner, and Cleaner

    Eclipse Collections is a high performance collections framework for Java, adding rich functionality to the native JDK Collections. In this article, key framework contributors demonstrate techniques for refactoring standard Java code to Eclipse Collections data structures and APIs, and also demonstrate some of the memory savings you can achieve.

  • Picking an Active-Active Geo Distribution Strategy: Comparing Merge Replication and CRDT

    Modern distributed applications are fuelling the growing demand for distributed active-active, multi-master databases. While most popular databases support multi-master deployment, different databases employ different techniques. LWW, MVCC, merge replication and CRDTs deliver eventual consistency, offering read and write access with local latency and remaining available during network partitions.

  • Understanding the Varieties of .NET

    The goal of this article is not to go too deeply into the technical details of the different .NETs; plenty of technical resources are available, and pointers to some of them are provided. Rather the goal here is to answer a simple question: Which variety of .NET should you use in a given situation?

  • Ballerina Tutorial: A Programming Language for Integration

    Ballerina is a new programming language and platform whose objective is to make it easy to create resilient services that integrate and orchestrate across distributed endpoints. Ballerina’s design principles focus on baking integration concepts into a language, including a network-aware type system, sequence diagrammatic syntax, concurrency workers, being “DevOps ready”, and environment awareness.

  • Advanced Architecture for ASP.NET Core Web API

    This article looks into how ASP.NET Core makes it easy to build a modern web API. This enables an implementation that is easy to design, test, and maintain. By using the Ports and Adapter Pattern business logic can be decoupled from API frameworks and data access.

  • How to Deal with Open Source Vulnerabilities

    Despite the shockwaves following the Equifax hack in September 2017, the industry still has a long way to go in protecting their products. A key area to focus on is the open source components that comprise 60-80% of the code base in modern applications. Learn how to detect vulnerable open source components and keep your products secure.

  • Ballerina Microservices Programming Language: Introducing the Latest Release and "Ballerina Central"

    The tutorial demonstrates Ballerina, a new programming language and platform whose objective is to make it easy to create resilient services that integrate and orchestrate across distributed endpoints. Ballerina uses compile time abstractions for distributed system primitives that enable the compiler to generate artifacts like API gateways for deployment to Docker and Kubernetes.

  • Columnar Databases and Vectorization

    In this article, author Siddharth Teotia discusses the Dremio database which is based on Apache Arrow with vectorization capabilities.

  • Developers. Our Last, Best Hope for Ethics?

    In March, Stack Overflow published their Developers’ Survey for 2018 and for the first time they asked questions about ethics. The good news is that to “Do Developers Have an Obligation to Consider the Ethical Implications of Their Code?” nearly 80% responded “yes”. However, only 20% felt ultimately responsible for their unethical code, and 40% would write unethical code if asked.

BT