Backend GO

Fala, fala Gopher! Beleza?

Transforme sua carreira com nossa imersão focada exclusivamente em tecnologias backend. Nosso curso é projetado para ensinar, de maneira prática e eficaz, como desenvolver projetos escaláveis e prontos para produção, utilizando as melhores práticas do mercado.

Objetivos do Curso:

– Desenvolvimento de Projetos Escaláveis: Aprenda a criar soluções robustas e eficientes, prontas para atender às demandas reais do mercado.
– Portfólio Completo: Ao final do curso, você terá três projetos completos (uma API, um Worker e um CLI) com testes unitários e fuzzy testing, prontos para serem apresentados a recrutadores.

Duração e Estrutura:

O programa tem uma duração aproximada de 2 meses e inclui:

– Mais de 200 Vídeos: Aulas teóricas e práticas que cobrem todos os aspectos essenciais de Golang, DDD e gRPC.
– Grupo de Estudos no Discord: Participe de uma comunidade ativa de estudantes e profissionais, facilitando o aprendizado colaborativo.
– Suporte Direto com Professores: Tire suas dúvidas diretamente com os instrutores via Discord, garantindo um aprendizado contínuo e sem interrupções.

Benefícios Adicionais:

– Metodologia Prática e Aplicada: Nosso enfoque é em aprender fazendo, com projetos reais que proporcionam experiência prática.
– Networking: Conecte-se com outros profissionais da área e aumente suas oportunidades de carreira.

Garanta seu lugar e dê o próximo passo rumo à excelência profissional em desenvolvimento backend.

Empresas

Abaixo você pode conferir a lista com algumas empresas onde alunos da imersão trabalham.

Assine o Gopher Star 🚀
por apenas

R$ 97,70 /por mês

Módulos

cropped-gopher-education-1.png

GO 101

No início, você irá aprender tudo sobre a linguagem Go, Orientação a Objetos e Arquitetura de Software.

  • Aula 1 – O que são variáveis
  • Aula 2 – Tipos de dados (parte 01)
  • Aula 3 – Tipos de dados (parte 02)
  • Aula 4 – Trabalhando com variáveis em Go
  • Aula 5 – Trabalhando com variáveis em Go
  • Aula 6 – A diferença entre arrays e slices
  • Aula 7 – O que são ponteiros
  • Aula 8- A função new
  • Aula 9 – Escopo das variáveis
  • Aula 1 – O que são comandos condicionais
  • Aula 2 – Comando if/else em Go
  • Aula 3 – O comando switch/case
  • Aula 4 – Validando múltiplas condições
  • Aula 1 – O que é looping
  • Aula 2 – Como fazer looping em Go
  • Aula 3 – Formas de iterar um slice em Go
  • Aula 4 – Iterando um map
  • Aula 1 – O que são funções e qual sua finalidade
  • Aula 2 – Criando a primeira função
  • Aula 3 – Passando parâmetros para função
  • Aula 4 – A diferença entre valor e ponteiro
  • Aula 5 – Retornando o resultado da função
  • Aula 6 – Funções com múltiplos retornos
  • Aula 7 – Retornando erros customizados
  • Aula 8 – Como adiar a execução de uma função
  • Aula 1 – O que são packages
  • Aula 2 – Visibilidade das funções, structs e variáveis
  • Aula 3 – Criando um package
  • Aula 4 – Utilizando funções de um package
  • Aula 1 – O que é orientação a objetos
  • Aula 2 – O que são classes
  • Aula 3 – A diferença entre classe, objeto e instância
  • Aula 4 – Entendendo métodos
  • Aula 5 – Como funciona herança
  • Aula 6 – Os tipos de visibilidade
  • Aula 7 – Encapsulamento de um objeto
  • Aula 8 – O que é polimorfismo
  • Aula 9 – Para que servem as Interfaces
  • Aula 10 – OO aplicado ao Golang
  • Aula 11 – Criando a primeira “classe”
  • Aula 12 – Extendendo uma classe
  • Aula 13 – Trabalhando com interfaces
  • Aula 1 – O que é arquitetura de software
  • Aula 2 – Client-Server
  • Aula 3 – REpresentational State Transfer (REST)
  • Aula 4 – Domain Driven Design (DDD)
  • Aula 5 – Microservices
  • Aula 6 – Component-based
  • Aula 7 – Layered
  • Aula 8 – Publish-subscribe

