Carlos Caballero

Carlos Caballero @carlillo

About: I'm PhD. in Computer Science from Málaga, Spain. Currently, I am teaching developers and degree/master computer science how to be experts in web technologies and computer science.

Location:
Málaga
Joined:
Feb 22, 2019

Carlos Caballero
articles - 68 total

Understanding Design Patterns: Observer

In this article, I am going to describe how the **Observer Pattern** works and when it should be applied.

Learn More 48 0Apr 27 '21

Understanding Design Patterns: Abstract Factory

In this article, I am going to describe how the **Abstract Factory Pattern** works and when it should be applied.

Learn More 92 1Feb 28 '21

Understanding Design Patterns: Factory-Method

In this article, I am going to describe how the **Factory-Method Pattern** works and when it should be applied.

Learn More 91 0Jan 13 '21

ES2021 Features with simple examples

ES2021 aka ES12 is the version of ECMAScript corresponding to the year 2021. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 91 1Jan 2 '21

Understanding Design Patterns: Builder

In this article, I am going to describe how the **Builder Pattern** works and when it should be applied.

Learn More 120 0Dec 17 '20

Why You Should Learn JavaScript?

Five Reasons to Learn The Most Promising Programming Language of the Present and Future

Learn More 79 11Aug 18 '20

Automatic Adaptive Images in Angular Applications

In some specific areas of the world, or circumstances, downloading all these images can mean a bandwidth that is excessive for the users. Similarly, any optimization, even to users who have high performance devices is a benefit since the app will be available sooner. In this post, we are going to show step by step how to build an Angular application with responsive images for different sizes although it could be for any technology.

Learn More 125 5Jun 8 '20

Build&Deploy Angular Apps in GitHub Pages using GitHub Actions

This article will introduce how to have a **Build&Deploy** system for Angular applications using *GitHub Actions* and *GitHub Pages*. A prerequisite to follow this article is to have our application in the *GitHub repositories*.

Learn More 132 2Apr 29 '20

Clean Code Applied to JavaScript - Part VII: Practical Refactoring Example: Ceaser Cipher

In this article, I am going to describe, step by step, the application of refactoring techniques that I have applied to a code written for one of my programming fundamentals classes.

Learn More 125 1Apr 7 '20

ES2016 Features with simple examples

ES2016 aka ES7 is the version of ECMAScript corresponding to the year 2016. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 97 0Jan 30 '20

ES2017 Features with simple examples

ES2017 aka ES8 is the version of ECMAScript corresponding to the year 2017. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 196 4Jan 24 '20

ES2018 Features with simple examples

ES2018 is the version of ECMAScript corresponding to the year 2018. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 160 9Jan 17 '20

Clean Code Applied to JavaScript — Part VI. Avoid Conditional Complexity

Conditional complexity causes code to be more complicated to understand and therefore to maintain. In addition, conditional complexity is usually an indicator that the code is coupled. In the case that we want to increase the quality of our code, it is advisable to avoid generating code in which there is conditional complexity.

Learn More 294 2Jan 10 '20

ES2020 Features in simple examples

ES2020 is the version of ECMAScript corresponding to the year 2020. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 302 12Jan 3 '20

Understanding Design Patterns: Null Object

In this article, I am going to describe what the Null-Object Pattern is; and how and when it should be applied. This pattern is not included in the classic pattern book, but it was first published in the Pattern Languages of Program and it is widely used to avoid complexity.

Learn More 195 2Dec 26 '19

Clean Code Applied to JavaScript — Part V. Exceptions

The exceptions are an essential piece in the development of quality software since we will be controlling unexpected or non-implemented situations. Therefore, developers sometimes confuse error handling with software flow treatment. Exceptions should be used to deal with uncontrolled or developed situations in our software and never as a way to simulate a "return" of our business logic to derive the flow of software in one direction or another.

Learn More 216 6Dec 19 '19

Clean Code Applied to JavaScript — Part IV. Comments

Many developers think that comments are good practices while others think totally the opposite, that is, to apply comments are bad practices. Sorry to tell you that there are no absolute rules, everything depends on the case. The truth is that there are a number of cases in which the comments do NOT contribute to software development because they have been replaced by other tools that perform that function better than that of applying comments. In other cases, comments may cause noise to the source code that we are developing, or that we will be reading in the future. Therefore, in those cases, the ideal is to have no comments.

