Vitor Britto

Topics

Tags

July 14, 2024·10 min read·Architecture

Architectural Patterns

Imagine that you are part of a team of engineers developing an application in a monolithic system. The company is growing rapidly, and so is the number of engineers, making everything more complicated. The complexity of the application...

MicroservicesSystem DesignSoftware Architecture
July 13, 2024·10 min read·Architecture

Architectural Patterns

Monolithic architecture is one of the oldest and still widely used software architecture patterns. Characterized by a unified and cohesive approach, where all components of an application are integrated into a single codebase, monolithic...

MicroservicesSystem DesignSoftware Architecture
July 13, 2024·11 min read

Getting started with System Design

System design involves defining the architecture, modules, interfaces, and data of a system to meet specified requirements. This process provides a high-level view of the system, highlighting the logical and functional aspects of the...

July 11, 2024·2 min read

Deep dive into System Design

Today, I am starting another series. This time, I want to bring you valuable information that will enhance your knowledge about System Design. This is undoubtedly the largest series I have ever created where I will be diving deep into the...

July 8, 2024·6 min read·categories.design-patterns.name

Crafting Code Foundations

Structural patterns focus on how to organize different classes and objects to form larger and more efficient structures. They help ensure that even complex systems are organized in a way that is easier to manage and understand. Adapter...

Design PatternsSoftware DevelopmentProgramming
July 7, 2024·6 min read·categories.design-patterns.name

Elevating Creational Craftsmanship

Creational design patterns are essential for building scalable software. These patterns deal with object creation in a way that adapts the system to necessary changes, avoiding major restructuring and promoting the reuse of existing code....

Design PatternsSoftware DevelopmentProgramming
June 30, 2024·5 min read·categories.programming-languages.name

The World of Programming Languages

Programming languages serve as the cornerstone of the digital realm, providing the fundamental means for us to interact with computers. From the earliest days of computing to the sophisticated systems we have today, programming languages...

Programming LanguagesSoftware DevelopmentProgramming
June 22, 2024·3 min read·categories.ci-cd.name

The CI/CD automation on GitHub

Continuous Integration and Continuous Deployment (CI/CD) are practices that enhance efficiency and reliability. Among the many tools available, GitHub Actions stands out for its seamless integration with GitHub repositories, powerful...

CI/CDSoftware DevelopmentProgramming
June 18, 2024·5 min read·categories.ci-cd.name

The path to CI/CD Mastery

This is the first in a multi-part series dedicated to explaining the "what", “why” and “how” to use CI/CD. Series Part 01: The path to CI/CD Mastery (this one) Part 02: The CI/CD automation on GitHub Part 03: Building an advanced Github...

CI/CDSoftware DevelopmentProgramming
May 29, 2024·7 min read

An introduction to Databases

Databases are organized systems for storing, managing, and retrieving data efficiently. They are fundamental to the operation of modern applications, supporting everything from small websites to large corporate systems. History of...

March 6, 2024·10 min read·categories.http.name

Mastering HTTP

Everything you need to know about it.Everything you need to know about it. The HTTP (Hypertext Transfer Protocol) is a communication protocol that allows the transfer of information on the internet. It is the foundation for any data...

HTTPSoftware DevelopmentProgramming
March 4, 2024·2 min read·Back-end

The Back-end Roadmap

The Back-end area is a huge and complex sphere of software engineering, responsible for enhancing the functionality, security, and efficiency of systems and web applications. When entering this domain, it is essential to understand some...

Back-EndSoftware DevelopmentProgramming
March 3, 2024·3 min read·categories.mobile.name

The Odyssey of Mobile Applications

The development of mobile applications has been an area of fast evolution and innovation, especially since the year 2009, marking an era of significant transformations in the way we interact with mobile devices. This journey, from early...

Mobile ApplicationsSoftware DevelopmentProgramming
March 2, 2024·4 min read·Front-end

Introduction to Progressive Web Apps

Fast, integrated, and reliable experience for users.Fast, integrated, and reliable experience for users. Progressive Web Apps (PWAs) represent an innovative approach in app development, aiming to provide a user experience similar to...