Trabalhando com variáveis em Go

Entendendo métodos

Postgresql

Banco de dados

Vamos ensinar tudo sobre banco de dados relacionais e suas diferenças com NoSQL.

  • Aula 1 – Introdução a banco de dados
  • Aula 2 – Componentes de um banco relacional
  • Aula 3 – Diferença entre relacional e NoSQL
  • Aula 4 – O que são chaves
  • Aula 5 – Quais são os tipos de relacionamentos
  • Aula 6 – A linguagem SQL
  • Aula 7 – Criando o primeiro banco de dados
  • Aula 8 – Criando tabelas
  • Aula 9 – Criando uma tabela relacional
  • Aula 10 – Gerenciando dados em uma tabela
  • Aula 11 – Como filtrar dados de uma tabela
  • Aula 12 – Importando dados de um arquivo .sql
  • Aula 13 – Conhecendo os tipos de JOIN
  • Aula 14 – Selecionando dados em tabelas relacionais

O que são chaves

gophers

Projeto prático

Iremos planejar, implementar e debugar uma API, CLI e um worker. Utilizando as melhores práticas de mercado.

  • Aula 1 – Como planejar um projeto de software
  • Aula 2 – Escolhendo as tecnologias
  • Aula 3 – Desenhando a arquitetura do software
  • Aula 4 – Desenhando o banco de dados
  • Aula 5 – Criando scripts do banco de dados
  • Aula 6 – Criando o repositório no GitHub
  • Aula 7 – Preparando o ambiente de desenvolvimento
  • Aula 8 – Aplicando os scripts do banco de dados
  • Aula 1 – O que são Workers
  • Aula 2 – O que são sistemas de fila
  • Aula 3 – Definindo responsabilidade da aplicação
  • Aula 4 – Planejando os packages da aplicação
  • Aula 5 – Definindo estrutura da mensagem
  • Aula 6 – Implementando Queue
  • Aula 7 – Criando struct base do RabbitMQ
  • Aula 8 – Implementando métodos para RabbitMQ
  • Aula 9 – Data Transfer Object (DTO)
  • Aula 10 – Desenvolvendo struct do Bucket
  • Aula 11 – Criando struct para AWS S3
  • Aula 12 – Fazendo download do arquivo
  • Aula 13 – Fazendo upload do arquivo
  • Aula 14 – Removendo arquivo do bucket
  • Aula 15 – Implementando o worker
  • Aula 1 – O que é uma API?
  • Aula 2 – Planejando organização dos packages
  • Aula 3 – Implementando package database
  • Aula 4 – Definindo struct User
  • Aula 5 – Implementando método SetPassword
  • Aula 6 – Implementando método Validate
  • Aula 7 – Definindo Handler
  • Aula 8 – Implementando Insert User
  • Aula 9 – Implementando Handler Create
  • Aula 10 – Atualizando usuário no banco de dados
  • Aula 11 – Endpoint Delete
  • Aula 12 – Recuperando um único usuário
  • Aula 13 – Listando usuários
  • Aula 14 – Definindo struct Folder
  • Aula 15 – Definindo Handler
  • Aula 16 – Implementando criação de pastas
  • Aula 17 – Atualizando nome da pasta
  • Aula 18 – Definindo struct File
  • Aula 19 – Listando os arquivos
  • Aula 20 – Atualizando o arquivo
  • Aula 21 – Endpoint Delete
  • Aula 22 – Obtendo uma pasta
  • Aula 23 – Listando conteúdo de uma pasta
  • Aula 24 – Finalizando Get e Delete
  • Aula 25 – Obtendo pasta raiz
  • Aula 26 – Atualizando nome do arquivo
  • Aula 27 – Novo arquivo
  • Aula 28 – Upload de arquivo
  • Aula 29 – Removendo um arquivo
  • Aula 30 – Testando Insert
  • Aula 31 – Testando Delete
  • Aula 32 – Testando Get
  • Aula 33 – Testando List
  • Aula 34 – Testando Update
  • Aula 35 – Testando Create Folder
  • Aula 36 – Testando Get Folder
  • Aula 37 – Testando List Folders
  • Aula 38 – Refatorando Files
  • Aula 39 – Testando POST
  • Aula 40 – Testando PUT
  • Aula 41 – Testando GET
  • Aula 42 – Testando DELETE
  • Aula 43 – Review do desafio
  • Aula 44 – Testando Upload
  • Aula 45 – Implementando buckettest
  • Aula 46 – Implementando queuetest
  • Aula 47 – Executando teste upload
  • Aula 48 – Adicionando Testify Suite
  • Aula 49 – Review do desafi
  • Aula 50 – O que é coverage?
  • Aula 51 – Adicionando teste case no TestDeleteHTTP
  • Aula 52 – Review do desafio
  • Aula 53 – Sistema de autenticação
  • Aula 54 – Package auth
  • Aula 55 – Implementando criação do token
  • Aula 56 – Autenticando o User
  • Aula 57 – Protegendo endpoints
  • Aula 58 – Resolução do desafio
  • Aula 59 – Implementando entrada da aplicação
  • Aula 1 – Planejando organização dos packages
  • Aula 2 – Criando package de comunicação
  • Aula 3 – Comando para autenticação
  • Aula 4 – Implementando autenticação
  • Aula 5 – Lendo cache do token
  • Aula 6 – Comando para criação de pasta
  • Aula 7 – Listando conteúdo de uma pasta
  • Aula 8 – Atualizando os dados de uma pasta
  • Aula 9 – Removendo uma pasta
  • Aula 10 – Revisão do desafio
  • Aula 11 – Implementando main.go
  • Aula 1 – Build das aplicações
  • Aula 2 – Configurando ambiente
  • Aula 3 – Criando usuário
  • Aula 4 – Autenticação e package users
  • Aula 5 – Package folders
  • Aula 6 – Upload de arquivo raw
  • Aula 7 – Executando o Worker
  • Aula 8 – Listagem da pasta e package Files