Learn More 181 7Dec 12 '19

Clean Code Applied to JavaScript — Part III. Functions

In this post, we are going to present the fundamental tips and advice to generate clean code focusing on the element that allows us to reuse our code: **The functions**.

Learn More 351 17Dec 5 '19

Clean Code Applied to JavaScript — Part II. Variables

This post is the second of an interesting series of posts that will delve into the well-known topic that is “Clean Code” but applied to JavaScript. In this series, we are going to discuss the classic tips around clean code that every programmer should know but applied to a specific JavaScript/TypeScript language.

Learn More 287 8Nov 28 '19

Clean Code Applied to JavaScript — Part I. Before your start

This post is the first of an interesting series of posts that will delve into the well-known topic that is “Clean Code” but applied to JavaScript. In this series, we are going to discuss the classic tips around clean code that every programmer should know but applied to a specific JavaScript/TypeScript language.

Learn More 723 8Nov 22 '19

Understanding MVC-Services for Frontend: Angular

This post is the third in a series of three posts to understand how the MVC architecture works to create frontend applications. The objective is to comprehend the way to structure a frontend application by evolving a web page in which JavaScript is used as a scripting language towards an application in which JavaScript/TypeScript is used as an object-oriented language.

Learn More 184 4Nov 14 '19

Understanding MVC-Services for Frontend: TypeScript

This post is the second in a series of three posts to understand how the MVC architecture works to create frontend applications. The objective is to comprehend the way to structure a frontend application by evolving a web page in which JavaScript is used as a scripting language towards an application in which JavaScript/TypeScript is used as an object-oriented language.

Learn More 179 0Oct 25 '19

Understanding MVC-Services for Frontend: VanillaJS

This post is the first in a series of three posts that will understand how the MVC architecture works to create frontend applications. The objective of this series of posts is to understand how to structure a frontend application by evolving a web page in which JavaScript is used as a scripting language towards an application in which JavaScript is used as an object-oriented language.

Learn More 250 6Oct 10 '19

How to become a senior developer?

To this day, the first of my students are architects, project managers and, of course, senior developers. The close relationships we have kept since the beginning, allows me to have confidence with them to talk about their professional maturity and to be able to extract signs and professional attitudes that make them senior developers.

Learn More 282 21Sep 27 '19

12 ES10 Features in 12 simple examples

ES10 is the version of ECMAScript corresponding to the year 2019. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

Learn More 458 11Sep 21 '19

Angular + FontAwesome in Five Easy Steps using angular-fontawesome

FontAwesome is the internet’s most popular icon toolkit which has been redesigned and built from scratch. On top of this, features like icon font ligatures, an SVG framework, official NPM packages for popular frontend libraries like React, and access to a new CDN.

Learn More 87 1Sep 9 '19

Angular + FontAwesome in Five Easy Steps

FontAwesome is the internet's most popular icon toolkit which has been redesigned and built from scratch. On top of this, features like icon font ligatures, an SVG framework, official NPM packages for popular frontend libraries like React, and access to a new CDN.

Learn More 74 6Sep 3 '19

How to Reach Your Goals: 1000 GitHub Stars in the first Open-Source Software

Today, I’m going to write about a success story in software development. I will not write about Uber, Instagram, AirBnB or Microsoft. I going to write about a **small node.js package management tool**.

Learn More 309 6Aug 27 '19

Part 3. Build your Pokédex: Improve NgRX using create* functions

This post is part of a Series of post on which I'm describing how to build your Pokédex using NGRX from **beginner to ninja**, if you want to read more, you can read the following posts:

Learn More 100 4Aug 19 '19

npkill - The solution to deleting node_modules easily, with style

One of my happiest memories related to software development was when I developed and distributed my first project among my friends and family. Although I learned to develop long before then, it was in 2003 when I developed the classic game [Arkanoid](https://en.wikipedia.org/wiki/Arkanoid) in assembler. Of course, this game couldn't be distributed online, since we had no internet at home, GitHub didn't exist, and, in my particular case, I didn't know any social networks for developers. Today, this story is a beautiful memory stored in my mind... And possibly in old floppies, kept in old boxes somewhere in my parent's house.

Learn More 254 35Aug 8 '19