Software Development / Frontend / Backend

Read articles about Software Development, Frontend and backend Technologies such as Angular, NodeJs, React and much more!

Data types in Flutter (Dart)

Data types in Flutter (Dart)

Quick overview of the Dart data type available in Flutter. It is important to define data types when working on a Flutter application. This helps to write clean code and to improve code readability.

Introduction to React Hooks

Introduction to React Hooks

React Hooks are functions that facilitate the access and management of React’s state, props, context and lifecycles. The article reviews key APIs to React’s core features.

Flutter for Beginners: What is Flutter?

Flutter for Beginners: What is Flutter?

Flutter is a multi-platform framework built by Google and used to develop native applications for web, mobile and desktop from a single code base. Here we review key ideas, concepts and introduction Tutorials to Flutter.

How to update to Ubuntu 21.04?

How to update to Ubuntu 21.04?

Canonical has released a new version of Ubuntu. This articles covers how to update to Ubuntu 21.04 - Hirsute Hippo and what are the new features of Ubuntu OS.

Introduction to Dart Programming Language

Introduction to Dart Programming Language

This article covers the basics of Dart, a programming language developed at Google. With a C-style syntax, Dart can be used to develop mobile apps, web application as well as desktop applications. The first step to learn Flutter is to understand its base.

What is Kotlin? Learn in 15 minutes

What is Kotlin? Learn in 15 minutes

Quick introduction to Kotlin programming language: what is Kotlin used for and which are the benefits of developing in Kotlin. This article covers the basic use cases for Kotlin and why it is so popular.

Github - User Access Token instead of Passwords

Github - User Access Token instead of Passwords

Github announced its deprecation of user passwords for all Git operations. Git operations that use authentication will require the use of token-based (GitHub User Access Token). The motivation behind this decision from GitHub is to increase user’s security from malicious attackers.

Top JavaScript Frameworks 2021

Top JavaScript Frameworks 2021

What are the top JavaScript Frameworks that you should be looking for in 2021? This article provides a list of the most commont frontend frameworks to use on a JavaScrtipt project.

What are Programming Paradigms?

What are Programming Paradigms?

This article reviews what are programming paradigms and how they can be used. It provides insights of the different programming styles and techniques that can be used to solve common programming challenges.

Code Reusability in Software Programming

Code Reusability in Software Programming

What is code reusability? This article reviews the concepts around code reuse and how to apply them to software development.

How to Change Git User Name and Email

How to Change Git User Name and Email

Easy steps to configure a Git repository and change the Git user name and email. A review of git's config object and how to retrieve information from a git repository using the git config command.

Hexagonal Architecture

Hexagonal Architecture

How to implemenet Hexagonal Architecture design pattern in software applications. Review of concepts to build software apps that are easy to maintain and scale.

Solid Principles - Object Oriented Design

Solid Principles - Object Oriented Design

The SOLID principles are used to improve code reusability and help to maintaining a clean software architecture. There are 5 principles that stablish a set of rules to design a well-organised software system.

Domain Driven Design (DDD)

Domain Driven Design (DDD)

What is Domain Driven Design and why it is important to define a clear terminology? This article covers the key aspects of developing software following best practices of Domain Driven Design.

How to update Angular 11

How to update Angular 11

Updating Angular projects on a regular basis is very important. This article covers how to update Angular to version 11 from version 7. It also provides information about new features on Angular 11.

SQL Joins, Group and Union

SQL Joins, Group and Union

Overview of the SQL Join clauses: Inner, Left, Right and Full joins. How to join two or more database tables and how to group them using Group By. What are aggregate functions in SQL and how to Union multiple SQL queries.

Recursive Functions in JavaScript: 10 Examples

Recursive Functions in JavaScript: 10 Examples

10 Examples of recursive functions in Javascript. From a basic linear summation to more complex problems such as the Sieve of Eratosthenes or the Pascal Triangle. Code functions are provided with working examples.

Object Composition over class inheritance.

Object Composition over class inheritance.

Why you should favour object composition over class inheritance. A Comparison of these object-oriented techniques and their use cases in software development.

Environment Variables in Python

Environment Variables in Python

Environment variables are key to Software Development applications. This article reviews best practices for creating environment variables in Python.

