Let's Go Further: Técnicas Avançadas de Desenvolvimento em Go
Let's Go Further: Técnicas Avançadas de Desenvolvimento em Go
Resumo:
Introdução
O livro «Let's Go Further» (2022) de Alex Edwards é a continuação lógica do seu best-seller «Let's Go», dedicado aos fundamentos do desenvolvimento web na linguagem Go. Se o primeiro livro estabelecia a base (roteamento, templates, middleware, trabalho com BD), o «Let's Go Further» eleva o nível: aqui você aprenderá a criar REST APIs prontas para produção, gerenciar consultas complexas ao PostgreSQL, implementar autenticação baseada em JWT e tokens, escrever testes de integração e implantar a aplicação em um servidor. O livro foi lançado em 2022, tem 590 páginas e é voltado para desenvolvedores que já conhecem os fundamentos do Go.
Sobre o que é o livro
«Let's Go Further» é um guia prático para criar um serviço web completo em Go. O autor conduz o leitor passo a passo, desde o design da arquitetura até o deploy. Os principais tópicos são:
- Design de uma RESTful API do zero (rotas, handlers, respostas JSON);
- Trabalho com PostgreSQL: migrações, consultas complexas, transações, paginação;
- Autenticação e autorização: JWT, bcrypt, refresh tokens, middleware;
- Tratamento de erros e validação de dados (tipos de erro personalizados, respostas estruturadas);
- Testes: testes unitários, testes de integração com BD de teste, objetos mock;
- Deploy: criação de imagem Docker, configuração de CI/CD, trabalho com variáveis de ambiente;
- Desempenho: pools de conexão, cache, profiling.
Cada capítulo contém código pronto que pode ser aplicado imediatamente em um projeto real.
Para quem é este livro
O livro é destinado a desenvolvedores Go que já dominam a sintaxe básica, sabem trabalhar com goroutines e canais, mas desejam se aprofundar na criação de serviços de produção. Será útil para:
- Desenvolvedores backend que estão migrando para Go a partir de outras linguagens;
- Desenvolvedores que desejam aprender as melhores práticas para construir REST APIs;
- Aqueles que querem aprender a escrever testes e configurar CI/CD para projetos Go;
- Estudantes e formandos de cursos que desejam obter experiência prática.
Se você está apenas começando a aprender Go, é melhor ler primeiro «Let's Go» do mesmo autor — este livro pressupõe um domínio sólido dos fundamentos.
O que o leitor aprenderá
Após ler «Let's Go Further», você será capaz de:
- Projetar e implementar uma RESTful API com suporte a CORS, paginação e filtragem;
- Trabalhar com PostgreSQL através de
database/sqlepgx(pools, transações, migrações); - Implementar autenticação usando JWT e refresh tokens;
- Escrever testes de integração que são executados em um BD isolado;
- Configurar um contêiner Docker para a aplicação e o banco de dados;
- Otimizar o desempenho: fazer profiling, cache, gerenciar conexões;
- Estruturar o código de forma que seja fácil de manter e expandir.
Pontos fortes
A principal vantagem do livro é sua abordagem prática. Cada conceito é acompanhado de código funcional que pode ser baixado do GitHub. O autor não apenas explica a teoria, mas mostra como tomar decisões no desenvolvimento real: por que um determinado padrão foi escolhido, como evitar erros comuns. O livro é escrito em linguagem clara e acessível, sem academicismo excessivo. Os capítulos sobre testes e deploy são especialmente valiosos — esses tópicos raramente são abordados com tanto detalhe em outros guias. Outro ponto positivo é a atualidade: o livro foi lançado em 2022 e usa versões modernas do Go e das bibliotecas.
A quem é recomendado
Recomendo fortemente «Let's Go Further» a todos que desejam passar da criação de projetos de estudo para a criação de serviços comerciais em Go. O livro é ideal para estudo autodidata: você pode lê-lo sequencialmente ou usá-lo como referência para tópicos específicos. Se você já trabalha com Go, mas sente lacunas em arquitetura, testes ou deploy — este livro as preencherá. Para equipes que estão migrando para Go, ele pode se tornar um padrão interno.
Recommendations
PHP e Docker: conteinerização de aplicações
Concorrência em TypeScript
Teste de aplicações Java: de testes unitários a verificações de integração
Rust para data science: guia prático para análise de dados
C++ High Performance. Computação de Alto Desempenho em C++
Projetando APIs Web Evolutivas com ASP.NET