Merging type definitions in Apollo Server

As you finished the hello world lessons of GraphQL using the Apollo Toolkit and want to do some serious stuff with this amazing piece of technology, you will find yourself struggling with organizing your code so that it can be more modular. Nobody likes a file with 1000 line of code. Same happened with me when I was trying to do a POC for my current organization about putting a GraphQL wrapper over our existing RESTish APIs.
Read more →

Iterating Javascript object the hard way

As a developer, we use loops in our daily life. Almost every language out there as a variation of loop. But Javascript has about half a dozen of them. for, for..of, for..in, forEach, while, do..while. Each one of them has a different use case and implementation. But they all are here for the same reason. Iteration. Have you ever came across the error while trying to for of loop over objects properties
Read more →

Understanding ownership in Rust

For 2019, I decided to learn system programming. While C is still the most popular language when it comes to writing system software but learning C can be a bit daunting managing all the low level details manually such as malloc and free After a bit research, I decided to give a try to Rust . Rust is a strongly typed Ahead of time compiled language that guarantees memory safety by its model of ownership.
Read more →

Deploying Laravel app with MySQL and Redis on Amazon EC2 with Ansible

Ansible is a configuration management tool that automates the deployment process and can be easily scaled. The way Ansible works it connect to your remote host(s) via SSH and runs your deployment steps there. You can add up multiple hosts depends on how many forks can be created on your control machine (i.e from where you are executing Ansible commands). This tutorial is a step by step guide to deploy Laravel application on AWS EC2 instance with Ansible.
Read more →

Speaking HTTP2

Understanding HTTP First Many of us who work on the business application development rarely get a chance to go deeper into the networking side of computer science. This is totally acceptable as the whole idea of software development is “Abstraction”. We tend to develop things on top of technologies and methodologies that have been previously developed and trust that something is meant to be worked as it is expected. However, It is best for application developers to understand how things work behind the scene and when to use a certain technology.
Read more →