Skip to main content

Node.js Patterns for the Discerning Developer

Constantine Aaron Cois (Carnegie Mellon University, Software Engineering Institute)
Average rating: ****.
(4.50, 8 ratings)
Slides:   external link

Node.js has brought JavaScript to the server-side. The up-side of this is an excellent event-based backend framework capable of lightning fast real-time interactions. The down-side is the baggage: the pile of bad coding habits and antipatterns left over from the carefree days of frontend JavaScript that silently creep their way into Node.js codebases. Think plague-infected ninjas. Plus, the asynchronous nature of file and network I/O inherent to Node.js can cause its own headaches.

Discerning developers want more.

In this session, I’ll fight the good fight by presenting some high-quality design patterns for Node.js applications. I’ll bring to the table design patterns I’ve stumbled across in my own Node projects, as well as patterns observed from the classiest members of the Node.js community.

Topics include:

  • Mastering Node.js Modules
  • JavaScript (Model) Object Inheritance in Node.js
  • Patterns to avoid callback hell, including Async.js
  • Batch and Queuing patterns for massively concurrent asynchronous I/O
  • …and much more!

Top hat and monocle encouraged, but not required.

Photo of Constantine Aaron Cois

Constantine Aaron Cois

Carnegie Mellon University, Software Engineering Institute

Aaron is a software engineer currently located in Pittsburgh, PA. He received his Ph.D. in 2007, developing algorithms and software for 3D medical image analysis. He currently leads a software development team at Carnegie Mellon University, focusing on web application development and cloud systems.

Aaron is a polyglot programmer, with a keen interest in open source technologies. Some favorite technologies at the moment include Node.js, Python/Django, MongoDB, and Redis.

Comments on this page are now closed.


Picture of Caleb Madrigal
Caleb Madrigal
04/13/2014 8:20am PDT

Sounds like a good topic!