BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Programming Content on InfoQ

  • Q&A with Alex Blewitt on Swift Essentials

    Less than a year ago, Apple introduced Swift to the developer community. While Objective-C is a very powerful and mature language, Apple obviously wanted to freshen up its development eco-system with a new language borrowing concepts from modern, functional and script-like languages. InfoQ caught up with Alex Blewitt, author of "Swift Essentials", a book on developing iOS apps using Swift.

  • Interview and Book Review: BDD In Action

    "BDD In Action" is a book that aims to cover the full spectrum of BDD practices from requirements through to the development of production code backed by executable specifications and automated tests.

  • Deploying Microservices to AWS at Gilt: Introducing ION-Roller

    Over a period of seven years, gilt.com has grown from an e-commerce start-up running a monolithic Ruby on Rails application to $1B luxury goods company operating a cloud-based microservice platform utilising Scala, Docker and AWS. This article introduces Gilt's ION-Roller continuous deployment application, and explains the history and motivations that lead to the creation of this tool.

  • Cloud Native Architectures - a Conversation with Matt Stine

    Rags Srinivas caught up with Matt Stine at the O'Reilly Architecture conference in Boston, MA. Matt talks about Cloud Native Architectures and some of the cultural and technological challenges. He talks about some of the NetFlix services and how Spring is wrapping it up to be able to architect and develop microservices on the platform. He also talks about SOA and what it probably missed out.

  • Concise Java

    Unix pioneer Ken Thompson once said, “one of my most productive days was throwing away 1000 lines of code.” In this article Cas Saternos highlights practices now possible for writing concise Java code, with a special focus on the new functionality available in JDK 8. Shorter, more elegant code is possible due to the inclusion of Lambda Expressions in the language.

  • Functional-Style Callbacks Using Java 8's CompletableFuture

    The innovation of parallel streams in Java 8 has diverted attention from a very substantial addition to the concurrency library, the CompletableFuture class. Author Maurice Naftalin eloquently explores CompletableFuture, why it is so useful in programming systems that depend on the interaction of asynchronous tasks, and how it complements fork/join-style parallelism, including parallel streams.

  • Big Data Processing with Apache Spark - Part 2: Spark SQL

    Spark SQL, part of Apache Spark big data framework, is used for structured data processing and allows running SQL like queries on Spark data. In this article, Srini Penchikala discusses Spark SQL module and how it simplifies running data analytics using SQL interface. He also talks about the new features in Spark SQL, like DataFrames and JDBC data sources.

  • Metadata-Driven Design: Designing a Flexible Engine for API Data Retrieval

    Bulk data is commonly accessed via files & FTP. As the world moves toward APIs to facilitate collaboration, what are the requirements for data APIs? This article describes a meta-data driven architecture for bulk data ingestion. Two APIs operate in parallel to provide data changes as well as the data records themselves. An example demonstrates how API responses are parameterized using meta-data.

  • Software Development Tooling: Information, Opinion, Guidelines, and Tools

    In this article, authors summarize the information published in "Tools of the Trade" column series in IEEE Software magazine for last ten years. Tools and best practices are organized into categories like design, developing code, tooling, builds, and operations.

  • Lean Documentation

    Knowledge about system and domain, which is important for both effectiveness and good quality, is best acquired through a dialog, face2face. Unfortunately, there are situations when a dialog is not possible and our only rescue is lean documentation. This article gives you 6 practices how to maximize information while minimizing the number of words. This makes it easy to use and to maintain.

  • You’ve Completed Unit Testing; Your Testing has Just Begun

    Stopping testing your code when your unit tests all pass is like starting mass production of automobiles after testing the nuts and bolts. Integration testing guarantees that the collaboration of classes works. This article investigates some important techniques in integration testing.

  • Creating a Creative and Innovative Culture at Scale

    King Digital Entertainment needs to foster a creative and innovative culture with engaged and motivated people to create fun games. They have established an environment with freedom and trust, with space for experiments, exploration, and learning, to make people happy. Experiments and lessons from the engineering organization showing continuous improvement of HR-related processes and topics.

BT