Back-end Engineering Articles

I write and talk about backend stuff like Ruby, Ruby On Rails, Databases, Testing, Architecture / Infrastructure / System Design, Cloud, DevOps, Backgroud Jobs, and more...



Introduction to SQL - Changing Database and Tables Structures

Something we'll need to modify is the structure of our tables inside the database, for instance. Let's suppose that we decided to add a new column called address to our table Customers, so we need to modify the structure of the given table and its...

Read Here


Introduction to SQL - Entity Relationships

We're so close to finalizing the Introduction to SQL articles, but before that, we have another critical topic to learn: Entity Relationships. So far, we have learned that Entity is a synonym for Tables. In database administration, only those thi...

Read Here


Introduction to SQL - Joins

Now that we know how to set and work with multiple tables, it is time to join all of these tables in some manner, just to have more sense about the data stored right there or because we want to search for a particular data. To do so, we have to k...

Read Here


Introduction to SQL - Multiple Tables

Now we have a basic knowledge of databases and SQL. Next, it's time to move into another important topic: Multiple Tables. As we learned previously, relational databases can "connect," "relate," "associate," or "join" two or more tables between th...

Read Here


Introduction to SQL - Aggregate Functions And Grouping

We've been advancing a lot in SQL over the last blog posts. Now we'll be studying important concepts in relational databases like Aggregate Functions and Grouping. Note: To follow this tutorial, we'll continue with databases created in Introducti...

Read Here


Introduction to SQL - Basic Queries

So far, so good; we have been learning the basics of databases and SQL. Next, we want to enter one of the most critical topics in SQL: the queries. A query is really a question or request for data.  For example, "Tell me how many products there a...

Read Here


Introduction to SQL - Constraints

Now that we have a gentle introduction to databases and SQL, it's time to start with Constraints. SQL constraints are used to specify rules for the data in a table. Constraints are used to limit the type of data that can go into a table. This ensu...

Read Here


Introduction to SQL - Designing, Creating, Inserting and Displaying Data

From a high-level point of view, we know how databases work, so it's time to start experimenting with the Database Management System (DBMS) chosen, in our case: PostgreSQL. However, people often tend to go over it without giving enough context, so...

Read Here


Introduction to Databases

So far, we've been studying the details of Ruby and Oriented-object programming. All of this with the idea of starting working with Rails. We are one step closer to that. But before we begin studying Rails, we have to understand a bit about Databa...

Read Here


Understanding The Communication Between Clients and Servers

Now that we know the basics about Ruby, Object-oriented programming, Text Editors, Git, GitHub, Consoles, AWS instances, and much more, it's time to explain how to connect all of these concepts. Probably this is one of the worst described things i...

Read Here


Modules and Mixins in Ruby OOP

To start this post, let's imagine we started having a lot of different classes in our program. As a result, we may end up with equal class names. For instance, you decide to name a class as "Figure." Months later, you'll start to forget the names ...

Read Here


Inheritance in Ruby Objects

Let's continue our advance in Ruby OOP; this time, we'll be talking about Inheritance. Ruby inheritance is a way to reuse code in Oriented-object programming (OOP). Using Inheritance, a Class can use the methods from other Classes.  Inheritance Th...

Read Here


Everything in Ruby is an Object

Now we have enough knowledge to talk about Ruby classes and objects. We have been studying OOP in detail and doing challenges. Let’s talk about other topics related to OOP in Ruby. Everything in Ruby is an ObjectAs we already know, according to th...

Read Here


Ruby OOP Challenges

If you have been following the previous blog post, you now have enough theoretical knowledge to understand Classes and Objects in Ruby. If you don't, we have here the order to study this subject 1. Introduction to Object-Oriented Programming in R...

Read Here


Ruby Getters and Setters in Object-oriented Programming

At the end of the last blog post called: Methods and Attributes in Object-oriented programming in Ruby, we study attributes. Let's recap Attributes (object information) Just as an object has behavior (methods), objects can also have information o...

Read Here


Methods and Attributes in Object-oriented programming in Ruby

In the last blog post, we introduced the concept of Object-oriented programming in Ruby, talked about the different programming paradigms, and created our first Class and Objects. To recap the code we wrote in that blog post, we finished with some...

Read Here


Introduction to Object-Oriented Programming in Ruby

After all the content we've created so far, it's time to introduce you to a concept that, at the same time, is the central paradigm of Ruby and other modern programming languages: object-oriented programming.But as always, we have to have a good c...

Read Here


How does Ruby File Management Works?

Sometimes we'll need to deal with file management with Ruby. For instance, you receive a .txt file from your Project Manager (PM), and you have to read what's inside. Other times you have to write something there. Cases like this can happen with d...

Read Here


Ruby Data Structures Challenge #2 - For Beginners

Now you have an idea about solving coding challenges (or at least) structure, read, and crack. Probably you noticed that it is easy to follow through the steps if you stick to the framework to solve coding challenges. So let's see the second chall...

Read Here


Ruby Data Structures Challenge #1 - For Beginners

Now we have much knowledge to put into practice. Even in the last blog post, we talked about solving coding challenges. With that post and the previous ones, you have the basics to solve current and following coding challenges. If you don't know o...

Read Here