Progressive Web AppsSoftware DevelopmentProgramming
March 1, 2024·4 min read·Front-end

The world of Static Site Generators

A Static Site Generator (SSG) is a tool used to create static websites, meaning each page is generated once at build time and served to the visitor exactly as it is stored. Unlike dynamic websites, which are generated on-the-fly by a web...

Static Site GeneratorsSoftware DevelopmentProgramming
February 29, 2024·5 min read·Front-end

Unveiling Server-Side Rendering

In the early days of the web, nearly all web pages were server-side rendered. Websites were mostly static HTML files stored on servers. When a user requested a page, the server sent the HTML file to the client's browser, which would...

Server-Side RenderingSoftware DevelopmentProgramming
February 28, 2024·3 min read·categories.type-checkers.name

Code Integrity with Type Checkers

Type checking in JavaScript, before the introduction of TypeScript, was notoriously flexible, which was both a blessing and a curse. JavaScript is a weakly-typed and dynamic programming language, meaning variables do not require type...

JavaScriptTypeScriptSoftware Development
February 28, 2024·12 min read·categories.web-security.name

The Authentication Strategies

Building Trust and enhancing SecurityBuilding Trust and enhancing SecurityPhoto byNicolas HIPPERTonUnsplash There are several authentication strategies available, each with its own advantages and disadvantages, and choosing the right...

Web SecuritySoftware DevelopmentAuthentication
February 28, 2024·6 min read·categories.web-security.name

Understanding Web Security

With the increasing dependence on the internet in all spheres of life, from banking transactions to personal communications, web security has become an important concern for individuals, businesses, and governments. The fast evolution of...

Web SecuritySoftware DevelopmentProgramming
February 27, 2024·8 min read·categories.testing.name

The Software Testing scenario

Enter software testing, a must need phase in the software development life cycle (SDLC) that safeguards against defects, enhances user experience, and ultimately fortifies the integrity of digital products. Understanding Software Testing...

Software TestingSoftware DevelopmentProgramming
February 25, 2024·2 min read·Front-end

Understanding Package Managers

Package managers in front-end development are essential tools for managing dependencies of libraries and frameworks used in web projects. They simplify the process of installing, updating, and removing packages, ensuring that dependencies...

Package ManagersSoftware DevelopmentProgramming
February 25, 2024·5 min read·Front-end

Web Development with Build Tools

Build Tools have emerged as indispensable aids, streamlining the process of transforming source code into executable software. From the early days of manual compilation to today's sophisticated automated pipelines, these tools have...

Web DevelopmentSoftware DevelopmentProgramming
February 24, 2024·5 min read·categories.web.name

A revolution called Web Frameworks

The adoption of web frameworks has become instrumental in shaping modern, efficient, and scalable applications. At the heart of this labyrinth lie web frameworks, the unsung heroes that simplify the complexities of coding and empower...

Web DevelopmentSoftware DevelopmentFrameworks
February 24, 2024·18 min read·categories.javascript.name

The right introduction to JavaScript

JavaScript is a high-level, interpreted, multi-paradigm programming language. This means that JavaScript code is written in a human-readable format and is executed by a runtime interpreter, allowing it to run in different environments...

JavaScriptSoftware DevelopmentProgramming
February 18, 2024·2 min read·Front-end

The Front-end Roadmap

Let's say you've just discovered what Web Development is and don't know where to start. Well, this Roadmap brings together a collection of information about various related and interconnected topics in the field of Web Development,...

Front-EndSoftware DevelopmentProgramming
February 1, 2024·5 min read·categories.git.name

Exploring Version Control Systems

Version Control Systems (VCS) assume the role of integral architects facilitating structured progress. These systems assume an essential function in monitoring alterations to source code throughout its evolution, establishing a systematic...

GitVersion ControlSoftware Development
January 31, 2024·6 min read·categories.dom-manipulation.name

Kickstart to DOM Manipulation

In this kickstart, we will explore the ins and outs of DOM manipulation, providing code examples and illustrations to enhance your understanding. Understanding the DOM What is the DOM? The Document Object Model (DOM) is a programming...

