Полезные ресурсы для погружения в Go: выбор сотрудников Selectel

Попросили коллег порекомендовать ресурсы — подкасты, ютуб-каналы, книги, блоги и GitHub-репозитории — для изучения языка программирования Go. Сохраняйте подборку в закладки: пригодится и начинающим, и опытным специалистам.

Зачастую достаточно простой документации — она структурная, емкая и понятная. Мы собрали эту подборку, чтобы было, чем разнообразить изучение Go.

Навигация по статье:

Книга «Язык программирования Go»

Андрей
Системный администратор

Этот справочник подходит для действующих разработчиков, новичкам советую изучить другие ресурсы. Также нужно учитывать, что книга вышла в 2016 году, и информация по работе с пакетами возможно устарела. Но с паттернами объектов, структурами и «внутрянкой» Go разобраться помогает.

Авторы, Go-инженер Алан Донован и информатик Брайан Керниган, написали полноценный справочник, подкрепленный интересными темами про устройство языка «изнутри». Среди них — теория тестирования на go-test, параллельные серверы и элементы низкоуровневого программирования с помощью cgo.

Фрагмент из книги «Язык программирования Go».
Фрагмент из книги «Язык программирования Go».

Где найти → книга доступна на сайте издательства. Также ее можно найти на полках российских магазинов.

Блог Дейва Чейни

Абдулла
Backend-разработчик

Если Android-разработчики во время раздумий задают себе вопрос «What would Jake do?», то Go-разработчики должны спрашивать себя, как поступил бы Дейв Чейни.

В своем блоге Дейв рассказывает об особенностях Go — от обработки ошибок до инструментов конкурентного программирования. Особенно интересны рассказы автора о ценностях языка и о том, как им следовать.

Если уже разбираетесь в Go, но вам интересно познакомиться со стилем Дейва, почитайте его статью о SOLID.

Где найти → все материалы Дейв публикует на своем сайте.

Канал The Art of Development

Михаил
Архитектор в отделе администрирования сервисов

Видеоролики на канале грамотно «разбиты» по темам — с примерами кода и нюансами работы от опытного специалиста Артура Карапетова. На старте этот ресурс помог мне закрепить знания. Но рекомендую параллельно практиковаться, например, с помощью онлайн-курсов.

На канале есть материалы как для продвинутых, так и для начинающих Go-разработчиков. Вот несколько «универсальных» плейлистов:

  • Уроки Golang – Advanced. Продвинутый курс про веб-серверы, REST API, СУБД, джейнерики, чистую архитектуру приложений на Go и другое.

  • Разработка системы заметок. Мини-гайд по разработке приложений на базе Python, Go и микросервисной архитектуре. Подходит для разработчиков, которые хотят «покорить» проектирование систем, контейнеры Docker, MongoDB, PostgreSQL и другое.

Теперь в Selectel доступны специальные версии PostgreSQL (с 10 по 14). Они позволяют использовать их как основную базу данных для 1С. Это хорошая альтернатива серверу MSSQL.

  • Что такое … за 200 секунд. Автор рассказывает «просто о сложном» в формате коротких видеороликов. Есть уже выпуски про Docker, nginx, микросервисы и Apache Kafka.

Где найти → видео доступны по ссылке.

Канал Максима Жашкевича

Валентин
Младший разработчик

Как и The Art of Development, канал Максима Жашкевича отлично подходит для старта в Go. Мне понравились видео про горутины и context, а также плейлист о реализации REST-сервера.

На канале автора — несколько плейлистов для начинающих и продвинутых разработчиков.

  • Разработка & Язык Go. Основы языка в одном видео, работа с интерфейсами, unit-тестирование, горутины, потоки, основы Docker и основы баз данных.
  • REST API на Go. Работа с фреймворком Gin Web, общая теория по структуре приложений и взаимодействию с базами данных, знакомство с Docker и другое.
  • Telegram Бот на Golang. Архитектура бота и API, обработка ошибок, основы работы с BoltDB и другое.

Кроме видео на технические темы, автор рассказывает, как прокачать свои soft skills для эффективной работы в IT.

Где найти → видео доступны по ссылке.

Гайд по написанию кода от Uber

Андрей

Системный администратор

Все best practices по написанию программ в одном месте. Удобно, что есть не только примеры «хорошего» кода, но и антипаттерны. Вместе с ними — грамотные объяснения, почему не стоит использовать ряд подходов при проектировании программ.

В комментариях под прошлой подборкой один из читателей отметил, что листинги с кодом в книгах неудобны. Отчасти это правда: если автор не оставляет ссылку на GitHub, желание переписывать примеры пропадает. Но что, если разместить всю теорию с примерами в одном репозитории?

Так и поступили разработчики из Uber: они подготовили гайд по написанию кода и оформили его внутри GitHub-репозитория. Большая часть материалов переведена на русский язык.

Фрагмент из Uber Go. Демонстрация паттернов и антипаттернов.
Фрагмент из Uber Go. Демонстрация паттернов и антипаттернов.

Где найти → репозиторий доступен по ссылке.

Хотите стать частью нашей команды разработчиков? Следите за вакансиями на нашем сайте и в телеграм-канале.

Репозиторий go-videos-ru

Валентин
Младший разработчик

Чаще всего годный материал на узкие темы — например, о проблемах и компиляторе Go, лайфхаках в разработке с ним — я встречаю на митапах. Люблю послушать коллег из Selectel, разработчиков Vk, Ozon и Avito.

Формат митапов хорош тем, что позволяет отвлечься от сухой теории и послушать профессионалов. Иногда они делают доклады на хардкорные темы — например, об устройстве Go «под капотом».

Доклад Антона Сергеева, «Go под капотом».

У нас тоже есть свой митап, посвященный Go. Если вам интересно послушать о наболевшем тимлида Go-разработчиков или узнать про проектирование масштабируемых приложений, посмотрите запись прошлогоднего события.

Где найти → наиболее полный список митапов есть в репозитории go-videos-ru.

Подкаст Go Get Podcast

Андрей

Системный администратор

Познакомился с Go Get Podcast летом этого года. На данный момент доступны всего пять выпусков, но надеюсь, что скоро появятся новые.

Подкаст вышел в феврале 2022 года. На момент публикации есть пять выпусков на разные темы — от технических до soft skill-топиков. Но самое главное — гости, которых приглашают спикеры. Среди них — разработчики из Яндекс, VK, Тинькофф и Qredo.

Руководят всей «кухней» Golang-сеньоры в Lamoda Николай Тузов и Дмитрий Матрёничев, и технический директор в Gaijin Глеб Яльчик.

<p>Темы выпусков Go Get Podcast 2022.</p>

Темы выпусков Go Get Podcast 2022.

Где найти → выпуски можно послушать по ссылке.

Подпишитесь на блог Selectel, чтобы не пропустить новые обзоры книг, новости и кейсы из мира IT и технологий.

Читайте также:

2222
1 комментарий

Подборка хорошая 👍 хоть язык и Г(о)

1