This site runs best with JavaScript enabled.

Latest posts

Why Refactoring Works

Below is a quote from Kent Beck which I found in the Refactoring book. Programs have two kinds of value: what they can do for you today and what they can do for you tomorrow. Most times when we are programming, we are focused on what we want the program to do today. Whether we are fixing a bug or… Read →

Type checking with JSDoc

Being able to catch bugs at compile time is a nice way to shorten feedback loop, thus become more productive. TypeScript provides static type checking. One way of integrating it in an app is refactoring entire app and adding type definition where those are needed. In some bigger apps this might take… Read →

WordPress Multisite with Gatsby

In this post I want to share my experience on how to setup multiple domains with one WordPress instance via Gatsby.js and Netlify. Although the post is describing the process using Netlify, the same high-level approach can be made with other deployment tools/ services. I've used this starter to… Read →

Code Sharing Between React Web And React Native

One of the advantages of using React Native is the possibility of sharing code across different devices. This is achievable because under the hood React Native is using the same component which is used on the web. The difference is only in platform specific UI components. This is why we will… Read →

CRUD App Using GraphQL Apollo Server, MongoDB And Angular

Until GraphQL came out, RESTful API was the most popular choice for client-server communication. REST has been defined about 20 years ago, in context of problems from that time. As applications became more complex and new devices came around, new problems has emerged and REST wasn't able to solve… Read →

React Compound Components

There are situations when we need to pass props to multiple children components. Manually passing props makes app tightly coupled and less flexible. One solution is to use compound components. Think of compound components like the <select> and <option> elements in HTML. Apart they don't do too… Read →

The First And The Most Rewarding Step In Optimizing React App

React is usually fast, but there are situations when we need to make some optimizations to avoid performance issues. Firstly, we need to understand in which cases React might get slow. When a component’s state changes, React has to calculate if it is necessary to update the DOM. It does this by… Read →