Imersão Fullstack & DevOps
Olá Gopher!
A imersão Fullstack & DevOps é um curso intensivo e abrangente projetado para transformar sua carreira. Nosso objetivo é proporcionar a você uma experiência prática e imersiva, onde aprenderá a desenvolver projetos escaláveis e prontos para produção utilizando as melhores práticas do mercado.
O que você irá conquistar:
Ao final desta imersão, você terá três projetos Go completos em seu portfólio – uma API, um Worker e um CLI – todos com testes unitários e fuzzy testing prontos para impressionar recrutadores e elevar seu perfil profissional.
Também terá uma aplicação frontend feita com Angular e comunicando-se 100% com a API mencionada anteriormente.
Detalhes do Curso:
– Duração: Aproximadamente 3 meses e meio
– Conteúdo: Mais de 270 vídeos com aulas teóricas e práticas, cobrindo Go, Arquitetura de Software, Kubernetes, Terraform, Angular, DDD e gRPC
– Suporte: Grupo de estudos ativo no Discord, suporte direto com o professor via Discord
– Sessões 1:1: Um papo privado com o professor ao final do curso para garantir seu sucesso
Diferenciais da Imersão:
– Aulas Práticas: Aprenda através de exemplos reais e projetos práticos que refletem situações do mercado de trabalho
– Comunidade de Apoio: Participe de um grupo de estudos no Discord, onde você poderá trocar experiências e tirar dúvidas
– Acesso Direto ao Professor: Tire dúvidas e obtenha feedback valioso diretamente com o professor
– Sessões Individuais: Ao final do curso, aproveite uma sessão 1:1 com o professor para orientação personalizada e planejamento de carreira
Transforme sua carreira e torne-se um especialista em desenvolvimento de software com a Imersão Fullstack & DevOps. Aproveite esta oportunidade única para aprender, crescer e se destacar no mercado de trabalho.
Estamos ansiosos para vê-lo nesta jornada de aprendizado e sucesso.
Conteúdo do curso
Apresentação
-
Boas vindas
02:13 -
Divisão dos conteúdos e calendário
04:00 -
Dicas para estudar
01:26
[Golang] – Variáveis
-
04:16
-
Tipos de dados (parte 01)
08:20 -
Tipos de dados (parte 02)
06:25 -
07:19
-
Trabalhando com variáveis em Go (parte 02)
04:46 -
A diferença entre arrays e slices
12:21 -
O que são ponteiros
04:01 -
A função new
02:24 -
Escopo das variáveis
08:17
[Golang] – Comandos condicionais
-
O que são comandos condicionais
04:58 -
Comando if/else em Go
05:51 -
O comando switch/case
02:41 -
Validando múltiplas condições
05:37
[Golang] – Looping e iterações
-
O que é looping
03:41 -
Como fazer looping em Go
08:37 -
Formas de iterar um slice em Go
04:20 -
Iterando um map
04:42
[Golang] – Funções
-
O que são funções e qual sua finalidade
04:52 -
Criando a primeira função
02:40 -
Passando parâmetros para função
04:06 -
A diferença entre valor e ponteiro
08:10 -
Retornando o resultado da função
02:32 -
Funções com múltiplos retornos
08:52 -
Retornando erros customizados
02:49 -
Como adiar a execução de uma função
07:03
[Golang] – Packages
-
O que são packages
05:35 -
Visibilidade das funções, structs e variáveis
03:57 -
Criando um package
05:27 -
Utilizando funções de um package
10:31
[Golang] – Orientação a objetos
-
O que é orientação a objetos
03:34 -
O que são classes
05:24 -
A diferença entre classe, objeto e instância
03:06 -
04:18
-
Como funciona herança
05:34 -
Os tipos de visibilidade
05:56 -
Encapsulamento de um objeto
04:53 -
O que é polimorfismo
02:37 -
Para que servem as Interfaces
06:45 -
OO aplicado ao Golang
04:36 -
Criando a primeira “classe”
08:25 -
Extendendo uma classe
06:27 -
Trabalhando com interfaces
10:26
[Design de Software] – Tipos de arquitetura
-
O que é arquitetura de software
01:13 -
Client-Server
03:33 -
REpresentational State Transfer (REST)
04:30 -
Domain Driven Design (DDD)
03:31 -
Microservices
05:09 -
Component-based
04:01 -
Layered
02:57 -
Publish-subscribe
03:53
Banco de dados
-
Introdução a banco de dados
01:35 -
Componentes de um banco relacional
07:11 -
Diferença entre relacional e NoSQL
06:31 -
06:41
-
Quais são os tipos de relacionamentos
06:51 -
A linguagem SQL
07:13 -
Criando o primeiro banco de dados
06:59 -
Criando tabelas
03:59 -
Criando uma tabela relacional
06:20 -
Gerenciando dados em uma tabela
09:17 -
Como filtrar dados de uma tabela
08:36 -
Importando dados de um arquivo .sql
04:28 -
Conhecendo os tipos de JOIN
05:36 -
Selecionando dados em tabelas relacionais
05:41
[Projeto Prático] – Planejando um projeto
-
05:32
-
Escolhendo as tecnologias
04:56 -
Desenhando a arquitetura do software
06:19 -
Desenhando o banco de dados
07:44 -
Criando scripts do banco de dados
11:10 -
Criando o repositório no GitHub
05:58 -
Preparando o ambiente de desenvolvimento
04:08 -
Aplicando os scripts do banco de dados
04:50
[Projeto Prático] – Micro Serviço (worker)
-
O que são Workers
02:37 -
O que são sistemas de fila
05:58 -
Definindo responsabilidade da aplicação
03:56 -
Planejando os packages da aplicação
05:40 -
Definindo estrutura da mensagem
05:57 -
Implementando a struct Queue
10:23 -
Criando struct base do RabbitMQ
06:35 -
Implementando métodos para RabbitMQ
08:23 -
Data Transfer Object (DTO)
10:31 -
Desenvolvendo struct do Bucket
10:53 -
Criando struct para AWS S3
09:55 -
Fazendo download do arquivo
03:01 -
Fazendo upload do arquivo
03:45 -
Removendo arquivo do bucket
04:23 -
Implementando o worker
17:23
[Projeto Prático] – API
-
O que é uma API?
03:47 -
Planejando organização dos packages
04:35 -
Implementando package database
05:36 -
Definindo struct User
09:15 -
Implementando método SetPassword
04:03 -
Implementando método Validate
07:51 -
Definindo Handler
06:01 -
Implementando Insert User
05:08 -
Implementando Handler Create
06:49 -
Atualizando usuário no banco de dados
09:00 -
Endpoint Delete
04:39 -
Recuperando um único usuário
08:05 -
Listando usuários
08:26 -
Definindo struct Folder
04:47 -
Definindo Handler
01:59 -
Implementando criação de pastas
06:52 -
Atualizando nome da pasta
06:35 -
Definindo struct File
05:31 -
Listando os arquivos
03:54 -
Atualizando o arquivo
04:24 -
Endpoint Delete
11:42 -
Obtendo uma pasta
06:04 -
Listando conteúdo de uma pasta
13:03 -
Finalizando Get e Delete
13:15 -
Obtendo pasta raiz
06:44 -
Atualizando nome do arquivo
10:38 -
Novo arquivo
08:19 -
14:28
-
Removendo um arquivo
05:20 -
Testando Insert
11:29 -
Testando Delete
05:26 -
Testando Get
06:12 -
Testando List
04:49 -
Testando Update
04:44 -
Testando Create Folder
05:02 -
Testando Get Folder
04:15 -
Testando List Folders
04:35 -
Refatorando Files
05:28 -
Testando POST
11:37 -
Testando PUT
08:28 -
Testando GET
04:37 -
Testando DELETE
04:19 -
Review do desafio
07:42 -
Testando Upload
14:00 -
Implementando buckettest
08:31 -
Implementando queuetest
07:48 -
Executando teste upload
06:07 -
Adicionando Testify Suite
21:08 -
Review do desafio
12:04 -
O que é coverage?
06:46 -
Adicionando teste case no TestDeleteHTTP
13:07 -
Review do desafio
23:52 -
Sistema de autenticação
11:04 -
Package auth
10:41 -
Implementando criação do token
03:44 -
Autenticando o User
14:45 -
Protegendo endpoints
13:21 -
Resolução do desafio
05:10 -
Implementando entrada da aplicação
13:27
[Projeto Prático] – CLI
-
Planejando organização dos packages
04:19 -
Criando package de comunicação
05:04 -
Comando para autenticação
08:46 -
Implementando autenticação
11:04 -
Lendo cache do token
04:08 -
Comando para criação de pasta
09:32 -
Listando conteúdo de uma pasta
08:46 -
Atualizando os dados de uma pasta
04:33 -
Removendo uma pasta
04:58 -
Revisão do desafio
07:36 -
Implementando main.go
06:25
[Projeto Prático] – Debug das Aplicações
-
Build das aplicações
06:29 -
Configurando ambiente
19:32 -
Criando usuário
18:14 -
Autenticação e package users
10:28 -
Package folders
09:28 -
Upload de arquivo raw
08:32 -
Executando o Worker
17:36 -
Listagem da pasta e package Files
07:14
[Containers & K8S] – Containers
-
Containers, como chegamos até aqui
05:15 -
O que são containers
06:47 -
Instalando sistema de containers
-
Executando um container
08:18 -
07:51
-
Multi step build
06:50 -
Implementando um container em Go
10:14 -
Comandos úteis
09:02 -
Docker compose
08:09 -
Volumes
05:42 -
Variáveis de Ambiente
03:52
[Containers & K8S] – Kubernetes
-
O que é Kubernetes
01:49 -
07:28
-
Os vários tipos de objetos Kubernetes
08:02 -
Como os objetos “conversam” entre si
05:17 -
Instalando kubernetes local
00:00 -
Criando um namespace
05:23 -
Adicionando ConfigMap
04:29 -
Iniciando Deployment para API
05:00 -
Adicionando Secret ao Redis
02:38 -
Criando StatefulSet para Redis
10:05 -
Finalizando Deployment da API
07:13 -
Adicionando Services
06:54 -
Adicionando um Ingress
09:32 -
O que é HELM?
03:21 -
Criando um template de HELM (parte 1)
12:03 -
Criando um template de HELM (parte 2)
11:44 -
Organizando values e templates
10:34 -
Organizando template dos services
10:40 -
Gerenciando aplicação com HELM
08:00
[Angular] – Angular 101
-
O que Angular
02:10 -
Estrutura de um projeto Angular
09:00 -
O que são componentes
07:52 -
O que são serviços
06:08 -
O que são diretivas
03:13 -
O que são módulos
02:34 -
O que é lazy loading
02:37 -
03:41
[Angular] – Projeto Prático
-
Iniciando projeto
03:25 -
Criando o primeiro módulo e service
13:09 -
Configurando os environments
04:45 -
Criando component UserCreate
05:11 -
Criando tela para cadastro
03:43 -
Dependências e rotas
06:05 -
Criando primeiro user
06:05 -
16:37
-
Adicionando módulo Resources
06:24 -
Implementando Service Resources
03:37 -
Implementando ResourcesListComponent
09:15 -
Listando os recursos no component
08:23 -
Implementando um Interceptor
05:16 -
Listando os recursos
09:22 -
Implementando um Guard
06:19 -
Adicionando link para outras pastas
03:08 -
O componente “nova pasta”
13:05 -
Criando uma nova pasta
05:15 -
O componente “upload”
07:51 -
Implementando o Service upload
11:18 -
Deletando resources
11:18 -
Instalando Angular Material
04:12 -
Ajustando as tabelas e ações
12:06 -
Adicionando sidenav e toolbar
09:56 -
Movendo botões para Sidenav
13:27 -
Adicionando dialog ao componente New Folder
09:35 -
Implementando comunicação entre dialog e componente
10:09
[Terraform] Terraform 101
-
O que é Terraform?
03:05 -
Estrutura de um arquivo .tf
03:44 -
O arquivo provider
03:10 -
05:44
-
Autenticando na AWS
06:07 -
Comandos Terraform
06:05 -
Module Bucket
09:21 -
05:17
-
Otimizando autenticação
03:53 -
Migrando .tfstate para o Cloud
06:30 -
Importando recursos
08:37 -
Lendo arquivos YAML
08:36 -
Criando módulo EC2
12:53
[DDD] Domain-Driven Design
-
O que é DDD?
02:37 -
Modelo e linguagem onipresente
08:23 -
05:23
-
Camadas de software
05:48 -
Entidades e Objetos de Valor
07:13 -
Agregados
04:26 -
Serviços e Módulos
05:49 -
Fábricas e Repositórios
05:52
[DDD] Projeto Prático
-
Introdução
04:42 -
Analisando Código
06:42 -
03:48
-
11:23
-
Refatorando entitidade
12:06 -
Função New
03:39 -
Refatorando modify user
17:09 -
Implementando UserRepository
11:45 -
Refatorando get e list user
13:45 -
UserReadRepository
05:09 -
Movendo testes do repository
08:27 -
Movendo handler
10:31 -
Package Factories
07:03 -
Utilizando Factory
09:14 -
Refatorando Auth
17:49
gRPC
-
06:04
-
Primeiro arquivo .proto
10:14 -
Descrevendo o Service
10:38 -
14:27
-
07:39
-
Implementando Delete
01:44 -
Desenvolvendo método Get
02:24 -
Método List
06:01 -
O server gRPC
12:23 -
Refatorando Auth
11:14 -
gRPC Interceptor
07:11 -
Bypass no /users/create
10:08 -
Ajustes no package auth
07:01 -
Auth no gRPC
25:25 -
Start server
05:23 -
Implementando gRPC no CLI
09:52 -
Auth com gRPC no CLI
07:52 -
Fixes & Teste
18:51
Classificações e revisões de estudantes