[Stepik] Thank Go! Многозадачность в Golang [Антон Жиянов]

80

[Stepik] Thank Go! Многозадачность в Golang (Антон Жиянов)
Многие книги и курсы по Go рассказывают о многозадачности в стиле «вот горутина, вот канал, вот select — используйте на свое усмотрение». Это не слишком полезно: ведь главное в concurrent-программировании не чистое знание, а понимание и умение применять.
Этот курс поможет освоить многозадачное программирование в Go на практических задачах. Они достаточно простые, чтобы решить одной страницей кода — и в то же время приближены к реальным рабочим задачам.
Пройдя курс, вы освоите:
— горутины и каналы;
— композицию и конвейеры;
— работу со временем;
— отмену операций через контекст;
— примитивы синхронизации;
— паттерны многозадачности.
Курс рассчитан на программистов, которые уже знают основы Golang: от базовых конструкций языка до интерфейсов и ошибок. Горутины и каналы при этом можно не знать — мы рассмотрим инструменты многозадачности с нуля.
Поскольку курс рассчитан на опытных программистов, я выбрал формат изложения, который предпочитаю сам: краткий, емкий, с заданиями средней сложности. Возможно, он понравится и вам.
Лекции письменные, видео нет. Я умею понятно объяснять сложные вещи, так что читать их приятно. Много примеров, нет сухой теории. В конце каждого модуля идет краткое резюме.
Курс интерактивный. Большинство упражнений можно выполнять прямо в браузере. По каждой задачке есть эталонное решение с разбором.
Курс пока готов на 60%, будет закончен в 2023 году. Цена будет расти.
P.S. Если вы уже прошли курс «Go на практике», брать этот курс сейчас нет смысла. Дождитесь 100% готовности.
Начальные требования
Знание основ Golang: от базовых конструкций языка до интерфейсов и ошибок.
Наши преподаватели — Антон Жиянов
Разрабатываю опенсорс, веду курсы, пишу о программировании и данных.
С удовольствием пишу софт и топлю за здравый смысл в разработке и жизни. Победитель конкурса авторов Хабра в номинации «просто о сложном».
Программа курса
Основы многозадачности
1 О курсе
2 Горутины
3 Каналы 1
4 Каналы 2
5 Композиция
6 Время
7 Контекст
8 Резюме
Синхронизация
1 Группа ожидания
2 Гонки
3 Мьютексы
4 Пулы и события
5 Атомарные операции
6 Резюме
Финал
1 Итоги