22 03 2019
TypeScript JavaScript 6 min read

Design Patterns: Adapter

There are 23 classic design patterns, which are described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. These patterns provide solutions to particular problems, often repeated in the software development.In this article, I am going to describe the how the Adap…

08 03 2019
JavaScript NodeJS TypeScript 5 min read

Demeter's Law: Don't talk to strangers!

What is Demeter's Law? The Law of Demeter (LoD) or principle of least knowledge is a design guideline for developing software, particularly object-oriented programs - Wikipedia This law was proposed by Ian Holland in 1987 when he and his colleagues were programming a system called Demeter using orie…

01 03 2019
JavaScript NodeJS TypeScript 6 min read

Design Patterns: Template Method

There are 23 classic design patterns, which are described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. These patterns provide solutions to particular problems, often repeated in the software development.In this article, I'm going to describe the how the Templ…

22 02 2019
JavaScript NodeJS TypeScript 4 min read

Design Patterns: Strategy Pattern in JavaScript

There are 23 classical design patterns which was described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. The patterns provides a solution to a particular problem which is repeated in the software development.In this article, I'm going to describe the Strategy…

15 02 2019
Angular JavaScript TypeScript 5 min read

Part 8. Clock-in/out System: Deploy frontend (Angular 6+) using environments

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…

08 02 2019
JavaScript NodeJS TypeScript 5 min read

Understanding JavaScript/TypeScript Memoization

What means Memoization? The definintion of memoization from the wikipedia is the following: In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the s…

11 01 2019
JavaScript 11 min read

Refactoring a video player using reveal module and command pattern in JS

Today, I'm going to show a basic code in which a video player is done using a few good practices to develop code in the present days in the JavaScript language. My intention is show step to step the process from the original code to the finish code using several classic patterns such as Reveal Modul…

28 12 2018
JavaScript 6 min read

Refactoring a real-case

As a result of publishing the series of post of the clock-in/out system, I had the need to write a function to import the data from a large XLS file to a Postgres database using the ORM (TypeORM).This function was written quickly as a script without thinking too much about the quality of the code, b…