GraphQL - A Practical Overview and Hands-On Tutorial

GraphQL is a modern data query language. It features extremely powerful declarative data fetching syntax which clients use to specify what data they need. Once the query is processed, clients get back the data that they requested. This blog post is a hands-on introduction to GraphQL and its features. It’s not a comprehensive overview that does a deep-dive into internals, rather it is designed to give you an understanding of what GraphQL, important concepts and how to use it using real examples (that you’ll try out in your browser.) It assumes no previous knowledge of GraphQL. Let’s get started.


== vs === in Javascript. Includes Latest ECMAScript 6 Update

In Javascript, we have couple of options for checking equality:

  • == (Double equals operator): Known as the equality or abstract comparison operator
  • === (Triple equals operator): Known as the identity or strict comparison operator

In this post, we’ll explore the similarities and differences between these operators.


Spring Boot - Replace Tomcat With Jetty As the Embedded Server

Apache Tomcat and Eclipse Jetty are popular web servers and javax.servlet containers for Java. Many people prefer Tomcat (standalone) in production and its widely used compared to Jetty. On the other hand, Jetty is light-weight and has a smaller CPU and memory footprint. I have used Jetty in production for high-throughput REST API applications and its performance has been fantatic.

Many developers prefer to use Jetty when developing and testing on their local machines. Spring Boot web starter uses Tomcat as the default embedded server. I frequently find myself changing from Tomcat to Jetty on my Spring Boot projects.

In this post, we’ll take a look at steps to replace Tomcat with Jetty in Spring Boot projects.


What Are Containers? A Simple Guide to Containerization and How Docker Works

Docker is awesome. It enables software developers to package, ship and run their applications anywhere without having to worry about setup or dependencies. Combined with Kubernetes, it becomes even more powerful for streamling cluster deployments and management. I digress. Back to Docker. Docker is loved by software developers and its adoption rate has been remarkable.

So what exactly is Docker?

It’s a platform for building, testing, deploying and publishing containerized applications. I say platform because Docker is a set of tools for managing all-things related to containers. Containers are at the heart of Docker so that’s what we’re going to explore in depth next.


YAGNI, Cargo Cult and Overengineering - the Planes Won't Land Just Because You Built a Runway in Your Backyard

It was April. Year was probably was 2010. The cold, snowy winter was finally coming to an end and the spring was almost in the air. I was preparing for my final exams. The review lectures were going on for the RDBMS course that I was enrolled in at my university.