Выгодная экономия
30 апреля
4 месяца
Онлайн
Пн/Чт 20:00 Мск
Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.
Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.
В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта.
После выполнения всех домашних заданий вы получите готовый выпускной проект.
Возможность совмещать учебу с работой
Индивидуальная разработка итоговой проектной работы
Получите знания, которые помогут повысить вашу востребованность и доход
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Чат в Telegram для общения преподавателей и студентов
В этом модуле мы спустимся на самый низкий уровень управляемого кода, чтобы взять под контроль главный ресурс — память. Вы научитесь писать код с минимальным количеством аллокаций, понимать и предсказывать поведение Сборщика мусора (GC), а не бороться с его последствиями. Мы освоим Span<T>, пулы памяти и другие инструменты, которые лежат в основе производительности всего современного .NET. После этого модуля вы будете смотреть на каждую строчку своего кода через призму аллокаций.
Тема 1: Организация памяти в .NET: Stack, Heap, LOH и GC
Тема 2: Сборщик мусора (GC) под микроскопом: поколения, режимы и тюнинг
Тема 3: Низкоуровневая работа с памятью: Span<T>, Memory<T>, stackalloc
Тема 4: Продвинутое управление памятью: ArrayPool<T> и MemoryPool<T>
Тема 5: Структуры на максималках: ref struct, readonly ref, in-параметры
Тема 6: Работа с неуправляемыми ресурсами: IDisposableAsync, SafeHandle, NativeMemory
Этот модуль посвящен созданию систем, способных выдерживать высокую нагрузку и эффективно утилизировать все ядра процессора. Мы начнём с проектирования сложных асинхронных конвейеров с помощью Channels и TPL Dataflow. Вы освоите продвинутые и lock-free примитивы синхронизации для написания потокобезопасного кода без блокировок. Кульминацией модуля станет разработка собственного высокопроизводительного TCP-сервера с нуля, что закрепит все полученные знания на практике.
Тема 1: Архитектура высоконагруженных систем: System Design на примере In-Memory кэша
Тема 2: System.IO.Pipelines: высокопроизводительная передача и обработка потоков данных
Тема 3: Каналы (System.Threading.Channels): современный асинхронный producer/consumer
Тема 4: Конвейеры обработки данных с TPL Dataflow
Тема 5: Продвинутые примитивы синхронизации: SemaphoreSlim, ReaderWriterLockSlim, ManualResetEventSlim
Тема 6: Lock-Free алгоритмы с Interlocked и Volatile
Тема 7: Теория: Высокопроизводительные TCP-серверы на System.Net.Sockets
Тема 8: Практикум: Пишем асинхронный TCP-сервер для кэша
В этом модуле мы превращаемся в «детективов производительности». Вы научитесь подходить к оптимизации системно: не гадать, а измерять. Мы освоим профессиональные инструменты (BenchmarkDotNet, dotnet-trace, dotnet-dump) для поиска реальных узких мест в CPU и памяти. Вы узнаете, как «договориться» со сборщиком мусора для минимизации пауз и как выжать максимум из процессора с помощью SIMD-векторизации. Этот модуль научит вас находить и устранять проблемы производительности, о существовании которых вы раньше могли даже не подозревать.
Тема 1: Профилирование CPU: BenchmarkDotNet и dotnet-trace
Тема 2: Профилирование памяти: dotnet-dump и dotMemory
Тема 3: Продвинутая отладка: анализ дампов памяти с WinDbg и SOS
Тема 4: Векторизация (SIMD): ускорение вычислений с System.Numerics
Тема 5: Практикум: Оптимизируем реальный код
Этот модуль — погружение в самое сердце компилятора и среды выполнения .NET. Вы узнаете, как ваш C# код превращается в машинные инструкции (JIT/AOT) и как можно влиять на этот процесс. Мы перейдем на следующий уровень абстракции и научимся писать код, который анализирует и генерирует другой код. Вы освоите мощь Expression Trees для создания динамических решений, а также Source Generators и Roslyn API — самые современные инструменты метапрограммирования, позволяющие автоматизировать рутину и достигать максимальной производительности.
Тема 1: JIT и AOT компиляция: ReadyToRun и NativeAOT
Тема 2: Анализ кода с Roslyn API: пишем свой анализатор
Тема 3: Генерация кода с Source Generators
Тема 4: Практикум: Пишем высокопроизводительный сериализатор с Source Generators
Заключительный модуль курса вооружит вас самыми современными и востребованными на рынке инструментами и подходами. Мы изучим реактивное и функциональное программирование для написания более надежного и выразительного кода. Вы научитесь обеспечивать безопасность приложений с помощью криптографии и внедрять полноценный мониторинг через OpenTelemetry. Мы заглянем в будущее и сделаем первые шаги в интеграции AI с помощью Semantic Kernel. Этот модуль готовит вас не просто как технического эксперта, а как специалиста, готового к решению самых актуальных задач.
Тема 1: OpenTelemetry: современный стандарт наблюдаемости
Тема 2: Нагрузочное тестирование: проверка вашего кода на прочность
Тема 3: Безопасная разработка (Secure Coding): защита от атак и уязвимостей
Тема 4: Криптография в .NET: шифрование, хеширование, подписи
Тема 5: Введение в AI для .NET: Semantic Kernel
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
OTUS осуществляет лицензированную образовательную деятельность.
Вы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.
Стоимость в рассрочку