Virtual Environments in Python

Virtual Environments in Python

A look out to Python's virtual environments. Why are they useful and how can be used in software applications to install Python packages using Python Package Index (PyPI)

Redux: The Essentials

Redux: The Essentials

A basic overview of Redux, an open-source JavaScript library for managing and updating an application state. A dive into its actions, APIs and tools for state management of modern applications.

Best Practices in Express JS (Node.js)

Best Practices in Express JS (Node.js)

Fast, unopinionated, minimalist web framework for Node.js. The post covers best practices for developing Node.js applications on top of the Express JS web framework.

Machine Learning: The Basics

Machine Learning: The Basics

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

PM2 - Production Manager for Node.js

PM2 - Production Manager for Node.js

PM2 is a process manager for node.js applications. A powerful tool that will facilitate common system administration tasks for node apps.

Angular Nested Routing

Angular Nested Routing

Angular is one of the most advanced JavaScript frameworks at the moment. Been able to create nested routings based on modules is key to design an easy to scale Angular application.

The 12-Factor methodology

The 12-Factor methodology

The twelve-factor app is a methodology used to build software-as-a-service apps that are easy to scale up without significant changes to tooling or architecture.

Introduction to Algorithm Complexity Analysis

Introduction to Algorithm Complexity Analysis

A basic but helpul introduction to Algorithm Complexity Analysis. An overview of tools for analysing algorithms and representing their complexity.

How to change the author of a commit

How to change the author of a commit

4 easy steps to change author name of a commit after push. Learn to use the rebase command and differences between git rebase and git merge.

How to compile Angular into single bundle.

How to compile Angular into single bundle.

Steps to compile an Angular application into a single bundle. An overview of the types of Angular compilation bundles and ways to cache bust an Angular application.

Introduction to JSON Web Tokens

Introduction to JSON Web Tokens

Introduction to the JWT, a self-contained and secure way to transmit information between a applications and services across the network.

Create Angular Component after Application Initializes

Create Angular Component after Application Initializes

Basic learning of how to use build-in tools provided by Angular in order to create components after an application has been loaded.

What Is Data Modeling

What Is Data Modeling

Data modeling is the practice of translating an information system into models in order to represent its internal structure. It often involves the use of diagrams and schemas to represent data flow across a software application.

TypeScript Models

TypeScript Models

Basic overview of the TypeScript and ECMAScript 6 models. An example of use case to exemplify the use of models in external classes.

Angular: Routing

Angular: Routing

Understand the basics of Angular routing and review core concepts and internal architecture.

Angular: Data Binding

Angular: Data Binding

Data communication between the logic component and DOM elements of an Angular application.

Virtual Power Plants

Virtual Power Plants

A high overview of Virtual Power Plants. How these centralised IT systems are allowing to control multiple units generating energy from a centralised Dashboard panel.

Angular: ViewChild and Local References

Angular: ViewChild and Local References

Access DOM elements directly using viewChild and Template Reference Variables.

GDPR: General Data Protection Regulation

GDPR: General Data Protection Regulation

The basics of the new regulation law for user privacy and information security inside the EU.

Exploring The Digital Transformation of Energy.

Exploring The Digital Transformation of Energy.

Notes from a webinar presentation about the future of the energy sector. Insights of the digital transformation that the energy industry is currently involved in.

Introduction

Introduction

This is the first entry on the website. An starting point to understand the beginning of the projecct.

Selected Inspiration

Selected Inspiration

A digital platform to share visual creativity and inspiration across multiple visual categories: Graphic Design, Product Design, Illustration, Photography...

Just For You Kids

Just For You Kids

Just for you Kids is a digital platform to share activities, educational content and workshops for kids.

Miquel Canal

Miquel Canal

I am a software developer with more than eight years of professional experience. Frontend has become my speciality.

Knowledge of backend technologies allow me to move with ease around the development stack.

I am used to the agile methodology based on short sprints and have experience working with remote teams.

Get in Touch.

If you are interested, contact me using the form bellow. I’d like to hear from you.

Please fill the required elements on the form. Sorry! There has been an error. Please refresh and try again later. Thank you for contacting! I will reply to you very soon.

This site uses cookies to ensure a great experience. By continue navigating through the site you accept the storage of these cookies.