## OOP Concepts in practice using TypeScript

The idea of this post is to modify a very small part of imaginary software by applying OOP concepts.

The idea of this post is to modify a very small part of imaginary software by applying OOP concepts.

A Hash table is a data structure with a highly efficient lookup, which store key values pairs

Search algorithms that are used to retrieve information from a data structure, in this post I'll describe 3 search algorithms to find an element in lists

Quick Sort is an in-place sorting algorithm that uses a divide-and-conquer technique to sort a given list

Merge sort is a sorting algorithm that uses a divide-and-conquer technique to sort a given list

In this post, I'll describe three sorting algorithms that, although not the most efficient, are easy to understand.

Checking if a Binary Tree is a BST step by step

Binary Search Trees are useful when you need to insert, delete and search comparable elements.

There are some ways to reverse a Singly Linked List, the one that I want to show here doesn't require extra space.

Topological sort is an ordering of the vertices of a directed acyclic graph, in a way that if there is an edge from a vertex A to B, then A comes before B.

Graphs can be used to represent networks, websites structure, path optimization algorithms, there are also applications in other fields.

Queues can be used whenever is necessary to process things in a first-in-first-out order, also helps in algorithms of other data structures.

You can use stacks for expressions evaluations and conversion, backtracking, and memory management.

Linked Lists have some advantages over arrays and can be used to implement other data structures, such as stacks, queues, and graphs.

An array is a common data structure that holds items of the same type, in TypeScript, unlike other languages, an array doesn't have a fixed length.

Some notes about REST and best practices that I follow to design RESTful APIs

Some things that happened to me in 2020 that is worth writing about

Write clean code requires practicing and I was wondering if there are some techniques that is easy to apply even if you are in the beginning of your journey to become a software developer. So I came up with four.

Every morning I have to open, resize and reposition all applications I need to work, so I thought: What if I only had to press a keyboard shortcut that could do that for me...

Continuing the previous article we are going to build our chat application front-end.

Learning some GraphQL concepts by building a chat application.