![[Balun.Courses] Concurrency в Go. Тариф Стандарт (Владимир Балун)](https://poisk-kursov.com/img/27f8546e-ce39-407d-891e-3faa8fa9cbe0.png)
Курс
[Balun.Courses] Concurrency в Go. Тариф Стандарт (Владимир Балун)
2 550 ₽
О курсе
Ты закроешь 95% вопросов по concurrency:
Получишь глубокие знания и изучишь «подкапотную» Concurrency в GO для работы в крупных проекта
Научишься писать параллельный код и разбираться в нем
Изучишь множество паттернов использования параллельного программирования
Попрактикуешься на реальных задачах, которые уже встречались или встретятся в рабочих проектах
Разработаешь свою In-memory key-value базу данных c WAL-ом, снэпшотами и асинхронной репликацией
Научишься решать задачи по Concurrency, которые встречаются на собеседованиях по Go
Разработаешь свою In-memory key-value базу данных с асинхронной репликацией, которая станет сильным портфолио при трудоустройстве, мощной практикой для реальных проектов и убедительным подтверждением навыков для повышения ответственности и уровня ЗП на работе
Ты получишь целый список учебников, статей, курсов и видео, которые позволят тебе изучать Concurrency после курса еще дальше и глубже
Программа курса:
1.
Основы исполнения программного кода
Pipeline процессора
Устройство процессора и шина
Кэши процессора, когерентность кэша (MESI), false sharing, store bufer, invalidation queue
Виртуальная память (MMU, TLB, swapping)
Алгоритмы планирования (FCFS, SJN, RR)
Процессы и потоки
Context switching
Hyper-threading
Сопрограммы
Результат:
понимаешь, как выполняется код в рамках архитектуры компьютера и операционной системы
2. Горутины и планировщик GO
Внутреннее устройство горутины
Внутреннее устройство планировщика Go
Work sharing и work stealing
Результат:
разбираешься во внутреннем устройстве горутин и планировщика GO, а также начинаешь понимать Concurrency модель в Go
3. Примитивы синхронизации: часть 1
Примитивы синхронизации (sync.WaitGroup, sync. Mutex, sync. Once)
Проблемы конкурентного программирования (deadlock, livelock, data race, starvation)
Внутреннее устройство mutex
Go race detector
Результат:
понимаешь, как синхронизировать конкурентный код при помощи примитивов синхронизации, а также знакомишься с основными проблемами конкурентного программирования
4. Примитивы синхронизации: часть 2
Примитивы синхронизации (sync.RWMutex, sync. Map, sync. Cond, sync. Pool, sync. atomic)
Реализация (spinlock, recursive mutex, timed mutex, rw mutex, once)
Cache contention
Результат:
знакомишься с дополнительными примитивами синхронизации и знаешь, как писать свои, в случае необходимости
5. Каналы и их внутреннее устройство
Буферизованные и небуферизованные каналы
Однонаправленные каналы
Внутреннее устройство каналов
Share memory by communicating
Producer and consumer
Gracefull Shutdown
Результат:
разбираешься во внутреннем устройстве каналов и понимаешь, зачем они нужны в Go
6. Паттерны использование каналов
Promise and Future
Fan-In and Fan-Out
Generator
Error group
Pipeline
Cancelation
Or channel
Bridge
Результат:
понимаешь, где и как использовать каналы в GO
7. Контексты и модели памяти
Контексты (TODO, Background, WithCancel, WithCancelCause, WithDeadline, WithTimeout, WithValue)
Внутреннее устройство контекстов
Gracefull shutdown
Модели памяти (sequential, acquire/release, releaxed)
Memory reordering
Барьеры памяти
Результат:
знаешь контексты и понимаешь, как правильно их использовать в GO, а также дополнительно знакомишься с моделью памяти в Go
8. Алгоритмы синхронизации и lock-free структуры данных
Шардированная map
Алгоритмы синхронизации (грубая, тонкая)
Lock-free структуры данных (stack, queue)
Линеаризуемость
ABA проблема
Результат:
знаешь нетривиальные алгоритмы синхронизации структур данных, а также понимаешь, как писать конкурентный код без блокировок
9. Практическое использование конкурентных вычислений
Реализация worker pool (fixed и dynamic)
Реализация cache synchronization
Реализация scheduler
Реализация batcher
Результат:
ты самостоятельно прорешал(-а) реальные задачи, с которыми сталкивались современные IT-компании, и полностью готов(-а) применять все знания на практике в настоящих проектах
ты готов(-а) к решению задач на собеседовании по GO
balun.coursesconcurrencypipeline процессораалгоритмы планированиявладимир балун
Похожие курсы

[Balun.courses] Глубокий Go — нюансы и тонкости языка за 2 месяца. Тариф Стандарт (Владимир Балун)
1 980 ₽
[Balun.Courses] Дженерики в Golang (Владимир Балун)
936 ₽
Быстрая подготовка к собеседованию по Golang. Тариф Стандарт (Владимир Балун)
1 860 ₽
[balun.courses] Каналы в golang: тонкости и нюансы (Владимир Балун)
1 300 ₽Похожие курсы

[Balun.courses] Глубокий Go — нюансы и тонкости языка за 2 месяца. Тариф Стандарт (Владимир Балун)
1 980 ₽
[Balun.Courses] Дженерики в Golang (Владимир Балун)
936 ₽
Быстрая подготовка к собеседованию по Golang. Тариф Стандарт (Владимир Балун)
1 860 ₽
[balun.courses] Каналы в golang: тонкости и нюансы (Владимир Балун)
1 300 ₽