InfoQ Homepage Architecture & Design Content on InfoQ
-
Getting Pushy: Pushing Data from Server to Browser
David Pollak presents Lift's design and how the same design decisions were applied to Clojure/ClojureScript/AngularJS. Lift is a web framework with support for server-push.
-
One Backend Per User: 100% Data Privacy / 0 Scaling Issues
Michiel de Jong suggests solving the data privacy and scalability issues by enabling mobile apps to connect to user's preferred back-end using Dropbox.js, GDrive JS, NimbusBase, remoteStorage.io, etc.
-
Application Architecture in Groovy
Dan Woods presents the strengths and flexibility in Groovy, including its dynamic nature, categories and mixins, to create a powerful, maintainable, and simple application architecture.
-
Noether: Symmetry in Programming Language Design
Daira Hopwood introduces Noether, an experimental language meant to write more secure, robust and efficient programs, being built on multiple layers satisfying different levels of symmetries.
-
Building an Optimising Compiler for Dart
Vyacheslav Egorov details how some of Dart's language features affected the design of a new JIT Dart compiler and how the V8 JavaScript engine influenced the overall design.
-
API-Driven Development for Both Ends
Jakub Nesetril presents a practical example of prototyping, developing and testing an application using a structured description of its API.
-
Data & Infrastructure at Airbnb
Brenden Matthews describes the infrastructure built at Airbnb using Mesos in order to support Hadoop and Storm.
-
Redesigning PayPal APIs for Scale and Simplicity
Deepak Nadig, Praveen Alavilli present how PayPal redesigned its APIs based on lessons learnt developing their services in over 14 years, and the principles, patterns and anti-patterns used.
-
Scaling Pinterest
Details on Pinterest's architeture, its systems -Pinball, Frontdoor-, and stack - MongoDB, Cassandra, Memcache, Redis, Flume, Kafka, EMR, Qubole, Redshift, Python, Java, Go, Nutcracker, Puppet, etc.
-
Grails Transactions
Burt Beckwith discusses performing transactions in Grails, covering services, customizing transaction attributes (isolation, propagation levels), two-phase commit, using JMS, and testing the code.
-
Leveraging Groovy for Capturing Business Rules
Paul King illustrates various DSLs written in Groovy, highlighting several logic solving APIs and looks at the pros and cons of the various approaches (including tool support, flexibility, lock-in).
-
Graph Computing at Scale
Matthias Broecheler discusses graph computing, introducing the Aurelius graph cluster enabling graph computing at scale by building on distributed systems like Cassandra, HBase, and Hadoop.