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.
Assine o Gopher Star 🚀
por apenas
R$ 97,70 /por mês
Módulos
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
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
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
por apenas
R$ 97,70 /por mês




