Содержание курса
Введение: современный backend на C# и .NET
5 уроков
1.
Что мы будем строить
↗
2.
Современный .NET backend в 2026 году
↗
3.
Почему C# 15 и .NET 11
↗
4.
Архитектура финального проекта
↗
5.
Как проходить курс
↗
Быстрый вход в C#: синтаксис и базовая ментальная модель
10 уроков
1.
Структура C#-программы
↗
2.
Переменные, типы и базовые операторы
↗
3.
Условия и циклы
↗
4.
Методы и параметры
↗
5.
Классы и объекты
↗
6.
Модификаторы доступа
↗
7.
Свойства вместо прямого доступа к полям
↗
8.
Коллекции
↗
9.
Исключения
↗
10.
Практика главы
↗
C# для разработчика из Java, C++ и Rust: runtime, типы и стиль к
15 уроков
1.
C# и .NET как managed-платформа
↗
2.
Value types и reference types
↗
3.
Records и immutable-модели
↗
4.
Nullable Reference Types
↗
5.
Управление ресурсами
↗
6.
Generics
↗
7.
Interfaces и композиция
↗
8.
Delegates, lambdas и events
↗
9.
Pattern matching
↗
10.
LINQ
↗
11.
Async/await
↗
12.
Attributes и reflection
↗
13.
Extension methods и extension blocks
↗
14.
C# 15 union types
↗
15.
Практика главы
↗
.NET 11 SDK, проекты, NuGet и конфигурация
8 уроков
1.
SDK, Runtime и CLI
↗
2.
.csproj без магии
↗
3.
Solution и структура проектов
↗
4.
NuGet
↗
5.
Configuration
↗
6.
Dependency Injection
↗
7.
Logging
↗
8.
Практика главы
↗
ASP.NET Core 11 и Minimal APIs
9 уроков
1.
Как ASP.NET Core обрабатывает запрос
↗
2.
Minimal APIs
↗
3.
Controllers: когда они нужны
↗
4.
Route groups
↗
5.
Middleware
↗
6.
Endpoint filters
↗
7.
Problem Details
↗
8.
OpenAPI
↗
9.
Практика главы
↗
REST API: контракт, ресурсы и HTTP-семантика
9 уроков
1.
Что такое REST в практическом backend
↗
2.
Ресурсы и URL-дизайн
↗
3.
HTTP methods
↗
4.
Status codes
↗
5.
Request/response contracts
↗
6.
Pagination, filtering и sorting
↗
7.
REST error model
↗
8.
REST API versioning
↗
9.
Практика главы
↗
Validation и typed errors
7 уроков
1.
Виды ошибок в backend
↗
2.
Где должна жить validation
↗
3.
FluentValidation
↗
4.
Validation в Minimal APIs
↗
5.
Business errors через union types
↗
6.
Error mapping
↗
7.
Практика главы
↗
Архитектура: Vertical Slice + Modular Monolith
8 уроков
1.
Почему не начинать с микросервисов
↗
2.
Проблемы классического Controller-Service-Repository подхода
↗
3.
Vertical Slice Architecture
↗
4.
Modular Monolith
↗
5.
Application layer
↗
6.
Domain layer без перегруза
↗
7.
Infrastructure layer
↗
8.
Практика главы
↗
PostgreSQL и EF Core
11 уроков
1.
Persistence stack для PostgreSQL
↗
2.
DbContext
↗
3.
Entity mapping
↗
4.
Migrations
↗
5.
Relationships
↗
6.
Queries
↗
7.
Transactions и concurrency
↗
8.
PostgreSQL-specific возможности
↗
9.
Performance на уровне запросов
↗
10.
Dapper с PostgreSQL
↗
11.
Практика главы
↗
Microsoft SQL Server и EF Core
9 уроков
1.
Зачем backend-разработчику MSSQL
↗
2.
Подключение MSSQL в .NET
↗
3.
EF Core migrations для SQL Server
↗
4.
Типы данных MSSQL
↗
5.
Transactions и isolation levels
↗
6.
Queries и performance basics
↗
7.
Dapper с MSSQL
↗
8.
Dual-provider подход в учебном проекте
↗
9.
Практика главы
↗
GraphQL API в .NET backend
8 уроков
1.
Зачем GraphQL рядом с REST
↗
2.
GraphQL basics
↗
3.
GraphQL в ASP.NET Core
↗
4.
Queries
↗
5.
Mutations
↗
6.
N+1 problem и DataLoader
↗
7.
Auth в GraphQL
↗
8.
Практика главы
↗
Socket.IO и real-time API
8 уроков
1.
Зачем backend нужен real-time
↗
2.
Socket.IO как модель real-time взаимодействия
↗
3.
Socket.IO в .NET backend
↗
4.
Authentication для Socket.IO
↗
5.
Rooms и targeted notifications
↗
6.
Интеграция с backend events
↗
7.
Scaling real-time API
↗
8.
Практика главы
↗
Безопасность: ASP.NET Core Auth без перегруза
11 уроков
1.
Authentication и authorization
↗
2.
Регистрация пользователей
↗
3.
Хранение паролей
↗
4.
JWT для REST API
↗
5.
Refresh tokens
↗
6.
Current user в приложении
↗
7.
Policy-based authorization
↗
8.
Auth для REST, GraphQL и Socket.IO
↗
9.
CORS, rate limiting и secure defaults
↗
10.
Passkeys обзорно
↗
11.
Практика главы
↗
Redis и caching
6 уроков
1.
Зачем Redis в backend
↗
2.
StackExchange.Redis
↗
3.
Cache-aside pattern
↗
4.
Cache key design
↗
5.
Rate limiting и idempotency
↗
6.
Практика главы
↗
Внешние интеграции и resilience
7 уроков
1.
Почему внешний HTTP — источник нестабильности
↗
2.
HttpClientFactory
↗
3.
Refit
↗
4.
Timeouts и retry
↗
5.
Microsoft.Extensions.Http.Resilience и Polly
↗
6.
Webhooks
↗
7.
Практика главы
↗
Background processing
6 уроков
1.
Зачем нужны фоновые задачи
↗
2.
Hosted services
↗
3.
PeriodicTimer и Channels
↗
4.
Hangfire и Quartz.NET обзорно
↗
5.
Outbox pattern
↗
6.
Практика главы
↗
Messaging: RabbitMQ и MassTransit без перегруза
6 уроков
1.
Зачем нужен messaging
↗
2.
RabbitMQ минимум для backend-разработчика
↗
3.
MassTransit минимум для работы
↗
4.
Практические правила надёжности
↗
5.
Outbox с messaging
↗
6.
Практика главы
↗
Observability: logs, metrics, traces
9 уроков
1.
Почему logs недостаточно
↗
2.
Structured logging
↗
3.
Serilog
↗
4.
Correlation ID
↗
5.
Metrics
↗
6.
Distributed tracing
↗
7.
OpenTelemetry
↗
8.
Health checks
↗
9.
Практика главы
↗
Testing: не мокать всю реальность
9 уроков
1.
Какие тесты нужны backend-проекту
↗
2.
xUnit
↗
3.
FluentAssertions
↗
4.
WebApplicationFactory
↗
5.
Testcontainers for .NET
↗
6.
Testing auth
↗
7.
Testing REST, GraphQL и Socket.IO
↗
8.
Testing external APIs и messaging
↗
9.
Практика главы
↗
Docker и локальное окружение
7 уроков
1.
Зачем Docker backend-разработчику
↗
2.
Dockerfile для .NET API
↗
3.
Docker Compose
↗
4.
Configuration in containers
↗
5.
Database migrations strategy
↗
6.
Graceful shutdown
↗
7.
Практика главы
↗
Aspire для современного dev experience
7 уроков
1.
Что такое Aspire
↗
2.
Aspire vs Docker Compose
↗
3.
AppHost
↗
4.
PostgreSQL и MSSQL в Aspire
↗
5.
Redis и RabbitMQ в Aspire
↗
6.
Observability в Aspire
↗
7.
Практика главы
↗
CI/CD и deployment-дисциплина
8 уроков
1.
Что должен делать backend pipeline
↗
2.
GitHub Actions
↗
3.
Integration tests в CI
↗
4.
Runtime configuration
↗
5.
Reverse proxy
↗
6.
Production readiness
↗
7.
Kubernetes обзорно
↗
8.
Практика главы
↗
Финальный проект: CourseFlow API
11 уроков
1.
Финальная архитектура проекта
↗
2.
Модуль Users
↗
3.
Модуль Courses
↗
4.
Модуль Lessons
↗
5.
Модуль Enrollment
↗
6.
Модуль Progress
↗
7.
Модуль Billing mock
↗
8.
Модуль Notifications
↗
9.
REST, GraphQL и real-time финального проекта
↗
10.
Tests финального проекта
↗
11.
Финальная сборка и запуск
↗