Программирование [Dometrain] Глубокий курс C# для разработчиков: компиляция и CLR

Регистрация
7 Апр 2025
Сообщения
10,778
Реакции
81
Автор: Dometrain​
Название: Глубокий курс C# для разработчиков: компиляция и CLR​

cover.jpg

Продолжительность: 3 ч 27 мин Количество уроков: 146 Видео Язык: Английский Вес архива: 1,22 ГБ


Этот курс создан для разработчиков, которые хотят выйти за рамки обычного владения C# и глубоко понять, как работает код под капотом. Вы изучите механизмы компиляции, работу CLR, управление памятью и внутреннюю структуру языковых конструкций, чтобы писать быстрые, оптимизированные и предсказуемые приложения.

Что вы изучите в первой части курса

Первая часть посвящена тому, как ваш C#-код превращается в исполняемое приложение и какие механизмы при этом задействуются. Вы разберете:

Компиляцию и таргетинг проектов

• этапы работы компилятора Roslyn;
• мульти-таргетинг и использование Target Framework Monikers (TFM);
• интеграцию PolySharp для применения новых возможностей языка в проектах на старых версиях.NET.

Устройство типов и управление памятью

Подробно рассматриваются различия между ссылочными и значимыми типами, включая:

• размещение объектов в памяти;
• модели передачи данных и их влияние на производительность;
• скрытые аллокации и копирования, которые часто остаются незамеченными.

Структуры, записи и особенности инициализации

Вы узнаете, как устроены сложные конструкции C# изнутри:

• работа конструкторов и порядок инициализации объектов;
• поведение struct и record под нагрузкой;
• boxing и способы его предотвращения;
• ловушки readonly-полей и сравнение значимых типов по значению;
• правильное использование ValueTuple и выявление скрытых аллокаций.

Продвинутые механизмы языка и поведение компилятора

Вторая часть курса посвящена анализу высокоуровневых конструкций и тому, во что они превращаются после компиляции.

Делегаты, лямбда-выражения и замыкания

Вы исследуете скрытые механизмы, такие как:

• создание вспомогательных классов для замыканий;
• аллокации, возникающие из-за лямбда-выражений;
• оптимизации, позволяющие уменьшить нагрузку на сборщик мусора.

Итераторы, машины состояний и LINQ

Курс научит анализировать:

• генерацию машин состояний для операторов yield;
• проблемы многократного перечисления коллекций;
• скрытые затраты, возникающие при использовании LINQ.

Оптимизация производительности и работа с данными

Заключительный блок посвящен тому, как добиться максимальной эффективности при обработке данных в C#.

Высокопроизводительный LINQ и современные подходы

• специализация по типам и устранение виртуализации;
• работа со Span и другими низкоуровневыми абстракциями;
• объединение итераторов и создание быстрого конвейера обработки данных;
• использование векторизации и быстрых путей выполнения.

После прохождения курса вы будете уверенно понимать, как C#-код работает на уровне компилятора и CLR, сможете анализировать любые языковые конструкции и создавать надежные, предсказуемые и высокопроизводительные приложения.

СКАЧАТЬ:
 📥 Скрытое содержимое! Войдите или Зарегистрируйтесь
 
10,840Темы
10,893Сообщения
787Пользователи
Ganna!Новый пользователь
Сверху