DOM ManipulationSoftware DevelopmentProgramming
January 29, 2024·3 min read·categories.css.name

An exploration of Pre-processors and Post-processors

Over the years, developers have sought ways to streamline and enhance the CSS authoring process. This quest has led to the rise of pre-processors and post-processors, powerful tools that offer a range of functionalities, benefits, and...

CSSWeb DevelopmentSoftware Development
January 28, 2024·3 min read·Front-end

Understanding CSS Architecture

Over the years, the evolution of CSS has led to the adoption of various architectures and methodologies to enhance code organization, maintainability, and collaboration among developers. CSS Before Methodologies In the early days of web...

CSS ArchitectureSoftware DevelopmentProgramming
January 26, 2024·5 min read·Front-end

The World of Cascading Style Sheets

CSS is the styling language that transforms the plain structure of HTML into visually appealing and interactive web pages. At its core, CSS operates on a deceptively simple concept: selectors identify HTML elements, and properties dictate...

Cascading Style SheetsSoftware DevelopmentProgramming
January 25, 2024·4 min read·categories.internet.name

How does internet works?

The internet is a vast and intricate network that connects millions of devices around the world, enabling them to communicate, share information, and access a wide range of resources. It has become an integral part of modern life,...

internetfront-endweb
January 21, 2024·3 min read·categories.design-patterns.name

Introduction to Design Patterns

Design patterns are like the source code of software architecture, providing tested and proven solutions to recurring challenges in software development. However, their understanding often remains shrouded in an aura of complexity. In...

Design PatternsSoftware DevelopmentProgramming
January 16, 2024·5 min read

Dealing with Debounce and Throttle

When developing web applications and dealing with on-screen interactions, we don't always want an action to occur immediately upon triggering an event. This is particularly true when the action involves an HTTP request to an external...

January 16, 2024·7 min read·categories.solid-principles.name

Design Patterns with Vanilla JS

In the midst of the increasing complexity of software applications and the demand for more robust, scalable, and flexible systems, software engineering has consistently sought approaches and principles that promote the creation of...

Solid PrinciplesSoftware DevelopmentProgramming
January 15, 2024·2 min read

Design Patterns with Vanilla JS

Unveiling the Artistry of JavaScript Design PatternsUnveiling the Artistry of JavaScript Design PatternsPhoto byRyland DeanonUnsplash In the ever-evolving realm of web development, mastering the art of JavaScript is akin to unraveling the...

December 22, 2023·7 min read·Front-end

The journey of CSS

The history of CSS (Cascading Style Sheets) is a fascinating journey that spans several years. CSS has played a crucial role in shaping the visual presentation of web pages, enabling developers to separate the structure and content of a...

CSSSoftware DevelopmentProgramming
November 23, 2023·12 min read·categories.feature-flags.name

Mastering Feature Flags

The power to reduce risk, iterate quicker, and gain more control.The power to reduce risk, iterate quicker, and gain more control.Photo byKarim MANJRAonUnsplash This article will provide a comprehensive overview of feature flags, making...

Feature FlagsSoftware DevelopmentDeployment
November 7, 2023·4 min read·Architecture

The Package by Feature approach

How it can help you build scalable and manageable projects.How it can help you build scalable and manageable projects.Photo byBoliviaInteligenteonUnsplash Introduction Modularization is the process in software development that involves...

Package by FeatureSoftware DevelopmentProgramming
September 8, 2023·6 min read

AWS: The Developer Associate Journey

🚧 This article will be available soon.

September 8, 2023·3 min read

AWS: The Developer Associate Journey

🚧 This article will be available soon.

September 3, 2023·3 min read

Amazon Web Services: The Developer Associative Journey

In this series, I'll share my journey with Amazon Web Services over the next months. I plan to learn about new services and revisit ones I've already worked with, documenting my experience along the way. Join me as I explore the world of...

August 10, 2023·8 min read·categories.react.name

React: An Overview about SyntheticEvent

