InfoQ Homepage Architecture & Design Content on InfoQ
-
Building Scalable Systems: an Asynchronous Approach
Theo Schlossnagle expresses his opinion on Big Data, NoSQL, cloud, system architecture and design, then he discusses the benefit of using asynchronous queues for building scalable systems.
-
Let It Crash ... Except When You Shouldn't
Steve Vinoski explains how to avoid some of the Erlang errors that can bring down a system starting from the premise that not all the crashes are welcome as the “Let It Crash” philosophy might suggest
-
When the Pressure Is Really On: A “Rough and Ready” Application of Lean and Kanban at the BBC
Katherine Kirk presents a case study of a small team which decided to use Lean and Kanban to rapidly iterate over the development of the BBC iPlayer.
-
A Brief History of the (Java) World and a Peek Forward
Neal Gafter reviews the long history of Java from its inception to the present and makes an incursion into what he thinks will be a great future and guessing what might come in Java SE 9+ after 2014.
-
Stop the Software Architecture Erosion
Bernhard Merkle advices on preventing architectural degradation of a project by using tools for constant monitoring of the code, exemplifying with an analysis of Ant, Findbugs and Eclipse.
-
Factories-in-the-Small: Raytheon Experiences using the Software Factories Methodologies
John Slaby and Jezz Santos explain how Raytheon has created Factories-in-the-Small useful to rapidly build new tooling such as the Pattern Automation Toolkit developed in cooperation with Microsoft.
-
Membase NoSQL: Clustered by Erlang
Sean Lynch and Matt Ingenthron introduce Membase, detailing how they added clustering features in Erlang, what they built and what lessons they leaned along the way.
-
WebSockets: The Web Communication Revolution
Brad Drysdale makes a case for WebSockets, comparing it with current solutions – HTTP, AJAX, Comet-, and showing its low overhead and latency, making it a better solution for today’s web applications.
-
SOLID Software and Design Patterns for Mere Mortals
Phil Japikse explains SOLID software principles - Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion- and how to apply them using design patterns.
-
Node.js: Asynchronous I/O for Fun and Profit
Stefan Tilkov presents what asynchronous I/O means and how it can be performed on servers and web clients using Node.js and other JavaScript tools and libraries.
-
Clojure and the Web
Glenn Vanderburg discusses how Clojure helps creating web applications, focusing on Ring, Compojure, and how a functional language can be used to generate HTML and XML.
-
Why Program by Hand in Five Days what You Can Spend Five Years of Your Life Automating?
Terence Parr discusses using automation tools including DSLs to automate the software creation process as much as possible in order to increase output, effectiveness, correctness and velocity.