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

  • Teaching Modern Software Development Techniques at University

    We often hear how there is a skills shortage in the software industry, and about the apparent gap between what people are taught in university and the “real world”. This is how Imperial College London aims to bridge this gap, providing students with relevant skills for industrial software engineering careers, and teaching tools and techniques for professional developer working in a modern team.

  • Java 9, OSGi and the Future of Modularity (Part 2)

    The flagship feature of Java 9 will be the new Java Platform Module System (JPMS). Given the maturity of OSGi there were technical, political and commercial reasons why another Java module system will soon exist. In this article we compare the two from a technical perspective and see how JPMS and OSGi can work together.

  • Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1

    Developing transactional business applications using the microservice architecture is challenging, because domain models, transactions and queries are resistant to functional decomposition. This article describes a way to develop microservices that solves these problems by using Domain Driven Design, Event Sourcing and Command Query Responsibility Segregation (CQRS).

  • Ways to Make Code Reviews More Effective

    Performing Code Reviews helps to increase code quality, share knowledge and responsibility, and build better software and a better team. However, the big question remains – what is it we should be looking for? There are a lot of different things to consider. This article will list a wide range of items to check, and drill a little deeper into two specific areas: performance and security.

  • An Open API Initiative Update

    The Open API Initiative group is evolving what has become the de-facto standard API Description Format to produce a consistent and compatible format for describing APIs, allowing interoperation between tooling, systems, and runtime environments. Tony Tam, creator of the popular Swagger Specification is providing an update on the group activity.

  • On Abstractions and For-Each Performance in C#

    Donald Knuth famously said, “We should forget about small efficiencies, say about 97% of the time”. But when faced with the other 3%, it is good to know what’s going on behind the scenes. So in this article we’ll be taking a dive into the foreach loop.

  • Traffic Data Monitoring Using IoT, Kafka and Spark Streaming

    Internet of Things (IoT) is an emerging disruptive technology and becoming an increasing topic of interest. One of the areas of IoT application is the connected vehicles. In this article we'll use Apache Spark and Kafka technologies to analyse and process IoT connected vehicle's data and send the processed data to real time traffic monitoring dashboard.

  • RXJava by Example

    In the ongoing evolution of paradigms for simplifying concurrency under load, the most promising addition is reactive programming, a specification that provides tools for handling asynchronous streams of data and for managing flow-control, making it easier to reason about overall program design. In this article we overcome the learning curve with a gentle progression of examples.

  • Q&A: Relevant Search with Elasticsearch and Solr

    In their book "Relevant Search", Doug Turnbull and John Berryman focus on the challenge of providing search results by balancing the needs and intents of the user. Using Elasticsearch and Solr, relevance engineers can constantly tune the needs of the business vs. the needs of the user.

  • Big Data Processing with Apache Spark - Part 5: Spark ML Data Pipelines

    With support for Machine Learning data pipelines, Apache Spark framework is a great choice for building a unified use case that combines ETL, batch analytics, streaming data analysis, and machine learning. In this fifth installment of Apache Spark article series, author Srini Penchikala discusses Spark ML package and how to use it to create and manage machine learning data pipelines.

  • Java 9, OSGi and the Future of Modularity (Part 1)

    The flagship feature of Java 9 will be the new Java Platform Module System (JPMS). Given the maturity of OSGi there were technical, political and commercial reasons why another Java module system will soon exist. In this article we compare the two from a technical perspective and see how JPMS and OSGi can work together.

  • Polymorphism of MVC-esque Web Architecture: Classification

    The MVC architecture has a long and storied history, from its early days in the Smalltalk community to its modern implementation in JavaScript frameworks. In this article, Brent Chen explains the history of the MVC architecture and its different forms in modern applications, both on the client and on the server.

BT