Create End to End Application using React, Relay, GraphQL, Rejoiner and gRPC

We are going to create a stack where: Microservices are communicating using gRPC using protobuf for serializing-deserializingFrontend is consuming APIs through graphQLReact is used to render UI Step 1: gRPC Service You need a gRPC server running for the tutorial. If you don't have one of your own, you can use the one here. This... Continue Reading →

Implement a file system in Java given n-bytes

Problem Statement Given n - bytes, implement a file system that supports following actions: Create FileUpdate FileRead FileDelete File If you want a good start point for a small low level design problem, this post on designing a ride hailing service might be a good start. Demystifying Problem Statement When the problem says that n-bytes... Continue Reading →

GoLang Journey – Composite Types

You might want to read the previous post in the series. Composite types created by combining the basic types like int, float etcetra. Arrays An array is a fixed length sequence of zero or more elements of particular typeBecause of the fixed length constraints, Arrays are rarely used in Goif "..." appears in place of... Continue Reading →

GoLang Journey – Basic Data Types

You might want to browse the previous post on this series. Integers Go provides both signed and unsigned integer typeThere are four different size of signed integer type; 8, 16, 32, 64 bits, represented by int8, int16, int32 and int64Similarly there are four different size of unsigned integer types; 8, 16, 32, 64 bits, represented... Continue Reading →

GoLang Journey – Program Structure

Names The name of go functions, variables, constants, types and packages abide by following rules: Name begins with a letter or underscoreName can have any number of additional letters, digits as well as underscoresCase in name matters; list and List are two different namesGo has 25 reserved words like if, map, package, go etceteraIf name... Continue Reading →

A Tutorial To Completable Future in Java

Motivation for Completable Future Remember the guy Future? One which used to do tasks for us in a separate thread and return a future object where we can get the result. Let's refresh the memory with a small code snippet showing Future at work. ExecutorService executorService = Executors.newFixedThreadPool(5); Callable customer = () -> { return... Continue Reading →

Introduction to GraphQL Mutation through Java

Prerequisite If you don't know about GraphQL, this link is a good place to start. This article would assume that reader has basic knowledge of REST as well as Java. Mutation Drawing comparison from REST, any verb (e.g. GET, POST, PUT etc) are able to do server changes. But as convention, we use POST to... Continue Reading →

Tutorial – Introduction to GraphQL through Java Implementation

Introduction Assume that we have been given following mockup screens: A possible rest implementation would have following APIs: GET /car/{id} Response: { "id" : "car1", "carNumber" : "KA01HK", "driverId" : "12" } ------------------------------------- GET /driver/{id} Response: { "id" : "12", "firstName" : "Harsh", "lastName" : "Vardhan" } But! The first screen only wanted car number... Continue Reading →

Simple Project Idea in Java for Beginners

Problem Statement: Make a console based java application which support CRUD (Create, Read, Update, Delete) operations for e-commerce domain. Application should be able to support following features: Any user should be able to sign up, log in and log out.Admin should be able to add, update and delete products.Logged in user should be able to... Continue Reading →

Blog at

Up ↑