О курсе
Многие книги и курсы по Go рассказывают о многозадачности в стиле «вот горутина, вот канал, вот select — используйте на свое усмотрение». Это не слишком полезно: ведь главное в concurrent-программировании не чистое знание, а понимание и умение применять.
Этот курс поможет освоить многозадачное программирование в Go на практических задачах. Они достаточно простые, чтобы решить одной страницей кода — и в то же время приближены к реальным рабочим задачам.
Пройдя курс, вы освоите:
- горутины и каналы;
- композицию и конвейеры;
- работу со временем;
- отмену операций через контекст;
- защиту от гонок;
- примитивы синхронизации;
- паттерны многозадачности;
- атомарные операции.
Курс рассчитан на программистов, которые уже знают основы Go: от базовых конструкций языка до интерфейсов и ошибок. Горутины и каналы при этом можно не знать — мы рассмотрим инструменты многозадачности с нуля.
Поскольку курс рассчитан на опытных программистов, я выбрал формат изложения, который предпочитаю сам: краткий, емкий, с заданиями средней сложности. Возможно, он понравится и вам.
Лекции письменные, видео нет. Я умею понятно объяснять сложные вещи, так что читать их приятно. Много примеров, нет сухой теории. В конце каждого модуля идет краткое резюме.
Курс интерактивный. Большинство упражнений можно выполнять прямо в браузере. По каждой задачке есть эталонное решение с разбором.
Если наберете 85% баллов — получите сертификат, 95% баллов — сертификат с отличием. Первый урок каждого модуля доступен бесплатно.
Используется версия Go 1.22.
P.S. Выпускникам курса «Go на практике» полагается скидка 50%. Промо-код в модуле «Итоги».
Начальные требования
Знание основ Go: от базовых конструкций языка до интерфейсов и ошибок.