Another pair of terms that are easy to confuse are parallelism and concurrency.
Parallelism has to do with many workers working simultaneously. Concurrency, on the other hand, is about being able to make incremental progress on more than one task.
The terms scalability and performance are sometimes used interchangeably, but they actually mean two entirely different things.
Let’s make sure we understand the difference.
Performance is about how well your application runs for one user.
As an application attracts more users, the ability to scale becomes paramount. The solution often is to decouple your application and turn you monolithic codebase into multiple microservices. Why is Docker a key component in this new architecture, and what does this all even mean?
I’ve been making a career transition to software engineering for about a year and a half, starting first in a –gasp!– bootcamp and then eventually to Launch School. I’m at a good inflection point now to reflect on the journey so far, talk about the process, the challenges, the joys–and be grateful for everyone who has made this transition possible.
One of the most basic and fundamental models for application architecture is the Model-View-Controller (MVC) pattern. Many architectures leverage this pattern – whether in a Ruby on Rails, server-side application or a React front-end interface – so it’s important to understand how, why, and so what?
Sometimes, we need to display the same basic HTML, but with some customized data interspersed here and there. The Handlebars.js library is perfect for this. It takes less than 5 minutes to learn how to use this simple and efficient templating tool.
In Part II, we learned how an HTTP request travels across the Internet to the correct destination server, through several layers, and returns with a response. But how does this happen reliably and securely, without becoming corrupted or being intercepted by a malicious hacker?