Desenhando a arquitetura do software

Upload de arquivo

Domain-Driven Design

Nesse módulo você aprenderá todos os conceitos do Domain-Driven Design, também conhecido como DDD.

Depois vamos ver como aplicá-los no Go. Por fim, vamos refatorar nosso projeto prático utilizando DDD.

  • Aula 1 – O que é DDD?
  • Aula 2 – Modelo e linguagem onipresente
  • Aula 3 – Domínio e subdomínio
  • Aula 4 – Camadas de software
  • Aula 5 – Entidades e Objetos de Valor
  • Aula 6 – Agregados
  • Aula 7 – Serviços e Módulos
  • Aula 8 – Fábricas e Repositórios
  • Aula 1 – Introdução
  • Aula 2 – Analisando o Código
  • Aula 3 – Refatorando sem impacto
  • Aula 4 – Refatorando create user
  • Aula 5 – Refatorando entitidade
  • Aula 6 – Função New
  • Aula 7 – Refatorando modify user
  • Aula 8 – Refatorando get e list user
  • Aula 9 – Implementando UserRepository
  • Aula 10 – UserReadRepository
  • Aula 11- Movendo testes do repository
  • Aula 12 – Movendo handler
  • Aula 13 – Package Factories
  • Aula 14 – Utilizando Factory
  • Aula 15 – Refatorando Auth

Entidades e Objetos de Valor

gRPC

Pra começar, você irá aprender o que é e como funciona o gRPC e Protocol Buffers (protobuf). 

Logo após, iremos utilizar esse framework para refatorar nossa API e CLI.

  • Aula 1 – O que é gRPC e Protobuf?
  • Aula 2 – Primeiro arquivo .proto
  • Aula 3 – Descrevendo o Service
  • Aula 4 – Implementando primeiro método gRPC
  • Aula 5 – Implementando Modify
  • Aula 6 – Implementando Delete
  • Aula 7 – Desenvolvendo método Get
  • Aula 8 – Método List
  • Aula 9 – O server gRPC
  • Aula 10 – Refatorando Auth
  • Aula 11 – gRPC Interceptor
  • Aula 12 – Bypass no /users/create
  • Aula 13 – Ajustes no package auth
  • Aula 14 – Auth no gRPC
  • Aula 15 – Start server
  • Aula 16 – Implementando gRPC no CLI
  • Aula 17 – Auth com gRPC no CLI
  • Aula 18 – Fixes & Teste final

Primeiro arquivo .proto

Assine o Gopher Star 🚀
por apenas

R$ 97,70 /por mês