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

zaaixyw0jcqn7dmftzv_h3m_cnq.png


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

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



8htghnxd5y-wwxweef6mb6-3q3g.png


Андрей, cистемный администратор:

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


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

vufo-mhutquosknj5hy_vcyqwnm.png


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

Где найти


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

5wf6q551s0ig-eohrr6hibm19yo.png


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


am80a9k5zgbzc-er74encich-og.png


Абдулла, backend-разработчик:

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


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

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

Где найти


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

Канал The Art of Development


4wzckac9jabufdgnmhivpaj_gia.png


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

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


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

  • Уроки Golang — Advanced. Продвинутый курс про веб-серверы, REST API, СУБД, джейнерики, чистую архитектуру приложений на Go и другое.
  • Разработка системы заметок. Мини-гайд по разработке приложений на базе Python, Go и микросервисной архитектуре. Подходит для разработчиков, которые хотят «покорить» проектирование систем, контейнеры Docker, MongoDB, PostgreSQL и другое.
  • Что такое… за 200 секунд. Автор рассказывает «просто о сложном» в формате коротких видеороликов. Есть уже выпуски про Docker, nginx, микросервисы и Apache Kafka.


Где найти


Видео доступны по ссылке.

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


bmqidivhodcfo5hmakageq5_l3g.png


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

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


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

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


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

Где найти


Видео доступны по ссылке.

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


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


8htghnxd5y-wwxweef6mb6-3q3g.png


Андрей, cистемный администратор:

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


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

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

axhgm9y_ffirwbv3uwzgmieee2e.png


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

Где найти


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

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


bmqidivhodcfo5hmakageq5_l3g.png


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

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


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

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


Где найти


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

Возможно, эти подборки тоже вас заинтересуют:

→ 7 полезных книг по Python для старта и развития
→ 8 книг по PostgreSQL для новичков и профессионалов
→ Книги по MySQL: пособия для начинающих и продолжающих


Подкаст Go Get Podcast


8htghnxd5y-wwxweef6mb6-3q3g.png


Андрей, cистемный администратор:

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


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

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

wscyxvjkybramgurdwbjeq4bqd0.png


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

Где найти


Выпуски можно послушать по ссылке.

© Habrahabr.ru