SyntheticEvent is a wrapper based on the browser's native events. It provides an unified API, prevents browser inconsistencies, and ensures that the event works across multiple platforms. In this article, we'll cover the fundamentals of...

ReactDesign PatternsSoftware Development
June 26, 2023·3 min read

Error Boundaries on React Apps

There is a common problem when you are building a Javascript application. Javascript errors happen at any time or on any page and when it happens it breaks the entire application. This is not a good experience for the users. The errors...

May 28, 2023·2 min read·categories.javascript.name

The Short Circuit Evaluation

Short circuit evaluation is a technique used to improve performance in Boolean expressions. It is also known as minimal evaluation, McCarthy evaluation, or McCarthy conditional. It is used in many high-level programming languages,...

Short Circuit EvaluationSoftware DevelopmentProgramming
May 13, 2023·5 min read

Building a Monorepo: The Right way

Chapter 01: The benefits and challenges of Monorepo development (You are here! 😃) Chapter 02: Integrating PNPM Workspace into a Monorepo Chapter 03: Accelerating the management of Monorepo with NX Workspace Chapter 04: How to integrate...

May 11, 2023·2 min read

Building a Monorepo

Nowadays, to maintain a small React-based app, for example, you have to deal with project bundlers, test suites, CI/CD scripts and so many other stuff. Now, imagine that instead of a small app, you need to maintain a huge platform...

May 9, 2023·4 min read

Application Strategy Deployment

Application deployment strategies refer to the process of deploying software applications into a production environment. An effective deployment strategy ensures that the application is deployed efficiently and safely while minimizing...

May 9, 2023·3 min read

Function Composition in React Applications

Function composition is a technique that is widely used in computer programming to create complex applications and avoid cross-cutting concerns. It is the process of combining two or more functions to create a new function. In this...

April 22, 2023·7 min read·categories.javascript.name

JavaScript: What is a Function?

What you should know about Functions in JavaScript.What you should know about Functions in JavaScript.Photo byAlejandro Piñero AmerioonUnsplash In JavaScript, functions are treated as first-class objects, which means they can be assigned...

JavaScriptSoftware DevelopmentProgramming
April 21, 2023·6 min read·categories.javascript.name

The EcmaScript journey

The changes and benefits of the JavaScript Language Where it all begins The first release of EcmaScript was standardized by Ecma International as a standardization effort for JavaScript, which is a popular client-side scripting language....

ECMAScriptSoftware DevelopmentProgramming
April 12, 2023·5 min read·categories.html.name

A Comprehensive Guide to HTML

HTML, or HyperText Markup Language, is the backbone of the World Wide Web, serving as the fundamental language that structures and presents content on the internet. HTML Basics HTML is the foundation of web development, providing a...

htmlwebdevelopment
April 12, 2023·2 min read·categories.react.name

React Design Patterns

When we talk about Design Patterns, we are addressing an important subject that brings improvements to Software Development. These improvements include: Code Reusability: patterns provide tested and proven solutions to common development...

ReactDesign PatternsSoftware Development
April 12, 2023·4 min read·categories.react.name

React: The Virtual DOM

The Virtual DOM is one of the main features of React. It is a JavaScript object that is basically an abstraction of the real DOM and is one of the main pieces for the high performance of the application. In this article, we'll cover the...

ReactJavaScriptVirtual DOM
April 10, 2023·8 min read·categories.react.name

Code splitting in React

Code splitting is a way to split up your code from a large file into smaller code bundles. These can then be requested on demand or in parallel. Now, it isn't a new concept, but it can be tricky to understand. When you're doing code...

ReactJavaScriptSoftware Development
April 9, 2023·3 min read·categories.react.name

React: Diving into Pure Components

A quick introduction to React Components React is component-based and a component is usually defined as a function of its state and props. Components can be instantiated with classes, containing a render() method, or with a function....

ReactJavaScriptImmutable
April 5, 2023·5 min read·categories.offline-first.name

Offline first

Offline first is an approach for mobile applications that works similarly regardless of internet connection. To apply this technique in React Native we need to use some tools. Let's find out how we can ensure user experience without an...

Offline FirstSoftware DevelopmentProgramming