Полезные ресурсы для погружения в Go: выбор сотрудников Selectel
Попросили коллег порекомендовать ресурсы — подкасты, ютуб-каналы, книги, блоги и GitHub-репозитории — для изучения языка программирования Go. Сохраняйте подборку в закладки: пригодится и начинающим, и опытным специалистам.
Зачастую достаточно простой документации — она структурная, емкая и понятная. Мы собрали эту подборку, чтобы было, чем разнообразить изучение Go.
Навигация по статье:
Книга «Язык программирования Go»
Этот справочник подходит для действующих разработчиков, новичкам советую изучить другие ресурсы. Также нужно учитывать, что книга вышла в 2016 году, и информация по работе с пакетами возможно устарела. Но с паттернами объектов, структурами и «внутрянкой» Go разобраться помогает.
Авторы, Go-инженер Алан Донован и информатик Брайан Керниган, написали полноценный справочник, подкрепленный интересными темами про устройство языка «изнутри». Среди них — теория тестирования на go-test, параллельные серверы и элементы низкоуровневого программирования с помощью cgo.
Где найти → книга доступна на сайте издательства. Также ее можно найти на полках российских магазинов.
Блог Дейва Чейни
Если 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-репозитория. Большая часть материалов переведена на русский язык.
Где найти → репозиторий доступен по ссылке.
Хотите стать частью нашей команды разработчиков? Следите за вакансиями на нашем сайте и в телеграм-канале.
Репозиторий go-videos-ru
Чаще всего годный материал на узкие темы — например, о проблемах и компиляторе Go, лайфхаках в разработке с ним — я встречаю на митапах. Люблю послушать коллег из Selectel, разработчиков Vk, Ozon и Avito.
Формат митапов хорош тем, что позволяет отвлечься от сухой теории и послушать профессионалов. Иногда они делают доклады на хардкорные темы — например, об устройстве Go «под капотом».
У нас тоже есть свой митап, посвященный Go. Если вам интересно послушать о наболевшем тимлида Go-разработчиков или узнать про проектирование масштабируемых приложений, посмотрите запись прошлогоднего события.
Где найти → наиболее полный список митапов есть в репозитории go-videos-ru.
Подкаст Go Get Podcast
Андрей
Познакомился с Go Get Podcast летом этого года. На данный момент доступны всего пять выпусков, но надеюсь, что скоро появятся новые.
Подкаст вышел в феврале 2022 года. На момент публикации есть пять выпусков на разные темы — от технических до soft skill-топиков. Но самое главное — гости, которых приглашают спикеры. Среди них — разработчики из Яндекс, VK, Тинькофф и Qredo.
Руководят всей «кухней» Golang-сеньоры в Lamoda Николай Тузов и Дмитрий Матрёничев, и технический директор в Gaijin Глеб Яльчик.
Темы выпусков Go Get Podcast 2022.
Где найти → выпуски можно послушать по ссылке.
Подпишитесь на блог Selectel, чтобы не пропустить новые обзоры книг, новости и кейсы из мира IT и технологий.
Читайте также:
Подборка хорошая 👍 хоть язык и Г(о)