Содержание курса
1. Модуль 1. Внутренности .NET и CLR
8 уроков
2
0
0м
0
Открытый
1.1
Что такое CLR: устройство, JIT, AOT, Tiered Compilation
↗
0
0
-
0
Открытый
1.2
IL и JIT: путь от метода к нативному коду
↗
0
0
-
0
Открытый
1.3
Сборки, метаданные и формат PE
↗
0
0
-
0
Открытый
1.4
AssemblyLoadContext: загрузка, выгрузка и плагины
↗
0
0
-
0
Открытый
1.5
Garbage Collector: поколения, LOH, паузы
↗
0
0
-
0
Открытый
1.6
Исключения: устройство, стоимость, паттерны
↗
0
0
-
0
Открытый
1.7
Value types, reference types и boxing
↗
1
0
-
0
Открытый
1.8
Итоговая практика: мини runtime-инспектор
↗
1
0
-
0
2. Модуль 2. Память: Span, Memory, ArrayPool, ref struct
8 уроков
0
0
0м
0
Открытый
2.1
Span и ReadOnlySpan: безопасный взгляд в память
↗
0
0
-
0
Открытый
2.2
Memory, IMemoryOwner и MemoryPool
↗
0
0
-
0
Открытый
2.3
ArrayPool: переиспользование массивов
↗
0
0
-
0
Открытый
2.4
ref struct, ref-параметры и ref-возвраты
↗
0
0
-
0
Открытый
2.5
stackalloc, unsafe и fixed
↗
0
0
-
0
Открытый
2.6
Строки, StringBuilder, string.Create
↗
0
0
-
0
Открытый
2.7
IBufferWriter и System.IO.Pipelines
↗
0
0
-
0
Открытый
2.8
Итоговая практика: быстрый CSV-парсер
↗
0
0
-
0
3. Модуль 3. Асинхронность глубоко: async, Task, ValueTask
8 уроков
1
0
0м
0
Открытый
3.1
Как устроено async/await: state machine изнутри
↗
0
0
-
0
Открытый
3.2
Task vs ValueTask: когда какой использовать
↗
0
0
-
0
Открытый
3.3
SynchronizationContext и ConfigureAwait
↗
0
0
-
0
Открытый
3.4
CancellationToken и правильная отмена операций
↗
0
0
-
0
Открытый
3.5
IAsyncEnumerable: асинхронные потоки
↗
0
0
-
0
Открытый
3.6
Кастомные awaitable: пишем свой await
↗
0
0
-
0
Открытый
3.7
Композиция задач: WhenAll, WhenAny, Task.Run
↗
0
0
-
0
Открытый
3.8
Итоговая практика: rate-limited клиент к внешнему API
↗
1
0
-
0
4. Модуль 4. Многопоточность: TPL, lock-free, Channel
8 уроков
0
0
0м
0
Открытый
4.1
Threads, ThreadPool и TaskScheduler
↗
0
0
-
0
Открытый
4.2
lock, Monitor и борьба с deadlock
↗
0
0
-
0
Открытый
4.3
Interlocked, volatile и memory model
↗
0
0
-
0
Открытый
4.4
ReaderWriterLockSlim, SemaphoreSlim, AsyncLocal
↗
0
0
-
0
Открытый
4.5
Channel: producer-consumer на стероидах
↗
0
0
-
0
Открытый
4.6
Parallel.ForEachAsync, PLINQ, Concurrent коллекции
↗
0
0
-
0
Открытый
4.7
Продвинутая синхронизация: Lazy, Barrier, CountdownEvent
↗
0
0
-
0
Открытый
4.8
Итоговая практика: многопоточный crawler
↗
0
0
-
0
5. Модуль 5. Reflection, Expression Trees, Source Generators
8 уроков
0
0
0м
0
Открытый
5.1
Reflection: типы, методы, атрибуты, кэширование
↗
0
0
-
0
Открытый
5.2
Expression Trees: код как данные
↗
0
0
-
0
Открытый
5.3
Атрибуты: декларативные метаданные
↗
0
0
-
0
Открытый
5.4
Source Generators: генерация кода в compile-time
↗
0
0
-
0
Открытый
5.5
Roslyn API: SyntaxTree, SemanticModel, Symbols
↗
0
0
-
0
Открытый
5.6
Пишем собственный Source Generator
↗
0
0
-
0
Открытый
5.7
dynamic, DLR и ExpandoObject
↗
0
0
-
0
Открытый
5.8
Итоговая практика: мини-маппер DTO в трёх вариантах
↗
0
0
-
0
6. Модуль 6. Производительность и профилирование
18 уроков
0
0
0м
0
Открытый
6.1
Методология измерений: правильный подход
↗
0
0
-
0
Открытый
6.2
BenchmarkDotNet: стандарт замеров в .NET
↗
0
0
-
0
Открытый
6.3
dotnet-counters, dotnet-trace, dotnet-dump
↗
0
0
-
0
Открытый
6.4
6.3 dotnet-counters и мониторинг рантайма
↗
0
0
-
0
Открытый
6.5
6.3 dotnet-counters и мониторинг рантайма
↗
0
0
-
0
Открытый
6.6
6.3 dotnet-counters и мониторинг рантайма
↗
0
0
-
0
Открытый
6.7
JIT-оптимизации и подсказки JIT
↗
0
0
-
0
Открытый
6.8
JIT-оптимизации и подсказки JIT
↗
0
0
-
0
Открытый
6.9
JIT-оптимизации и подсказки JIT
↗
0
0
-
0
Открытый
6.10
6.4 dotnet-trace и профилирование CPU
↗
0
0
-
0
Открытый
6.11
Снижение аллокаций: практические приёмы
↗
0
0
-
0
Открытый
6.12
6.5 Профилирование памяти и анализ дампов
↗
0
0
-
0
Открытый
6.13
6.6 JIT оптимизации: inlining, devirtualization, PGO
↗
0
0
-
0
Открытый
6.14
Диагностика памяти: утечки, фрагментация, LOH
↗
0
0
-
0
Открытый
6.15
6.7 Паттерны оптимизации и анти-паттерны
↗
0
0
-
0
Открытый
6.16
CPU-профилирование: flame graph и SpeedScope
↗
0
0
-
0
Открытый
6.17
6.8 Итоговая практика: оптимизация реального сервиса
↗
0
0
-
0
Открытый
6.18
Итоговая практика: оптимизация парсера логов
↗
0
0
-
0
7. Архитектура: Clean, DDD, CQRS, Event Sourcing
8 уроков
0
0
0м
0
Открытый
7.1
7.1 SOLID и Clean Architecture на практике
↗
0
0
-
0
Открытый
7.2
7.2 Domain-Driven Design: тактические паттерны
↗
0
0
-
0
Открытый
7.3
7.3 Bounded Contexts и Context Map
↗
0
0
-
0
Открытый
7.4
7.4 CQRS: разделение команд и запросов
↗
0
0
-
0
Открытый
7.5
7.5 Event Sourcing: история как источник истины
↗
0
0
-
0
Открытый
7.6
7.6 MediatR и Pipeline Behaviors
↗
0
0
-
0
Открытый
7.7
7.7 Vertical Slice Architecture
↗
0
0
-
0
Открытый
7.8
7.8 Итоговая практика: сервис книжного магазина
↗
0
0
-
0
8. Модуль 7. Архитектура: Clean Architecture, DDD, CQRS
8 уроков
0
0
0м
0
Открытый
8.1
Эволюция архитектур: layered, hexagonal, Clean Architecture
↗
0
0
-
0
Открытый
8.2
DDD: entities, value objects, aggregates
↗
0
0
-
0
Открытый
8.3
Repository и Unit of Work: когда нужны и когда нет
↗
0
0
-
0
Открытый
8.4
CQRS: разделение чтения и записи
↗
0
0
-
0
Открытый
8.5
Event Sourcing: состояние как лента событий
↗
0
0
-
0
Открытый
8.6
Outbox pattern: надёжная публикация событий
↗
0
0
-
0
Открытый
8.7
Bounded Contexts и Anti-corruption Layer
↗
0
0
-
0
Открытый
8.8
Итоговая практика: проектирование mini-CRM
↗
0
0
-
0
9. Микросервисы: gRPC, MassTransit, Saga, Outbox
8 уроков
0
0
0м
0
Открытый
9.1
8.1 Микросервисы: когда, зачем и какого размера
↗
0
0
-
0
Открытый
9.2
8.2 gRPC: контракт, стримы, версионирование
↗
0
0
-
0
Открытый
9.3
8.3 Message brokers и MassTransit
↗
0
0
-
0
Открытый
9.4
8.4 Outbox Pattern: атомарность БД и брокера
↗
0
0
-
0
Открытый
9.5
8.5 Saga Pattern: оркестрация распределённых процессов
↗
0
0
-
0
Открытый
9.6
8.6 Resilience: timeout, retry, circuit breaker
↗
0
0
-
0
Открытый
9.7
8.7 Observability: логи, метрики, distributed tracing
↗
0
0
-
0
Открытый
9.8
8.8 Итоговая практика: маркетплейс из трёх сервисов
↗
0
0
-
0
10. Модуль 8. Микросервисы и распределённые системы
8 уроков
0
0
0м
0
Открытый
10.1
Когда нужны микросервисы и когда вредят
↗
0
0
-
0
Открытый
10.2
gRPC в .NET: типизированный RPC
↗
0
0
-
0
Открытый
10.3
MassTransit и RabbitMQ: pub-sub
↗
0
0
-
0
Открытый
10.4
Saga: распределённые транзакции с компенсациями
↗
0
0
-
0
Открытый
10.5
Distributed tracing и OpenTelemetry
↗
0
0
-
0
Открытый
10.6
Resilience: Polly, retry, circuit breaker
↗
0
0
-
0
Открытый
10.7
API Gateway и BFF: фасад для внешнего мира
↗
0
0
-
0
Открытый
10.8
Итоговая практика: распределённая система оформления заказа
↗
0
0
-
0
11. Безопасность: аутентификация, OWASP, защита API
8 уроков
0
0
0м
0
Открытый
11.1
9.1 Аутентификация и авторизация: JWT, OAuth, Policy
↗
0
0
-
0
Открытый
11.2
9.2 OWASP Top 10 в .NET-приложениях
↗
0
0
-
0
Открытый
11.3
9.3 Криптография в .NET: AES, HMAC, ECDSA
↗
0
0
-
0
Открытый
11.4
9.4 Защита API: rate limiting, CORS, CSRF, headers
↗
0
0
-
0
Открытый
11.5
9.5 Управление секретами: User Secrets, Vault, ротация
↗
0
0
-
0
Открытый
11.6
9.6 Secure SDLC: threat modeling и security pipeline
↗
0
0
-
0
Открытый
11.7
9.7 Безопасность контейнеров и Kubernetes
↗
0
0
-
0
Открытый
11.8
9.8 Итоговая практика: security audit и hardening
↗
0
0
-
0
12. Модуль 9. Безопасность .NET-приложений
7 уроков
0
0
0м
0
Открытый
12.1
OWASP Top 10 в контексте .NET
↗
0
0
-
0
Открытый
12.2
Аутентификация: JWT и cookies
↗
0
0
-
0
Открытый
12.3
Авторизация: роли, политики, requirements
↗
0
0
-
0
Открытый
12.4
OAuth 2.0 и OpenID Connect: SSO без своей crypto
↗
0
0
-
0
Открытый
12.5
ASP.NET Data Protection и криптография
↗
0
0
-
0
Открытый
12.6
XSS, CSRF, security headers
↗
0
0
-
0
Открытый
12.7
Secret management: где хранить секреты
↗
0
0
-
0
13. Капстон-проект: финальная сборка
8 уроков
1
0
0м
0
Открытый
13.1
10.1 Постановка задачи и архитектура верхнего уровня
↗
0
0
-
0
Открытый
13.2
10.2 Инфраструктура и общая обвязка сервисов
↗
0
0
-
0
Открытый
13.3
10.3 Сервис Identity и общая аутентификация
↗
0
0
-
0
Открытый
13.4
10.4 Сервис Orders: DDD + Event Sourcing + CQRS
↗
1
0
-
0
Открытый
13.5
10.5 Сервис Catalog: товары, поиск, резерв остатков
↗
0
0
-
0
Открытый
13.6
10.6 API Gateway: маршрутизация, auth, rate limiting
↗
0
0
-
0
Открытый
13.7
10.7 Observability: OTel, Serilog, метрики, алерты
↗
0
0
-
0
Открытый
13.8
10.8 Деплой, CI/CD и финальный обзор системы
↗
0
0
-
0
14. Модуль 10. Данные и EF Core: оптимизация и продвинутые сценарии
8 уроков
0
0
0м
0
Открытый
14.1
10.1 Модели и DbContext
↗
0
0
-
0
Открытый
14.2
10.2 Change Tracker и состояния сущностей
↗
0
0
-
0
Открытый
14.3
10.3 Query Pipeline и план выполнения
↗
0
0
-
0
Открытый
14.4
10.4 Оптимизация запросов: N+1, Split Query, проекции
↗
0
0
-
0
Открытый
14.5
10.5 Миграции, схема, конкурентные изменения
↗
0
0
-
0
Открытый
14.6
10.6 Interceptors, Value Converters, Owned Types
↗
0
0
-
0
Открытый
14.7
10.7 Compiled Queries, AsNoTracking, кэширование
↗
0
0
-
0
Открытый
14.8
10.8 Итоговая практика: профилирование и оптимизация EF Core
↗
0
0
-
0
15. Модуль 11. Production: Observability, диагностика, надёжность
8 уроков
0
0
0м
0
Открытый
15.1
11.1 Структурное логирование: Serilog, ILogger, scope
↗
0
0
-
0
Открытый
15.2
11.2 Метрики: System.Diagnostics.Metrics, Prometheus
↗
0
0
-
0
Открытый
15.3
11.3 Distributed Tracing: OpenTelemetry, Activity, W3C
↗
0
0
-
0
Открытый
15.4
11.4 Health Checks и readiness/liveness probes
↗
0
0
-
0
Открытый
15.5
11.5 Диагностика в проде: dotnet-counters, dotnet-trace, dumps
↗
0
0
-
0
Открытый
15.6
11.6 Resilience: Polly, retry, circuit breaker, timeout
↗
0
0
-
0
Открытый
15.7
11.7 Graceful shutdown, IHostedService, BackgroundService
↗
0
0
-
0
Открытый
15.8
11.8 Итоговая практика: production-ready сервис с observability
↗
0
0
-
0
16. Модуль 12. Тестирование .NET: unit, integration, contract, load
8 уроков
0
0
0м
0
Открытый
16.1
12.1 Пирамида тестов и стратегия проекта
↗
0
0
-
0
Открытый
16.2
12.2 Unit-тесты: xUnit, FluentAssertions, паттерны
↗
0
0
-
0
Открытый
16.3
12.3 Моки и стабы: NSubstitute, Moq, ловушки
↗
0
0
-
0
Открытый
16.4
12.4 Property-based и data-driven тесты
↗
0
0
-
0
Открытый
16.5
12.5 Integration-тесты: WebApplicationFactory, Testcontainers
↗
0
0
-
0
Открытый
16.6
12.6 Contract-тесты: WireMock, Pact, snapshot-тесты
↗
0
0
-
0
Открытый
16.7
12.7 Performance и нагрузочное тестирование: BenchmarkDotNet, k6
↗
0
0
-
0
Открытый
16.8
12.8 Итоговая практика: полный test suite production-сервиса
↗
0
0
-
0
17. Модуль 13. CI/CD для .NET: pipelines, Docker, релизные стратегии
8 уроков
0
0
0м
0
Открытый
17.1
13.1 CI/CD: принципы, артефакты, окружения
↗
0
0
-
0
Открытый
17.2
13.2 GitHub Actions: workflow, jobs, secrets, matrix
↗
0
0
-
0
Открытый
17.3
13.3 GitLab CI и Azure DevOps Pipelines для .NET
↗
0
0
-
0
Открытый
17.4
13.4 Docker для .NET: multi-stage, slim, distroless
↗
0
0
-
0
Открытый
17.5
13.5 Версионирование, NuGet, артефакты сборки
↗
0
0
-
0
Открытый
17.6
13.6 Релизные стратегии: blue-green, canary, feature flags
↗
0
0
-
0
Открытый
17.7
13.7 GitOps, ArgoCD, Helm и Kubernetes-деплой
↗
0
0
-
0
Открытый
17.8
13.8 Итоговая практика: полный CI/CD pipeline для микросервиса
↗
0
0
-
0