Categoria: Go

Go nasceu no Google para escrever software de servidor que compila rápido e escala bem. Aposta na simplicidade — poucas palavras-chave, biblioteca padrão robusta e concorrência nativa por goroutines e canais — e entrega um binário único, sem dependências, o que a tornou padrão em ferramentas de infraestrutura como Docker e Kubernetes. A documentação oficial fica em go.dev.

Go

Mocks e dublês de teste

Nesta aula, você aprenderá a usar mocks e dublês de teste em Go para isolar unidades de código, testar interações e simular dependências externas. Exploraremos interfaces para testabilidade, criação de mocks manuais, uso do pacote httptest para testar servidores HTTP e boas práticas essenciais.

✓ Lido
Go

Fuzzing

Esta aula aborda o fuzzing em Go, uma técnica automatizada de teste que alimenta funções com entradas aleatórias para encontrar bugs e vulnerabilidades. Você aprenderá a escrever funções de fuzz, executar testes com go test -fuzz, analisar falhas e gerenciar o corpus de entradas.

✓ Lido
Go

Ferramentas: vet, fmt, lint

Esta aula apresenta as principais ferramentas de qualidade de código em Go: go vet para análise estática, gofmt para formatação, e golangci-lint como linter abrangente. Você aprenderá a usá-las individualmente e em conjunto, integrando-as ao seu fluxo de trabalho para garantir código limpo, consistente e livre de erros comuns.

✓ Lido
Go

Construindo uma API JSON

Nesta aula, você aprenderá a construir uma API JSON em Go do zero, cobrindo desde a decodificação de requisições até a codificação de respostas, o uso correto de status codes e a estruturação de um projeto. Ao final, você terá uma base sólida para criar APIs RESTful eficientes e bem organizadas.

✓ Lido
Go

Templates HTML (html/template)

Nesta aula, você aprenderá a usar o pacote html/template do Go para gerar HTML dinâmico com segurança, incluindo parsing, execução, variáveis, escape automático e composição de templates.

✓ Lido
Go

Roteamento e a ServeMux moderna

Nesta aula, exploramos o roteamento moderno da net/http em Go 1.22+, incluindo padrões de rota com métodos HTTP, path parameters e a comparação com frameworks populares. Aprendemos a usar o ServeMux aprimorado para criar rotas limpas e eficientes sem dependências externas.

✓ Lido
Go

Middleware em HTTP

Nesta aula, você aprenderá a criar e encadear middlewares em Go, desde o padrão básico até aplicações práticas como logging e autenticação, com exemplos completos e exercícios para fixar o conteúdo.

✓ Lido
Go

Cliente HTTP

Esta aula ensina a criar clientes HTTP em Go, desde requisições simples com http.Get até o uso avançado de http.Client, customização de requisições, configuração de timeouts e tratamento adequado de respostas. Inclui exemplos práticos, boas práticas, referências e exercícios com respostas.

✓ Lido
Go

Consultas e prepared statements

Nesta aula, você aprenderá a executar consultas SQL em Go usando database/sql, diferenciando Query e QueryRow, entendendo o processo de Scan, utilizando prepared statements para segurança e performance, e prevenindo SQL injection.

✓ Lido
Go

ORMs e query builders (visão geral)

Esta aula apresenta uma visão geral sobre ORMs e query builders em Go, comparando abordagens como database/sql puro, GORM e sqlc. Discute trade-offs, critérios de escolha e boas práticas para decidir quando usar cada ferramenta em projetos reais.

✓ Lido