InfoQ Homepage Architecture & Design Content on InfoQ
-
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.
-
Cross-platform Mobility: The Rise of Mono in the Enterprise
Scott Olson presents the current mobile industry landscape, what enterprise mobility opportunities are, and how developers can profit with cross-platform development with Mono.
-
Infinitely Extensible
Alex Papadimoulis discusses avoiding over-engineering a program, presenting extensibility types used, extensibility design patterns, when to use them, and what happens when they are incorrectly used.
-
Getting Things Done with REST
Ian Robinson discusses how to implement a hypermedia-driven web application and how to test its workflow giving as example a RESTful web service he built on top of Microsoft’s Web API.
-
Do You Really Get Memory?
Jevgeni Kabanov creates a CPU model in Java in an attempt to explain the underlying mechanism of memory performance bottlenecks and the need for a correlated hardware, OS and JVM improvement.