Compilers 101 in Go

Theory What is a Language? Every Language is defined by specifying four sets: Alphabet The most primitive building block of a language is its alphabet. An alphabet is a finite set of symbols. The alphabet for English consists of letters A to Z (both capital and small) as well as punctuation marks. The alphabet for a programming language includes characters A to Z, a to z, and other characters such as -, +, *, /, ‘, “, etc....

Sep 2, 2019 · 17 min · Milad Irannejad

A Comparison of GitHub Marketplace Apps

I have been using and evaluating dozens of GitHub Marketplace Apps for a few months now for a real-world microservices application built in Go. So, I decided to share what I liked and what I didn’t like about these integrations. The nice thing about using GitHub Marketplace is that your integrations and billing are all consolidated in one place. As an organization or a billing manager, it is much easier to manage all these different services from a single hub....

Jun 2, 2019 · 7 min · Milad Irannejad

gRPC in Microservices

I have been working with a microservices application using gRPC as the main service-to-service communication mechanism for almost a year. So, I decided to write a blog post and share my experience on how to do gRPC right in a microservices world! So, let’s get started! TL;DR DRY! Have a package for your common messages. Choose unique names for your gRPC packages. Choose singular names for your gRPC packages. Distinguish your gRPC package names with a prefix or suffix....

Jun 1, 2019 · 11 min · Milad Irannejad

An Overview of Graphql

TL;DR GraphQL is an API integration layer in distributed software (microservices) world. GraphQL is both a query language and a runtime for executing the queries. GraphQL solves underfetching and overfetching problems. GraphQL is strongly typed. Caching, profiling, and rate limiting are challenging with GraphQL! Schema stitching is a technique for decentralizing a GraphQL schema in microservices world. Schema stitching can be done by convention or configuration. GraphQL schemas can be completely decentralized by choreography....

Apr 30, 2019 · 1 min · Milad Irannejad

Hello World

This is my first post as I am getting to know Hugo and setting up my personal tech blog.

Apr 7, 2019 · 1 min · Milad Irannejad