Mongo Hidden Gem in Aggregation Pipeline, Join Collections with $lookup

Having foreign key relationships in mongo is a bit controversial, but is often a necessary evil. And when it’s necessary, we can use an aggregation query with a $lookup pipeline to effectively join collections. Let’s say we have 2 collections Trainer and Monkey: Trainer documents: { “trainerId”: 1, “name”: “Chris” } Monkey documents: { “name”:…

Read More

Cold Boot – The Dirty Secret of Serverless

cold boot

Ok, now that I have your attention, let’s talk about how to mitigate cold boots and unlock the full potential of serverless. Within this article, I will be discussing AWS lambda, but the same concepts apply to Azure and Google Cloud. Full disclosure, I am a fan of serverless. It offers many benefits including cost…

Read More

Takeaways from The Phoenix Project

project takeaway

Pinnacle’s Business Developer Manager, Jeff Noffsinger, wrote a fantastic review of the book The Phoenix Project. Here is his book report on LinkedIn: 9 Takeaways from The Phoenix Project The Phoenix Project has been on my to-read list for awhile and now I’m even more intrigued. It tells the story of a fictional IT shop with…

Read More

Continuous Integration: Jenkins

continuos integration

What is Jenkins? Jenkins is the backbone of a Continuous Integration (CI) ecosystem. It allows you to manage your projects and configure how they are built. It can be used with any type of build tools, but it really shines for Maven projects because of the extra functionality it offers. There are robust 3rd party plugins…

Read More

Spring Boot

spring boot

The sessions at this year’s SpringOne conference covered a wide range of topics, everything from developer tooling to testing to reactive programming to core Spring. However, permeating the keynote and nearly all sessions was Spring Boot, Pivotal’s newest addition to the Spring ecosystem. In fact, one session was titled ‘Building Bootiful Web Applications’. Simplifying the…

Read More

HTML5 WebSockets

html5

All code and slides can be found on GitHub: https://github.com/thoward333/websockets-demo Know When You Need Real-time Real-time applications need instant updates from the server, often when an external event triggers the need to receive new data. The most popular solution involved long polling, where the page makes an AJAX call to the server that remains open until…

Read More

Spring + REST + Angular: Consuming the API — Part 2 of 2

api program

This series of posts builds a RESTful service that is consumed by an Angular front end. In this post we will create an Angular application that consumes the RESTful web service we built in Part 1 of the series. The source code for this sample application is on GitHub: https://github.com/thoward333/addrbook Angular Overview Angular is a…

Read More

Spring + REST + Angular: Creating the API — Part 1 of 2

computer script

This series of posts builds a RESTful service that is consumed by an Angular front end. In this post we will create a RESTful web service built on Spring MVC that uses JSON. The source code for this sample application is on GitHub: https://github.com/thoward333/addrbook Service-Oriented Architecture With the growing popularity of Single Page Application (SPA)…

Read More

Inversion of Control with Spring

async loader

What is Spring? Spring is an Inversion of Control (IoC) container, which means it uses Dependency Injection (DI) to provide dependencies to classes. For example, let’s say we have a class EventService that has a dependency on a Data Access Object (DAO). Here’s EventService without an IoC container:

Read More