Database server
Database server

A website can be static or dynamic. For any web application with a minimum of complexity a database management system (abbreviated as DBMS) is required.

It’s important to note that I will talk about public web applications such as e-commerce sites, social networks, classified ad sites, blogs, and so on (the kind of projects I have worked on, talking from my experience). I will not talk about intranets or extranets, which are closed environments that do not take into consideration the same speed and security concerns that a public site must manage.

In my opinion (and what I have seen…


Redis logo
Redis logo

Redis is an in-memory data structure store used to help building high-performance and scalable web applications, similar to Memcached, but with these main differences:

  • Redis can persist data to disk, making it a kind of NoSQL database, so data won’t disappear when restarting the server. This feature can be optionally disabled.
  • Redis can store more data types besides strings, such as Hashes, Lists, Sets and Sorted Sets. I will talk about them later.

The persistence feature is interesting, but some applications may be affected if there is some power failure and Redis didn’t have time to persist the latest data…


iMac with an external monitor
iMac with an external monitor

When I learnt C in 1995 I used a DOS editor by Borland. Since graphical environments became popular and more used, programming editors were also evolving.

Nowadays we have two different kind of editors: text editors and IDEs. The first ones are lightweight, while the second kind focus on providing as many tools as possible to unify everything we would need.

In order to develop for the major operating systems, brands usually provide an official IDE. For instance, if you want to develop iOS or macOS applications you should use Xcode from Apple. If you want to develop for Android


Image for post
Image for post

Memcached is a free and open-source high-performance memory caching system. It’s typically used to cache database data, API calls or page rendering chunks in RAM to increase the application performance.

It can store data as little as a number, or as big as a finished HTML page.

The system is designed to be accessed through TCP so it can work in a separate server, and can also be distributed among several servers, summing up a big hash table to store data.

When running out of space, the older data is overwritten. So it must be treated as a transitory (not-persisted)…


Gear wheels
Gear wheels

When facing frontend development, we start with the browser and its available features supported by CSS and JavaScript. But with backend development the field is much bigger.

First, we will need to think about the language, because that will determine the operating system to install in the server. For example, choosing ASP.NET will make Windows Server mandatory, although there are alternatives like Mono that would let us work with Linux, but it’s not as complete as Windows libraries.
Any other language will let us work with Linux or Windows, although Linux is preferred because of its good packaging system.

ASP.NET


A developer wearing headphones, working in front of a screen and 2 laptops
A developer wearing headphones, working in front of a screen and 2 laptops
Photo by Jefferson Santos on Unsplash

Programming is a work that requires concentration. Sometimes we need to focus on a complex task, and sometimes we do chores.

It depends on the programmer, some prefer to have a background noise like a coffee shop, some prefer some ambient music, some prefer to listen to their favorite tunes, others prefer to listen to new music… not all of us have the same preferences.

In my case, it depends on the task I’m doing and my state of mind. For complex algorithms I need silence. …


How to freelance with your set of skills.

A man working with a laptop
A man working with a laptop

I recently received an email from a reader. He asked me how to freelance with his set of skills, which are totally unrelated to web technologies. He’s familiar with some frontend and backend languages though.

This reminded me of myself, when I was working in a company using Symfony2 (a PHP framework), but I disliked it after completing a big project (a custom shop, inspired by Prestashop).

I really wanted to do something with Ruby on Rails. My goal was to totally switch to that framework and continue making money, but the change was so different that I needed to…


Lego pieces
Lego pieces

The object oriented programming concept is rather old, it first appeared in the 1970s from the Smalltalk language, and it describes the use of objects and messages in a computer program. Basically the objects are the actors of the movie (the program), and the messages form the script.

The most popular languages used for web development support object oriented programming (OOP), being Ruby a pure object oriented language from the beginning. So I will use it to show you the OOP concepts in this article.

Class

We can understand a class as something that describes a concept. For instance, let’s suppose…


A person programming in an iMac computer
A person programming in an iMac computer

Web development is a huge field that evolves very fast. We must be constantly learning to be up to date.

But there are developers who, in addition to improving their skills, create extraordinary things. Those things are the tools we use every day. Also books and videos that save us a lot of time.

They are well known developers in the Ruby community. Our work is made easier thanks to theirs.

So, back in 2015 I asked them this question: what do you like the most about web development? Some answered. It’s an honor for me to share their answers.


Image for post
Image for post

Discipline is what we need to do our tasks when we have to do them, no matter if we are tired or prefer to do other thing at the required moment. Releasing our work in time helps making us successful.

We all have discipline, but it may not be enough for the task or the project we have in mind. So how to improve it?

In order to improve it, you have to train it. The more you train it, the better, and remember to increase the complexity over the time.

It’s like training your mind or your body: by…

David Morales

Computer engineer. Working as a web developer since 2000.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store