Let's Go Further: Técnicas Avançadas de Desenvolvimento em Go
590 páginas
Portuguese
PDF
4.5

Let's Go Further: Técnicas Avançadas de Desenvolvimento em Go

Let's Go Further: Técnicas Avançadas de Desenvolvimento em Go

Autor:

Ano:

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/sql e pgx (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