Desenvolvimento Prático de Software com Golang
554 páginas
Portuguese
PDF
4.5

Desenvolvimento Prático de Software com Golang

Desenvolvimento Prático de Software com Golang

Autor:

Ano:

Resumo:

Introdução

O livro «Hands-On Software Engineering with Golang» (2020, 554 pág.) de Achilleas Anagnostopoulos não é mais uma introdução à sintaxe do Go, mas um guia prático aprofundado para construir sistemas de software complexos, escaláveis e sustentáveis na linguagem Go. Ao contrário de muitos livros focados em fundamentos, esta obra é dedicada especificamente às práticas de engenharia: arquitetura, design, teste, implantação e monitoramento. É ideal para quem já conhece Go e deseja avançar para o nível de desenvolvedor sênior ou arquiteto.

Sobre o que é o livro

O livro é construído em torno do desenvolvimento de um aplicativo real — um sistema para análise de links (link graph). Ao longo dos capítulos, o autor aplica consistentemente os princípios do Design Orientado a Domínio (DDD), constrói uma arquitetura de microsserviços, usa gRPC para comunicação entre serviços, implementa conteinerização (Docker, Kubernetes) e configura pipelines de CI/CD. Cada capítulo é uma etapa concluída que pode ser aplicada imediatamente na prática.

Tópicos principais:

  • Padrões arquiteturais: DDD, CQRS, Event Sourcing, arquitetura hexagonal.
  • Microsserviços: design, comunicação (gRPC, RabbitMQ), orquestração.
  • Teste: unitário, integração, ponta a ponta, teste baseado em propriedades.
  • CI/CD: configuração de pipelines, teste e implantação automatizados.
  • Monitoramento e observabilidade: registro de logs, métricas, rastreamento (OpenTelemetry).
  • Desempenho: perfilamento, benchmarking, otimização.

Para quem é este livro

O livro é direcionado a desenvolvedores Go experientes (mínimo de 1-2 anos) que desejam se aprofundar no design de sistemas complexos. Também será útil para arquitetos, líderes técnicos e todos que estão fazendo a transição da escrita de utilitários simples para a construção de aplicações de nível de produção. Iniciantes em Go podem achar o livro desafiador, pois o autor não explica a sintaxe básica e assume conhecimento da linguagem.

O que o leitor aprenderá

  • Como aplicar DDD para identificar bounded contexts e agregados.
  • Como construir microsserviços usando gRPC e filas assíncronas.
  • Como implementar CQRS e Event Sourcing em Go.
  • Como escrever testes de diferentes níveis e usar teste baseado em propriedades.
  • Como conteinerizar aplicações e implantá-las no Kubernetes.
  • Como configurar CI/CD usando GitHub Actions ou GitLab CI.
  • Como perfilar e otimizar o desempenho de aplicações Go.
  • Como implementar observabilidade: registro de logs, métricas (Prometheus) e rastreamento (Jaeger).

Pontos fortes

A principal vantagem do livro é seu foco prático. Cada conceito é imediatamente apoiado por código que pode ser executado e modificado. O autor não apenas repete a teoria, mas mostra como tomar decisões arquiteturais e quais compromissos estão envolvidos. O código no GitHub é acompanhado de comentários detalhados. Outro ponto positivo é a relevância: o livro foi lançado em 2020, e a maioria das abordagens (gRPC, Kubernetes, OpenTelemetry) continua sendo o padrão da indústria.

Os capítulos sobre teste e CI/CD merecem destaque especial — eles fornecem receitas prontas que podem ser imediatamente implementadas em qualquer projeto. O livro ensina não apenas a escrever código, mas a pensar no sistema como um todo: desde os requisitos até a operação.

Para quem é recomendado

Recomendo este livro a todos que desejam fazer a transição de escrever "scripts" em Go para criar sistemas industriais. Será útil tanto para desenvolvedores individuais quanto para equipes que estão implementando Go em produção. Se você já leu «The Go Programming Language» ou «Concurrency in Go» e quer ir além — este livro será um excelente próximo passo.

No site PythonLib, o livro está disponível para consulta.

Recommendations