Практическая разработка программного обеспечения на Golang — Achilleas Anagnostopoulos — обложка книги
554 страниц
Go (Golang)
PDF
4.5

Практическая разработка программного обеспечения на Golang

Практическое руководство по Go и архитектуре ПО

Автор:

Год:

Краткое содержимое:

Введение

Книга «Hands-On Software Engineering with Golang» (2020, 554 стр.) авторства Ахиллеаса Анагностопулоса — это не очередное введение в синтаксис Go, а глубокое практическое руководство по построению сложных, масштабируемых и поддерживаемых программных систем на языке Go. В отличие от множества книг, фокусирующихся на основах, эта работа посвящена именно инженерным практикам: архитектуре, проектированию, тестированию, развёртыванию и мониторингу. Она идеально подходит для тех, кто уже знаком с Go и хочет перейти на уровень senior-разработчика или архитектора.

О чём книга

Книга построена вокруг разработки реального приложения — системы для анализа ссылок (link graph). На протяжении всех глав автор последовательно применяет принципы предметно-ориентированного проектирования (DDD), строит микросервисную архитектуру, использует gRPC для межсервисного взаимодействия, внедряет контейнеризацию (Docker, Kubernetes) и настраивает CI/CD-пайплайны. Каждая глава — это законченный этап, который можно сразу применить на практике.

Основные темы:

  • Архитектурные паттерны: DDD, CQRS, Event Sourcing, гексагональная архитектура.
  • Микросервисы: проектирование, коммуникация (gRPC, RabbitMQ), оркестрация.
  • Тестирование: unit, integration, end-to-end, property-based testing.
  • CI/CD: настройка пайплайнов, автоматическое тестирование и деплой.
  • Мониторинг и observability: логирование, метрики, трейсинг (OpenTelemetry).
  • Производительность: профилирование, бенчмаркинг, оптимизация.

Для кого эта книга

Книга рассчитана на Go-разработчиков с опытом (минимум 1-2 года), которые хотят углубиться в проектирование сложных систем. Она также будет полезна архитекторам, тимлидам и всем, кто переходит от написания простых утилит к построению production-grade приложений. Новичкам в Go книга может показаться сложной, так как автор не объясняет базовый синтаксис и предполагает знание языка.

Что узнает читатель

  • Как применять DDD для выделения bounded context и агрегатов.
  • Как строить микросервисы с использованием gRPC и асинхронных очередей.
  • Как реализовать CQRS и Event Sourcing на Go.
  • Как писать тесты разных уровней и использовать property-based testing.
  • Как контейнеризировать приложения и разворачивать их в Kubernetes.
  • Как настроить CI/CD с помощью GitHub Actions или GitLab CI.
  • Как профилировать и оптимизировать производительность Go-приложений.
  • Как внедрить observability: логирование, метрики (Prometheus) и трейсинг (Jaeger).

Сильные стороны

Главное достоинство книги — практическая направленность. Каждая концепция сразу подкрепляется кодом, который можно запустить и модифицировать. Автор не просто пересказывает теорию, а показывает, как принимать архитектурные решения и с какими компромиссами они связаны. Код на GitHub сопровождается подробными комментариями. Ещё один плюс — актуальность: книга вышла в 2020 году, и большинство подходов (gRPC, Kubernetes, OpenTelemetry) остаются стандартом индустрии.

Отдельно стоит отметить главы по тестированию и CI/CD — они дают готовые рецепты, которые можно сразу внедрить в любой проект. Книга учит не просто писать код, а думать о системе в целом: от требований до эксплуатации.

Кому рекомендуется

Рекомендую эту книгу всем, кто хочет перейти от написания «скриптов» на Go к созданию промышленных систем. Она будет полезна как индивидуальным разработчикам, так и командам, которые внедряют Go в production. Если вы уже прочитали «The Go Programming Language» или «Concurrency in Go» и хотите двигаться дальше — эта книга станет отличным следующим шагом.

На сайте PythonLib книга доступна для ознакомления. Учитывая её объём (554 стр.) и глубину, она может служить настольным справочником для Go-архитектора.

Рекомендаций