
Привет, Хабр! Пару лет назад мы уже выпускали подборку книг, подкастов и других ресурсов для изучения языка программирования Go. За это время коллекция полезных материалов подросла, и пришло время поделиться продолжением.
Сохраняйте себе и отправляйте коллегам — пригодится как новичкам, так и опытным специалистам.
Джон Боднер. Go: идиомы и паттерны проектирования

Отличная книга для того, чтобы начать знакомство с Go с нуля. Автор объясняет все от простого к сложному — от основ языка до знакомства с дженериками. В каждой главе приводится много примеров, которые можно быстро переписать самостоятельно и таким образом изучить, как работает код.
Изучение Go через TDD на Gitbook
Если учиться по классической схеме для вас скучно, есть вариант разобраться в Go с помощью методологии TDD (test-driven development или разработка через тестирование). Суть в том, чтобы сначала писать тесты, а уже потом код, который будет им соответствовать. Далее этот код можно оптимизировать.
Каждую тему вы будете изучать по схеме Red-Green-Refactor — пишете тест, запускаете, пишете код, делаете рефакторинг. В конце главы получаете рабочий код, покрытый тестами.
На этом ресурсе рассматриваются разные темы, начиная с базовых знаний языка, mocking, а также проекты с использованием WebSocket. Там же есть занимательная глава с антипаттернами при использовании TDD.
Где найти
Все материалы вы найдете по ссылке.
Мэтью А. Титмус. Облачный Go

Книга предназначена для тех, кто уже знаком с основами Go. В рамках нее вы будете шаг за шагом создавать распределенное key-value-хранилище, изучите работу с базами данных, с созданием современного CLI, научитесь использовать возможности feature флагов и многому другому.
Приятный бонус — легкий и доступный стиль подачи материала.
Katherine Cox-Buday. Concurrency in Go

Из названия понятно, что книга посвящена конкурентности в Go. Автор уделил много внимания вводной части, в рамках которой вы узнаете разницу между параллелизмом и конкурентностью. Также он объясняет закон Амдала и закон Мура, а еще почему конкурентность — это не просто и какие проблемы возникают при построении таких приложений.
Далее по книге вы встретите много примеров популярных паттернов, таких как Fan-In, Fan-Out, The or-channel, pipelines и так далее. В конце автор подробно расскажет, как в Go работает планировщик и как производится работа с goroutine на примерах.

Облачный сервер с криперами и порталом в Незер. Добывайте ресурсы, стройте объекты, исследуйте мир Selectel в Minecraft и получайте призы.
Ремзи Х. и Андреа К. Арпачи-Дюссо. Операционные системы. Три простых элемента

Книга не про Go, но, на мой взгляд, достаточно полезная для всех, кто интересуется информационными технологиями.
Это своего рода фундаментальный учебник по операционным системам. Авторы простым языком рассказывают путь их создания от старта до современных концепций. В тексте они часто используют диалоги, чтобы лучше преподнести материал читателю.
В конце каждой главы есть вопросы на подумать и практические упражнения, которые помогут отработать и закрепить материал. Они опираются на язык C, но ничто не мешает вам попробовать повторить все то же самое на Go.
YouTube-канал Николая Тузова
В своих видео Николай разбирает внутреннее устройство Go, при этом материал подается легко и доступным языком. Информацию сопровождают замечательные иллюстрации и примеры исходного кода с комментариями автора.
На канале также есть занимательные видео про интерфейсы, моки и дженерики, а еще уроки по практическим навыкам — работе с gRPC, созданию простого API сервера и многому другому. Очень рекомендую с ним ознакомиться.
Где найти
Все выпуски доступны по ссылке.
Блог Ardan Labs
В блоге находится целая кладезь знаний по Go — начиная c планировщика и godoc и заканчивая введением в генеративный ИИ. Есть много статей и видеоуроков.
Также авторы блога выпустили книгу, в которой вы найдете не только основы Go, но и продвинутые темы вроде профилирования, бенчмаркинга, стеков вызовов и дампов памяти. Еще в книге приводятся современные инженерные подходы и практические рекомендации, которые могут пригодится при решении разных задач.
Версия Go в книге — 1.18
Где найти
Блог Ardan Labs вы найдете по ссылке.
А какими источниками пользуетесь вы? Поделитесь в комментариях
Источник: https://habr.com/ru/companies/selectel/articles/929858/