Запись

[Balun.Courses] Concurrency в Go. Тариф Стандарт (Владимир Балун)

Тема в разделе "Курсы по программированию"

Цена:
38900 руб
Взнос:
596 руб
Организатор:
Евражкa

Список участников складчины:

1. Евражкa
open
2
Записаться
  1. Евражкa Организатор складчин

    [Balun.Courses] Concurrency в Go. Тариф Стандарт (Владимир Балун)

    [​IMG]


    Ты закроешь 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

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх