InfoQ Homepage Languages Content on InfoQ
-
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.
-
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.
-
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 Mobile Development Strategy for 2015
Now that 2015 is underway, it’s imperative to consider a mobile strategy framework for a prosperous year and beyond. We will be discussing some key points to consider as you plan your strategy for the year, and how they can help you usher in a successful future. These topics include visual development environments , Bimodal IT, cloud-based mobile development and the HTML5 vs. native debate.
-
Secrets of the Bytecode Ninjas
The Java language is defined by the Java Language Specification. But the executable bytecode of the Java Virtual Machine is defined by a completely separate standard, the Java Virtual Specification, and the two are often at odds. In this article we take a look at the structure of a class file and how to create class files directly without starting from Java source, using the ASM library.
-
Yes, Hardware Can Be Agile!
“You can’t do 2-week iterations with hardware!” This is the first thing you’ll hear when talk turns to Agile methods in hardware-software product development. A mix of existing robust hardware development ideas, plus a few newly taken from Agile software are being used now by real teams, even to get around - or through - the challenge of doing fast iterations.
-
The Modern JavaScript Developer’s Toolbox
The toolbox of the modern JavaScript developer has changed a lot in the last 20 years. From IDEs to build automation tools, there are plenty of options for developers. Choosing the best JavaScript library is only part of the process. Linters, bundlers, and minifiers are essential to productivity and performance when building modern web apps.
-
JavaScript is Cool…and the Market is Hot
JavaScript developers are in demand and now is the time to ride the wave. What are recruiters looking for and how can developers upgrade their skills to meet the needs of companies? Authors Areos Ledesma and Will Asrari discuss the JavaScript job market and how developers can prosper.
-
Go for the Money! JSR 354 Adds First Class Money and Currency Support to Java
First class money and currency support in Java are almost here. In this article Credit Suisse's Anatole Tresch JSR 354 spec lead, discusses the shortcomings of the legacy currency and money support, motivation for the new APIs, and lots of examples.