ASP.NET Core и Blazor
Полный последовательный маршрут: теория, пример, ошибка новичка, практика, самопроверка и проектный шаг в каждом уроке.
Полный последовательный маршрут: теория, пример, ошибка новичка, практика, самопроверка и проектный шаг в каждом уроке.
Переходи дальше только после того, как можешь воспроизвести идею самостоятельно и понимаешь, зачем она нужна.
После модулей закрепляй материал практикой и проверками. Курс считается освоенным только после выполнения критериев, а не после простого открытия всех страниц.
Program.cs собирает сервисы и HTTP-pipeline приложения.
Middleware может обработать запрос до и после следующего компонента.
ASP.NET Core умеет создавать сервисы и передавать их туда, где они нужны.
Конфигурация отделяет настройки от кода.
Структурированный лог можно фильтровать и отправлять в разные sinks.
Blazor строит UI из компонентов: разметка + состояние + поведение.
`@` переключает Razor из HTML в C#.
Parameter передаёт данные от родителя дочернему компоненту.
События связывают UI и методы C#.
bind синхронизирует значение элемента и поле компонента.
Компонент получает параметры и загружает данные в определённые моменты.
Компонент становится страницей через директиву @page.
Layout убирает копирование header/sidebar/footer между страницами.
Interactive Server выполняет интерактивную логику на сервере через постоянное соединение.
Virtualize и большие списки: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
Состояние Interactive Server: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Web UI часто получает данные через HTTP API.
Idempotency и безопасные HTTP-методы: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
REST и семантика методов: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Тема «HTTP request/response глубже» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Endpoint и Minimal API» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Route parameters» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Query string» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «DTO: не отдаём Entity напрямую» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Model binding» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Validation» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Status codes» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «REST CRUD API» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «ProblemDetails» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Authentication и Authorization» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Cookie authentication» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Claims и roles» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «CSRF и antiforgery» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «EditForm» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «DataAnnotationsValidator» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «EventCallback» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Cascading values» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «ErrorBoundary» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «JS interop» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Service layer» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Options pattern» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «CancellationToken» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «HttpClientFactory» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Structured logging» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Health checks» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Unit test сервиса» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Integration test API» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Кэширование» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Pagination» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Environment и secrets» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Reverse proxy и HTTPS» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Docker mental model» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Тема «Итог ASP.NET/Blazor» нужна не для запоминания термина, а чтобы решать конкретную задачу в реальном проекте.
Health checks — важная тема раздела «Надёжность». В этом уроке ты сначала разберёшь смысл, затем увидишь рабочий пример и сразу закрепишь материал самостоятельно.
Rate limiting — важная тема раздела «Надёжность». В этом уроке ты сначала разберёшь смысл, затем увидишь рабочий пример и сразу закрепишь материал самостоятельно.
Output caching — важная тема раздела «Производительность». В этом уроке ты сначала разберёшь смысл, затем увидишь рабочий пример и сразу закрепишь материал самостоятельно.
Response compression и кэширование: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Forwarded headers и reverse proxy — важная тема раздела «Production». В этом уроке ты сначала разберёшь смысл, затем увидишь рабочий пример и сразу закрепишь материал самостоятельно.
Graceful shutdown — важная тема раздела «Production». В этом уроке ты сначала разберёшь смысл, затем увидишь рабочий пример и сразу закрепишь материал самостоятельно.
Health checks и graceful shutdown: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
CORS, CSRF и SameSite: разберём принцип, увидим рабочий пример и закрепим его на самостоятельной задаче.
CORS: точные origins: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.
Antiforgery и CSRF: сначала разберись, какую проблему решает механизм, затем изучи пример и проверь понимание на собственной реализации.