Este repositório contém todas as atividades de aprendizagem desenvolvidas por Fabio enquanto estudava na Trybe.
O programa da Trybe conta com mais de 1.500 horas de aulas presenciais e online, aborda introdução ao desenvolvimento de software, front-end, back-end, ciência da computação, engenharia de software, metodologias ágeis e habilidades comportamentais.
Bloco 1: Introdução - Unix & Shell
- 1.3: Unix & Shell- Parte 1
- 1.4: Unix & Shell- Parte 2
Bloco 2: Git & GitHub
- 2.1: O que é e para que serve?
- 2.2: Entendendo os comandos
- 2.3: Internet - Entendendo como ela funciona
Bloco 3: Introdução a HTML e CSS
- 3.1: Estruturas de página
- 3.2: Primeiros passos com CSS
- 3.3: Seletores e posicionamento
- 3.4: HTML Semântico
Bloco 4: Introdução à JavaScript e Lógica de Programação
- 4.1: Primeiros passos
- 4.2: Array e loop For
- 4.3: Lógica de Programação e Algoritmos
- 4.4: Objetos e Funções
Bloco 5: JavaScript - DOM, Eventos e Web Storage
- 5.1: DOM e seletores
- 5.2: Trabalhando com elementos
- 5.3: Eventos
- 5.4: Web Storage
- 5.5: Projeto - Pixel Art
Bloco 6: HTML e CSS - Forms, Flexbox e Responsivo
- 6.1: HTML e CSS - Forms
- 6.2: Bibliotecas JavaScript e Frameworks CSS
- 6.3: CSS Flexbox Parte I
- 6.4: CSS Flexbox Parte II
- 6.5: CSS Responsivo - Mobile First
Bloco 7: Introdução à JavaScript ES6 e testes unitários
- 7.1: JavaScript ES6 - let, const, arrow functions e template literals
- 7.2: JavaScript ES6 - Object
- 7.3: Primeiros passos em Jest
Bloco 8: Higher Order Functions do JavaScript ES6
- 8.1: JavaScript ES6 - introdução a Higher Order Functions
- 8.2: JavaScript ES6 - Higher Order Functions - forEach, find, some, every, sort
- 8.3: JavaScript ES6 - Higher Order Functions - map e filter
- 8.4: JavaScript ES6 - Higher Order Functions - reduce
- 8.5: JavaScript ES6 - spread operator, parâmetro rest, object destructuring, array destructuring, default destructuring, object property shorthand e default parameters
Bloco 9: JavaScript e Testes Assíncronos
- 9.1: JavaScript Assíncrono e Callbacks
- 9.2: JavaScript Assíncrono - Fetch API e async/await
- 9.3: Jest: Testes Assíncronos
Bloco 10: Introdução à React
- 10.1: 'Hello, world!' no React!
- 10.2: Componentes React
Bloco 11: Componentes com Estado, Eventos e Formulários com React
- 11.1: Componentes com estado e eventos
- 11.2: Formulários no React
Bloco 12: Ciclo de Vida de Componentes e React Router
- 12.1: Ciclo de vida de componentes
- 12.2: React Router
Bloco 13: Metodologias Ágeis
- 13.1: Metodologias Ágeis
Bloco 14: Testes automatizados com React Testing Library
- 14.1: RTL - Primeiros passos
- 14.2: RTL - Mocks e Inputs
- 14.3: RTL - Testando React Router
Bloco 15: Gerenciamento de estado com Redux
- 15.1: Introdução ao Redux - O estado global da aplicação
- 15.2: Usando o Redux no React
- 15.3: Usando o Redux no React - Prática
- 15.4: Usando o Redux no React - Actions Assíncronas
- 15.5: Testes em React-Redux
Bloco 17: Context API e React Hooks
- 17.1: Context API do React
- 17.2: React Hooks - useState e useContext
- 17.3: React Hooks - useEffect e Hooks customizados
Bloco 19: Docker: Utilizando Containers
- 19.1: Utilizando Containers - Docker
- 19.2: Manipulação e Criação de Imagens no Docker
- 19.3: Orquestrando Containers com Docker Compose
Bloco 20: Introdução à SQL
- 20.1: Banco de dados SQL
- 20.2: Encontrando dados em um banco de dados
- 20.3: Filtrando dados de forma específica
- 20.4: Manipulando tabelas
Bloco 21: Funções SQL, JOINs e Normalização
- 21.1: Funções mais usadas no SQL
- 21.2: Descomplicando JOINs
- 21.3: Transformando idéias em um modelo de banco de dados
Bloco 22: Introdução ao desenvolvimento Web com Node.js
- 22.1: Node.js - Um motor JavaScript
- 22.2: Node.js - Fluxo Assíncrono
- 22.3: Mocha, Chai e Sinon - Testes de Back-end com Node.js
- 22.4: Express - HTTP com Node.js
- 22.5: Express - Middlewares
Bloco 23: Node.js - Camada de Serviço, Arquitetura Rest e Restful
- 23.1: Arquitetura de Software - Camada de Model
- 23.2: Arquitetura de Software - Camada de Controller e Service
- 23.3: Arquitetura Web - Rest e Restful
- 23.4: Arquitetura de Software - Testando as Camadas
Bloco 24: Node.js - ORM e Autenticação
- 24.1: ORM - Interface da aplicação com o banco de dados
- 24.2: ORM - Associations
- 24.3: JWT - (JSON Web Token)
- 24.4: Testando APIs com Testes de Integração
Bloco 25: Deployment
- 25.1: Infraestrutura - Deploy com Heroku
- 25.2: Deploy Docker e Heroku
Bloco 26: Typescript
- 26.1: Introdução ao TypeScript
- 26.2: Tipagem Estática e Generics
- 26.3: Express com TypeScript
Bloco 27: Programação Orientada a Objetos (POO) e SOLID
- 27.1: Introdução à Orientação a Objetos
- 27.2: Herança e Interfaces
- 27.3: Polimorfismo
- 27.4: SOLID - Introdução e Princípios S, O e D
- 27.5: SOLID - Princípios L e I
Bloco 29: Introdução ao mongoDB
- 29.1: MongoDB - Introdução
- 29.2: Filter Operators
- 29.3: Operadores de consulta
- 29.4: Updates Simples
- 29.5: Updates Complexos - Arrays
Bloco 30: MongoDB com Noode.js e POO
- 30.1: Mongoose e arquitetura MSC(camada Model)
- 30.2: Mongoose e arquitetura MSC(camada Service e Controller)
Bloco 33: Introdução à Python
- 33.1: Aprendendo Python
- 33.2: Entrada e Saída de Dados
- 33.3: Testes
Bloco 34: Padrões de Projeto
- 34.1: P.O.O em Python
- 34.2: Padrões - Iterator, Adapter, Strategy
- 34.3: Padrões - Decorator, Observer, Factory
Bloco 35: Redes e Raspagem de Dados
- 35.1: Arquitetura de Redes, Ferramentas e Segurança
- 35.2: Raspagem de Dados
- 35.3: Outras Ferramentas de Raspagem de Dados
Bloco 36: Algoritmos
- 36.1: Complexidade de Algoritmos
- 36.2: Recursividade e Estratégias para solução de problemas
- 36.3: Algoritmos de ordenação e busca
Bloco 37: Estrutura de Dados I: Arrays, listas, Filas e Pilhas
- 37.1: Arquitetura de Computadores
- 37.2: Arrays
- 37.3: Nós e Listas Encadeadas
- 37.4: Pilhas e Filas
Bloco 38: Estrutura de Dados II: Hashmaps e Sets
- 38.1: Hasmap e Dict
- 32.2: Set