O Curso Go Expert tem o objetivo de te tornar uma pessoa desenvolvedora Go que é capaz de trabalhar em grandes empresas recebendo os melhores salários.
Além dos principais fundamentos da linguagem, o curso também apresentará as principais necessidades técnicas que as empresas possuem e como resolvê-las com a Golang.
Desenvolvimento de APIs, Testes automatizados, Multithreading, Comunicação entre microsserviços, Clean Architecture, Processos de deploy utilizando Docker e Kubernetes fazem parte da ementa.
Introdução a linguagem
* Sobre a linguagem e seu histórico
* Motivações
* Sobre a linguagem e seu histórico
* Instalação
* Configuração do ambiente no VSCode
Implementações
* gRPC
* GraphQL
* Upload de arquivos na AWS S3
* Command line com cobra CLI
* Unit of Work
* Dependency injection com Google Wire
* Manipulação de eventos (Event Dispatcher, Handlers, etc)
* Integração com RabbitMQ
* Gerenciamento de configuração com Viper
Desenvolvimento de APIs
* Retomando conceitos de HTTP Server e Mux
* Criando Endpoints
* Apresentando principais frameworks e roteadores
* Trabalhando com “chi”
* Middlewares
* Autenticação e tokens JWT
* Documentando API com Swagger
Go e Clean Architecture
* Iniciando com Clean Architecture
* Pontos importantes sobre arquitetura
* Keep options opened
* Use Cases
* Limites arquiteturais
* Input vs Output
* DTOs
* Entities
* Desenvolvendo camada de domínio
* Criando Use Cases
* Criando adaptador para banco de dados
* Criando adaptador para o RabbitMQ
* Servindo endpoints HTTP
* Consumindo mensagens com RabbitMQ
* Criando CLI para iniciar a aplicação
* Go Doc
Foundation
* Primeiros passos
* Trabalhando com tipagem forte
* Arrays, Slices, Maps
* Laços de repetição, condicionais
* Ponteiros
* Funções, Structs, Métodos, Interfaces e Generics
* Trabalhando com packages
* Módulos
* Módulos privados
* Instação de pacotes
* Compilando projetos Go
* Workspaces
Concorrência e Multithreading
* Entendendo conceitos de concorrência e paralelismo
* Como Go aborda concorrência e schedulers
* Iniciando com Go Routines
* Contadores atômicos
* Trabalhando com Channels e buffers
* Utilizando recurso de Select
* Wait Groups
* Mutex
* Previnindo race conditions
* Desenvolvimento de workers utilizando channels
* Load Balancer
Pacote Context
* Entendendo o conceito de um context
* Armazenando e recuperando valores
* Background, Timeout, Deadline e Cancelations
* Context na prática
Testes automatizados
* Iniciando com testes no Go
* Formas de asserção
* Pacotes úteis
* Trabalhando com Mocks
* Fuzzes e testes de mutação
* Testes em batch
* benchmarking
* Criando suite de testes com Testify
* Testes End-to-end
Pacotes importantes
* Manipulação de arquivos
* Chamada HTTP
* Trabalhando com objetos Json
* Defer
* Desenvolvendo um sistema Busca CEP
* Trabalhando com HTTP
* Criando servidores HTTP
* Entendendo Multiplexers
* Servidor de arquivos
* Trabalhando com templates dinâmicos
* Aprofundando em HTTP utilizando Context
Banco de dados
* Entendendo como Go trabalha com banco de dados
* Estabelecendo conexão e realizando primeiras operações
* Boas práticas de segurança
* Realizando operações utilizando Context
* Go puro vs ORM
* Trabalhando com GORM
* Migrations
* SQLC: Geração automática de Queries
Gênero: Programação
Formato: MP4
Idioma: Português
Tamanho: 44.01 GB
Servidor: Torrent