Thank you MIT [personal]

Screen Shot 2015-09-17 at 12.24.30 PM

These twenty video lectures by Hal Abelson and Gerald Jay Sussman are a complete presentation of the course, given in July 1986 for Hewlett-Packard employees, and professionally produced by Hewlett-Packard Television.

How Domain-Driven Design Aids in the Planning of Microservices Architecture [architect]

In application development, DDD defines problems as domains and subdomains. Independent steps and problem areas are then defined as bounded contexts. A common language is encouraged with definitions for entities, value objects and aggregate route rules.

Sokhan says it is very similar to microservices: the goal is to separate monolithic applications into multiple, stand alone service applications. For those not wrestling with the technical debt of a legacy system, services can be created from the start using bounded contexts.

In monolithic, legacy systems, it is not uncommon to have integration of various services occur through the database.

But as more enterprises seek an agile way to develop new customer-facing products and to scale existing initiatives, architecture that integrates services via databases prevent horizontal scaling (because they need to add more application servers to grow) and end up needing to blur business logic by including it in some database models.

NodeJS 4.0 Stable [architect]

The collaborators of the Node.js project and the members of the Node.js Foundation are proud to offer v4.0.0 for general release. This release represents countless hours of hard work encapsulated in both the Node.js project and the io.js project that are now combined in a single codebase. The Node.js project is now operated by a team of 44 collaborators, 15 of which form its Technical Steering Committee (TSC). Further, over 100 new individuals have been added to the list of people contributing code to core since v0.12.7.

Building a GraphQL Server with Node.js and SQL [team]

Its early days, but, here is a clearer picture on the GraphQL concept.

GraphQL is a new technology from Facebook. It aims to replace REST as a go-to API standard for developing rich applications. In this article we’ll build a simple GraphQL server using Node.js and an SQL database.

Property based testing [team]

JSVerify is a property-based testing library, highly inspired by QuickCheck. It is testing framework agnostic, you could use JSVerify with Mocha, nodeunit, Jasmine or any other framework.

Property based testing

Write properties about your function that should hold true for all inputs, instead of enumerating expected inputs and outputs. Tests written this way are concise and powerful.

Property-based tests make statements about the output of your code based on the input, and these statements are verified for many different possible inputs.

Property-based testing encourages a high level approach to testing in the form of abstract invariants functions should satisfy universally, with the actual test data generated for the programmer by the testing library. In this way code can be hammered with thousands of tests that would be infeasible to write by hand, often uncovering subtle corner cases that wouldn’t be found otherwise.