REST Architectural Constraints

Over the past decades, we’ve seen SOAP fall out of favor as the cool kids transition their services over to the REST or GraphQl paradigms, or so it seems on the surface. In 2000, Dr. Roy Fielding proposed Representational State Transfer or simply called REST as an architectural approach to designing web services. Now that the obligatory introduction(?) is done, let's dive into the content. This article is purely focused on explaining six ground principles laid down by Dr. Fielding in order for an API to be RESTful; it has to adhere to the following six constraints.

source: Geek and Poke


Stateless means the…

Everything Has A Cost.

Photo by Kristina Tripkovic on Unsplash

For developers, using an ORM (Object-relational mapping) can significantly simplify their lives, but it has its own set of catches that one needs to be aware of. One of the more serious ones is the Select N + 1 issue. In this article, you’ll learn about the N+1 problem and how to fix and prevent them.

The N + 1 problem is a performance problem that is recognised as an inefficient way to query a database where an application makes N + 1 database calls. So basically, you’re spamming your database with small queries instead of using one or two…

Contentment, Memories, and Emotions.

There comes a day in your life where you look at a Van Gogh, a Monet, or a Picasso and wonder what exactly am I supposed to feel here? Certain paintings seem particularly stubborn where we are left to wonder on impressions, improvisations and compositions. Sometimes, leaving you with a void of unanchored interpretations.
This article isn’t a promising start on how to engage in that matter. However, this may be an exciting start where you may find the next painting you see less stubborn, moving little with your imagination and not leaving you with a void of anchored interpretations.

Landscape with the Fall of Icarus

Figure 1 | Landscape with the Fall of Icarus | Source: Wikipedia

The chasm between DOM and Virtual DOM

Photo by RKTKN on Unsplash

React.js is a well known JavaScript library for building user interfaces. According to Stackoverflow data for 2020, React ranked the second most popular web frameworks among professional developers. While setting aside talking about fundamental features in React like JSX, states and props, component life cycle, higher-order components or hooks let’s take a step back and look at a feature that makes React efficient. The Virtual DOM.


Before we dive into Virtual DOM in React let’s try to understand what’s DOM and why we use it. MDN Web docs have a decent explanation defining what DOM is,

“The Document Object Model…

Little bit about going Serverless with AWS Cloud Platform with React.

Photo by Michael Browning on Unsplash

What Is Serverless computing?

Serverless computing is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating the resources required.Wikipedia’s article on serverless computing provides a decent introduction to the topic:

Serverless computing, also known as function as a service (FaaS), is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function’s container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.


Recently with all the free time I could manage I followed up with Advent of Cyber Security in 25 Days where you get to learn the basics of cyber security in a more practical manner by doing beginner friendly security challenges.

Cyber Security Image on Pixels

This consists of 25 challenges considering one for each day. First 5 tasks however focused on setting up the environment which is pretty basic and with 6th task or called day one you start the challenge.

Challenge Link:

Day One : Inventory Management

You'll first deploy your virtual machine and with Openvpn activated access http://<your_machines_ip>:3000. Next, you have to open your Inspect Element…

I started blogging about things back in 2018 where my articles got all focused on Software Engineering. Idea was to master the craft of writing which followed by wanting to write more and more on different topics where later time intervened ( Yeah what an excuse right? ). Well with time I understood that writing should come with more reading, beating your own craft and all good things come with a commitment.

Today I move on to a new blogging platform — embracing the trendy microcosm in Medium and leaving behind the painful embrace of WordPress (Much love WordPress 💙). So, if you ever want to look at anything I wrote prior to 2020, you can head over to and see the things I used to rant and rave about when I was less of a craftsman than now.


Lakshitha Wisumperuma

This is practice, in the moment and in retrospect.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store