InfoQ Homepage Architecture Content on InfoQ
-
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.
-
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.
-
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.
-
Single Page Apps and the Future of History
Michael Mahemoff discusses how HTML5 can be used to create single page web apps offering advice to create a better user experience, built-in accessibility and better SEO results.
-
Advanced Aspect Oriented Programming
Donald Belcham presents how to use AOP to avoid code repetition without following the decorator pattern along with frameworks supporting such aspects.
-
Type Systems for DSLs
Markus Völter discusses what type systems are and some of the typing rules usually needed for DSLs, exemplifying the concepts with Xtext and MPS.
-
Beam.js: Erlang Meets JavaScript
Yurii Rashkovskii presents Beam.js, a JavaScript platform built on erlv8 and providing bi-directional integration with Erlang.
-
Things Break, Riak Bends
Justin Sheehy talks about failure and the need to prepare for it, giving some real life examples along with techniques implemented in Riak to make it resilient to faults.
-
Clojure: The Art of Abstraction
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
-
Events Are Not Just for Notifications
Greg Young discusses how to use events to store data, and how testing, versioning and performance are impacted by an event-centered model.