Repositório criado para embarcar todo o conhecimento adquirido durante o BootCamp Fullsack Eduzz realizado na plataforma DIO (Digital Innovation One).
- Introdução a lógica de programação:
- Entendendo o que é lógica
- O que são algoritmos e pseudocódigos
- Aprendendo fluxograma, variáveis e constantes
- Tomada de decisões e expressões
- Como utilizar a concatenação
- Introdução ao Portugol:
- Aprenda com utilizar uma estrutura de repetição
- O que são linguagens de programação?
- Aprenda a utilizar desvios condicionais e boas práticas em programação
- Trabalhando com laços de repetição em Portugol
- Aplicação prática com matrizes e vetores
- Introdução ao SCRUM
- Introdução a gestão de projetos com SCRUM
- Papéis e responsabilidades de cada um do time
- Cerimônias do Scrum
- Gestão de projetos Tradicional x Ágil
- Fundamento de um projeto ágil
- Papéis e responsabilidade - Product Owner
- Analisando escopo e definindo propriedades
- Papel do PO na transformação digital
- Conceitos e atividades essenciais para o sucesso de um projeto ágil
- Aprenda sobre os conceitos e planejameto de tarefas
- Rotinas de um time ágil
- Introdução ao Git
- Entendendo o que é Git e sua importância
- Navegação via command line interface e instalação
- Comandos básicos para um bom desempenho no terminal
- Realizando a instalação do GIT
- Entendendo como o Git funciona por baixo dos panos
- Tópicos fundamentais para entender o funcionamento do Git
- Objetos internos do Git
- Chave SSH e Token
- Primeiros comandos com Git
- Iniciando o Git e criando um commit
- Ciclo de vida dos arquivos no Git
- Passo a passo no ciclo de vida
- Introdução ao GitHub
- Trabalhando com o GitHub 7.Resolvendo conflitos
- Como os conflitos acontecem no GitHub e como resolvê-los
- Introdução e apresentação do projeto
- Git e Github: Relembrando algunas coisinhas
- Desafio de projeto
- Entendendo o desafio
- Introdução ao curso de HTML
- Enentedendo o que é semântica
- Como usar textos e links em HTML
- Como inserir uma imagem em seu site
- Como organizar listas com HTML
- Introdução e conceitos básicos de CSS3
- Estilizando elementos, textos e listas
- Dimesão e alinhamento
- Introdução ao ES6
- História e conceitos
- Curryng, Hoisting, Imutabilidade, Tipos e Variáveis
- Tipos, variáveis, operadores, condicionais e repetição JavaScript ES6
- Tipos e variáveis
- Functions e operadores
- Spred, estruturas condicionais e repetição
- Orientação a objeto e Design Patterns com a linguagem ES6
- Introdução a orientação a objetos
- Introdução a Design Patterns
- Manipulacão e iterração de arrays
- Crtiando e manipulando arrays
- Iterar, buscar e transformar elemetntos
- Funções avançadas do ES6
- Funções avançadas do ES6
- Aprenda o que é e como trabalhar com Arrow Functions
- Default Function Arguments
- Enhanced Object Literals
- Aplicando conceitos Rest, Sprea Operator e Destructuring
- Conheça Rest e Spread Operator
- Como usar Destructuring em ReactJS
- Introdução a Generators
- Symbols e Iterators
- Aprenda sobre Generators e onde utilizá-los
- Aplicando conceitos Promises e Fetch
- Introdução da aula
- Callbacks e Promises
- Fetch, Async/Await e EventEmitter
- Aplicando e praticando os conceitos
- Conceitos aplicados a qualidade de código e automação de teste em JS
- Introdução e conceitos da aula
- Testes, TDD e BDD
- Conheça Mocha, Chai e Sinon
- Veja como trabalhar com Chai - uma excelente biblioteca
- Desenvolvendo códigos com Sinon
- Tratamentos de exceção
- Introdução à aula
- Como identificar os erros
- Debugging parte 1
- Debugging parte 2
- Exemplo das vantagens fo typescript
- Criando o arquivo index.ts executando o comando parcel
- Executando a função soma com typescript
- Como funcionam as interfaces
- Como funcionam os types
- Tratando a tag input
- O que são Generic types
- Desenvolvendo condicionais a partir de parâmetros
- Utilizando o caracter "?" para variáveis opcionais
- Criando variáveis com propriedade readonly e private
- Como importar bibliotecas com typescript
- Exemplo de como usar Omit e conclusão do curso
- Introdução ao ReactJS
- Conheça a tecnologia ReactJS
- Aprenda a configurar o ReactJS
- Renderizando elementos
- Conheça os ecossistemas do ReactJS
- Integrando webpack ao desenvolvimento com ReactJS
- O que é webpack?
- Aprenda a configurar o webpack
- Instalação e configuração do ESLint
- Conceitos aplicados aos tipos de dados e condições da biblioteca
- Renderização Condicional
- Listas e Chaves
- Manipulando Eventos
- Conheça dicas para pensar do jeito ReactJS
- Preparação do ambiente
- Desenvolvendo o Hello World no App.js
- Primeiros passos na estrutura de um componente
- Importando um componente
- Preparando um componente dinâmico
- Finalizando um componente dinâmico e conclusão da aula
- Trabalhando com estilos em elementos e componentes
- Introdução e objetivos da aula
- Aprenda sobre estilização de componentes e elementos CSS
- Stateful vs Stateless
- Introdução em Formulários no ReactJS
- Introdução ao Redux e fluxos da arquitetura com ReactJS
- Introdução aos conceitos da aula
- O que é Flux?
- Conheça o Redux e como trabalhar com ele
- Aprenda a prática de como desenvolver código com React e Redux
- Comunicação avançada entre aplicações
- Introdução da aula
- Rest HTTP com React
- Imutabilidade e Redux
- Redux + Rest
- Conceitos aplicados a qualidade de código e automação de testes em React
- Introdução a testes em React
- TDD e BDD com Jest
- Debugging
- Tratamento de erros
- Aprofundando sobre o ciclone vida do React
- Ciclo de Vida e suas fases
- O que são Hooks e como ele pode otimizar o código
- Context API
- Técnicas com components e DOM
- Por que trabalhar com Fragments
- Error Boundaries
- Render Props
- Typechecking com PropTypes
- Refs e DOM
- Organizando o seu projeto
- O que é um Dumb Components
- Como trabalhar com Dumb Components
- E Smart Components?
- Finalizando o projeto
- Introdução
- Apresentação do projeto
- Criando seu projeto
- Criando sua primeira página e seus respectivos testes
- Conhecendo o React Styled Components e criando um componente
- Evoluindo e testando nosso componente
- Ajustes estéticos
- Explorando o React Styled Components um pouco mais
- Abstraindo melhor nossos componentes
- Mockando uma API REST em seus testes com msw
- Evoluindo nosso projeto através do controle de estado
- Finalizando o projeto
- Trabalhando com testes de qualidade
- Conclusão do projeto
- Dúvidas
- GitHub
- Introdução ao React Native
- Conceitos iniciais
- Configuração do ambiente
- Tela inicial da interface do VS Studio Code
- Características do React Native
- Conceitos básicos
- Configurações de ambiente MacOS
- Executando projeto no emulador iOS - Parte 1
- Executando projeto no emulador iOS - Parte 2
- Configurações de ambiente Linux
- Desenvolvendo o primeiro aplicativo
- Conceitos e sintaxe da linguagem
- Gerando números randômicos - Parte 1
- Gerando números randômicos - Parte 2
- Gerando números randômicos - Parte 3
- Gerando números randômicos - Parte 4
- Estilos e componentes
- Introdução ao Flexbox
- App Currículo - Parte 1
- App Currículo - Parte 2
- App Currículo - Parte 3
- App Currículo - Parte 4
- Componentes e estados
- O que são componentes e propriedades
- Refatorando o App Currículo - Parte 1
- Refatorando o App Currículo - Parte 2
- Primeiros passos na criação de suas tabelas
- Introdução ao curso e conceitos iniciais sobre modelo relacional
- Ferramentas e configuração do ambiente
- Criando tabelas
- Inserindo dados na tabela
- Dicas e dúvidas
- Realizando manutenção de suas tabelas
- Selecionando e alterando dados
- Deletando e ordenando dados
- Agrupando dados
- Introdução ao NoQL
- Apresentação do curso
- Introdução
- Conhecendo os tipos de banco de dados NoSQL
- Tipos de banco NoSQL
- Coluna/Família de colunas
- Chave-valor
- Documento
- Introdução ao MongoDB e instalação
- Introdução ao MongoDB
- Instalação
- MongoDB Cloud
- Schema Design e boas práticas
- Schema Design
- Boas práticas
- JSON vs BSON
- Alguns conceitos na prática
- Operações de manipulação de dados
- Performance e índices
- Agregações
- Fundamentos de JavaScript e Node
- Apresentação inicial
- Preparação básica para iniciar o desafio
- Conceitos essenciais do Javascript
- Conhecendo o Node.js
- Como funciona o Node
- O que é o NPM?
- Criando o package.json e o server
- Melhorando o retorno da criação de servidor
- Criando o app para gerenciar uso de memória RAM
- Importando módulos essenciais e visualização do consumo de memória
- Implementando a função nativa setInterval
- Visualizando o consumo de memória no navegador
- Entendendo e preparando seu projeto
- Apresentação inicial
- Conteúdo previsto
- Como funciona a API Rest do projeto
- Requisitos para o desenvolvimento
- Criando um projeto com node e Hello world!
- Entendendo a estrutura do Typescript
- Como desenvolver em Typescript
- Desenvolvendo o projeto
- Criando um servidor com express
- Automatizando o servidor para identificar alterações no código
- Introdução ao desenvolvimento do CRUD de usuários
- Implementando rota por id de usuário
- Facilitando o uso de statusCode no seu código
- Desenvolvendo e testando o método post
- Desenvolvendo e testando o método put e delete
- Refatorando a rota de status
- Como fazer sua conexão de banco de dados
- Apresentação do projeto de base e proposta de conteúdo
- Configuração inicial do node-postgres
- Primeiros passos para a criação do banco de dados e tabelas
- Criando a estrutura básica para conexão com banco de dados
- Realizando uma consulta de usuários
- Revisão da conexão com o banco de dados e criação de pool de conexões
- Criando as funções de manipulação da tabela de usuários
- Desenvolvendo a consulta de usuários por id
- Desenvolvendo a inserção de usuários
- Desenvolvendo o update e o delete de usuários
- Comentários sobre injeção de dependência
- Realizando tratamento de erros
- Desenvolvendo um Error Handling
- Passo a Passo para desenvolvimento de MS de autenticação com tokens
- Apresentação do projeto base e proposta do conteúdo
- Desenvolvendo a rota de autorização e validando token
- Decodificando o token recebido e validando credenciais
- Buscando o usuário e senha conforme solicitação do token
- Instalação da biblioteca JWT para geração de tokens
- Criando seu token com JWT
- Desenvolvendo um middleware para reutilizar as funções de autenticação
- Desenvolvendo a busca de usuários validada por token
- Desenvolvendo a verificação de validação de tokens
- O que é Refresh Token e a proposta de desafio final
- Vantagens e desenvolvimento de Web Services
- O que são Web Services
- Estrutura SOAP
- Entendendo o que é WSDL e XSD
- Aprenda o que são REST, API e JSON
- Veja sobre integração com REST e métodos HTTP na prática
- Conceitos de arquitetura em aplicações para Internet
- Introdução a arquitetura de sistemas
- Comparando os modelos Monolito e Microsserviços
- Gerenciamento de erros e volume de acesso
- A arquitetura de aplicações móveis e internet das coisas
- Conceitos da Internet das Coisas
- Arquitetura da internet das coisas e protocolo de comunicação
- Flexibilidade dos tópicos e Cloud
- Estudo de caso
- Introdução ao tema
- VM e Container
- Arquitetura do Docker
- Criando nosso primeiro container
- Primeiros passos com o Docker
- Instalando o Docker no Linux
- Instalando o Docker no Windows
- Principais Comandos - Parte 1
- Principais Comandos - Parte 2
- Principais Comandos - Parte 3
- Rede do Docker
- Tipos de rede e como funciona
- Exemplos Práticos - Parte 1
- Exemplos Práticos - Parte 2
- Exemplos Práticos - Parte 3
- Armazenamento no Docker
- Tipos de armazenamento
- Exemplos práticos
- Nosso projeto no ar!
- Limites
- Implementando nosso projeto - Parte 1
- Implementando nosso projeto - Parte 2
- Passo a passo no projeto prático AWS
- Apresentação inicial e objetivos do curso
- Conceitos iniciais sobre AWS e arquitetura do projeto prático
- Apresentação inicial da plataforma AWS
- Criando um pool de usuários com Amazon Cognito
- Criando uma tabela com DynamoDB e criando funções Lambda
- Editando o código-fonte em JavaScript
- Criando uma API Gateway e rotas
- Desenvolvendo as integrações
- Dúvidas e comentários finais