Skip to content

Repositório destinado a armazenar os exercícios do curso de desenvolvimento de software web da Trybe.

Notifications You must be signed in to change notification settings

FabioMazuchi/trybe-exercicios

Repository files navigation

Trybe Exercícios

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.

Fundamentos do Desenvolvimento Web

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

Desenvolvimento Front-end

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

Desenvolvimento Back-end

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)

Ciência da Computação

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