One of the most important things for your productivity as a programmer is using your editor's capabilities to the fullest to help you throughout the development process. Today I want to share my editor configuration with you.
JavaScript isn't a strictly typed language, and many projects have scaled quite well without using types. But the reality is that as a project grows, its complexity increases, and there are simply too many details we can no longer keep in our heads.
React in version 17 is going to have important changes, adding two new features: React Suspense and Time Slicing. Today we'll talk about the first one. Let's look at everything you need to know about React Suspense.
Something that probably all programmers do every day is make mistakes (break things), and this happens more frequently as the complexity of our applications grows. The way we prevent this from happening and affecting the business is by writing tests.
In July I had the opportunity to give a talk at Event Loop about how to be a good programmer. This post is a summary of the topics I covered in that talk.
The first thing we need to start implementing tests in any project is to install the right tool. In my case, I've chosen Jest, and today we're going to see how to install and configure it.
Something we can probably all agree on is that a fundamental part of building software is testing. A product that goes to production without tests is risky, but how do you know if the tests you're writing are actually good tests?
As frontend developers, our goal is to deliver better experiences to users. One of the main things we can do to achieve this is to make our applications load as quickly as possible.
A couple of weeks ago I left ComparaMejor, a Colombian FinTech startup. After a little less than a year working with them, I learned a ton of things. I want to share some of them.
This weekend Webpack 4 was released (codename Legato). This is a pretty important version, as a lot of work has been put into performance and following the zero-configuration concept #0CJS.
I remember the first time I applied to a startup — I made every possible mistake. Today, after working at a few, I want to share some things that can help you through the hiring process.
Have you ever learned a CSS feature that you wanted to start using but couldn't because it wasn't supported by all browsers, or they didn't all implement it the same way? We've all been there.
The standards that define how the most important web technologies should work keep growing, and a few months ago HTML version 5.2 became the official W3C recommendation.
A few months ago I had the opportunity to start working at Platzi, an online education startup. After working at many traditional companies, this was my first time at a startup. Today was my last day with them, and I think the best way to leave an education startup is by telling you what I learned.
To build applications that solve complex problems, we need to break them down into small problems we can solve and implement, then compose those solutions together.
One of the most important characteristics of functional languages is that their data structures are immutable, which has been shown to reduce software complexity.
One of the most useful programming principles is KISS (Keep It Simple, Stupid), but keeping things simple is not always easy. So today we will look at how to create functions that follow this philosophy.
One of the principles every programmer tries to follow is DRY (Don't Repeat Yourself). With currying, we'll see how applying this to our functions is pretty simple and useful.
If JavaScript does not have classes, how do you implement inheritance? That is probably one of the questions every developer has asked themselves. In this post, we will try to answer it once and for all.
One of the things we all do every day while programming is comparing values — whether they are equal, different, greater, lesser, etc. — in order to take actions based on them.
When most programmers think about object-oriented programming (OOP), they usually remember languages like Java or C++ where a class is a static template for creating objects, inheriting attributes and methods into the created object.
The way objects relate to each other and extend to represent things in an application is called inheritance, and it is necessary for building large and complex applications.
Objects are one of the least understood features in JavaScript, since their implementation has some important differences from many more traditional programming languages.
The EcmaScript specification defines internal properties for every object. These indicate their standard behavior and largely define how JavaScript works.
One of the most peculiar characteristics of JavaScript is the behavior of data types, but understanding their behavior allows us to understand how our data behaves during execution.
Today I wanted to write about a really interesting topic that plays a huge role in modern computing. Understanding a bit about it will be a great help when it comes to grasping some advanced JavaScript concepts.
I am especially excited about this topic because it took me a while to understand the concept, since I came from other programming languages where it was not common. So if I can help you understand it, that would be awesome.
this is a JavaScript keyword that behaves very differently from other programming languages, which is why some people consider it one of the biggest design mistakes in the language.