Как стать автором
Обновить
0

CLRium #7: Доклады, практика, менторы

Время на прочтение3 мин
Количество просмотров2.1K

18 апреля 2020 в Санкт-Петербурге и 16 мая в Москве пройдёт седьмая мини-конференция по платформе .NET CLRium #7. В этот раз мы будем и говорить и заниматься практикой многопоточного кода. Как и в прошлый раз, все доклады будут придерживаться единой линии повествования. В шестом CLRium мы поднаторели в теории и узнали много нового относительно планировщика потоков, блокировок и неблокирующих алгоритмов. В платформе .NET изучили контексты синхронизации, планировщики задач, как работают сами задачи, async/await и типичные ошибки при его использовании… Мы изучили вообще всё, чтобы уверенно начать заниматься практическими задачами.


В CLRium #7 мы перейдём к практике. Наша программа, наконец, окончательно готова: мы разработали матрицу докладов, которые построены так, что последующие доклады логически вытекают из предыдущих. А кроме самих докладов по желанию будет дана практическая работа на дом, в рамках которой вы приобретете опыт работы над задачами совместно: группами по несколько человек (контролируемых координатором).



При планировании семинара мы решили пойти на эксперимент: ввести полноценную практику. Ведь можно долго рассуждать, как заниматься распараллеливанием алгоритмов, но так и не начать этого делать. С одной стороны — страшно, а с другой — не было задач чтобы было понимание, можно это распараллелить или нет. Поэтому линия нашего семинара будет такова:


Архитектурный блок докладов:


  1. Мы начнём с самого высокого уровня: архитектуры системы в общем. С высоты птичьего полёта будем учиться принимать решения самого верхнего уровня. Что — параллелить известными решениями типа RabbtMQ, а что — самостоятельно. Будем решать вопросы с точки зрения архитектуры;
  2. Далее мы будем учиться предсказывать производительность кода если мы всё-таки решимся делать код многопотоным. Согласитесь: важно иметь точное представление о конечном результате прежде чем бросаться что-либо делать;
  3. После того как мы разработали наши алгоритмы, необходимо обрести понимание того, что мы получили: проанализировать производительность нашего кода. Протестировать его. Обучением этого мы и займемся в рамках третьего доклада;
  4. Следующий вопрос — научиться видеть решение в задаче. Т.е. по самой задаче уже примерно понимать, как мы будем параллелить наш код. Этого можно достичь изучив ряд существующих решений: в некотором смысле шаблонов, при помощи которых можно легко получить готовое решение из постановки задачи;

Блок докладов, посвященный синхронизациям


  1. Разобравшись с архитектурными вопросами, мы начнём погружаться в разработку стратегий работы с блокировками. Блокировки важны и их понимание приведёт вас к высокопроизводительному коду;
  2. Практика разработки и анализа неблокирующих алгоритмов — наша следующая тема. Работая в паре, блокирующие и неблокирующие алгоритмы дадут вам максимальную загрузку процессора наиболее полезными расчётами;

Инструментарий


  1. В докладе "Работа в модели async/await: полностью и частично-асинхронный код" мы ответим на многие вопросы, которые пугают разработчика: как архитектурно правильно стартовать async/await код? Если библиотека или какой-либо код используют async/await, что делать вызывающему? Все вызывающие делать async? Как это остановить? И многие другие.
  2. Также мы раскроем вопросы использования библиотеки Rx.NET: linq-like библиотеке обработки потоковых данных (например, обработка сообщений. В т.ч. от UI). Мощнейшая библиотека, в неопытных руках становящаяся оружием массового поражения кода… Но в руках знающих — сверхинструментарием, позволяющем решать задачи в очень короткий срок.
  3. И последняя тема — наконец-то вышедшая в свет библиотека JetBrains.Lifetimes. Я немного об этом говорил ранее. Но теперь можно рассказать во-первых намного подробнее, а во-вторых — в многопоточной среде.

Программа семинара получилась законченной и если учесть практику, фактически стала обучающим курсом по теме многопоточки в среде .NET.


Контакты


Теги:
Хабы:
+14
Комментарии0

Публикации

Изменить настройки темы

Информация

Сайт
clrium.ru
Дата регистрации
Дата основания
Численность
1 человек (только я)
Местоположение
Россия
Представитель
Stanislav Sidristij

Истории