1.8 KiB
1.8 KiB
План курса
TODO: когда планирование будет завершено, влить этот документ в README.md
.
TODO: разрешить все TODO в документе.
Структура
TODO: нормально разбить материал по занятиям. Сейчас всё не очень сбалансировано.
План занятий:
- История появления и развития Go как языка программирования.
- Виды параллелизма, связанные с параллелизмом проблемы и как мы решаем их в Go.
- Параллельно vs асинхронно.
- Параллелизм на уровне процессоров.
- Параллелизм через OS threads.
- OS threads дорогие => green threads и подобные.
- Проблема: data races.
- Проблема: deadlocks.
- Синхронизация.
- Параллелизм через CSP (в интерпретации Go).
- Каналы как примитив синхронизации.
- Параллельно vs асинхронно.
- Применение параллелизма.
- Написание веб-сервера на Go.
- Продвинутые паттерны в асинхронных приложениях.
- Отладка высокопараллельных программ, как уменьшить сложность системы.
Тестирование, профилирование и прочее, что важно для Go программистов, но напрямую не связано с темой параллелизма, лучше вынести в дополнительные материалы и/или домашние задания.