Скачать 

Реляционные базы данных в веб приложениях [Кирилл Сачков]

  • Дата начала
Цена: 390 РУБ
Robot
Robot
Складчик
  • #1

Реляционные базы данных в веб приложениях [Кирилл Сачков]

Ссылка на картинку
Освойте работу с PostgreSQL, Entity Framework Core и Dapper
Изучите оптимизацию и архитектуру БД


Фундаментальное изучение работы с реляционными базами данных в .NET приложениях на практике. Освойте PostgreSQL, Entity Framework Core и Dapper для создания эффективных и масштабируемых решений с правильной архитектурой доступа к данным и производительными запросами.

Почему этот интенсив?
  • Глубокое понимание баз данных: от теории ACID до практической реализации сложных запросов
  • Два подхода к работе с данными: изучите как ORM (Entity Framework Core), так и микро-ORM (Dapper)
  • Практические кейсы: реальный проект системы бронирования мест с решением типичных проблем
  • Производительность и оптимизация: научитесь писать эффективные SQL запросы и управлять транзакциями
  • Современные подходы: Repository pattern, CQS, управление транзакциями и блокировки, индексы
  • Правильная архитектура: Clean Architecture, CQRS
Для кого этот интенсив:
  • Разработчики, которые хотят научиться работать с реляционными базами данных в .NET приложениях.
  • Все, кто хочет научиться проектировать и реализовывать сложные схемы баз данных с правильными связями и ограничениями.
  • Разработчики, которые хотят углубить знания в работе с базами данных в .NET приложениях.
  • Те, кто хочет научиться проектировать эффективную архитектуру доступа к данным.
  • Разработчики, работающие с Entity Framework Core и желающие освоить альтернативные подходы.
  • Все, кто хочет понять, как решать проблемы производительности и параллельного доступа к данным.
Результат:
  • Вы сможете проектировать и реализовывать сложные схемы баз данных с правильными связями и ограничениями.
  • Освоите как Entity Framework Core, так и Dapper с SQL запросами для разных сценариев использования.
  • Научитесь оптимизировать запросы, управлять транзакциями и решать проблемы параллельного доступа.
  • Получите практический опыт создания масштабируемой архитектуры доступа к данным.
Программа:

Урок 1. Основы PostgreSQL и теория баз данных
Урок 2. Проектирование доменных моделей и связей между сущностями
Урок 3. Настройка окружения и начало работы с базой данных
Урок 4. Конфигурации Entity Framework Core и создание миграций
Урок 5. Работа с DbContext, ChangeTracker и операции вставки
Урок 6. Операции обновления и удаления, массовые операции
Урок 7. Правильная архитектура репозиториев и управление транзакциями
Урок 8. Реализация функционала бронирования и бизнес-логики
Урок 9. Параллельные операции и изоляция транзакций
Урок 10. Практическое применение пессимистичной блокировки
Урок 11. Сидирование базы данных и автоматизация
Урок 12. Архитектура запросов на чтение данных
Урок 13. Сложные SQL запросы и оптимизация
Урок 14. Фильтрация, пагинация и агрегация данных
Урок 15. Продвинутые техники работы с Dapper
Урок 16. Гибкая сортировка и продвинутые запросы
Урок 17. Работа с индексами и оптимизация запросов

Программа подробнее:

Урок 1. Основы PostgreSQL и теория баз данных
  • PostgreSQL - что это и почему выбирают эту СУБД
  • Разница между СУБД и БД, понятие схемы
  • Устройство таблиц и хранение данных в PostgreSQL
  • Ключи: Primary Key и Foreign Key
  • SERIAL vs UUID (GUID) - выбор типа идентификатора
  • Отношения между таблицами: один ко многим, один к одному, многие ко многим
  • Принципы ACID: Atomicity, Consistency, Isolation, Durability
  • Что такое транзакции и зачем они нужны
  • Индексы: назначение, виды, плюсы и минусы
  • B-tree индексы и составные индексы
Урок 2. Проектирование доменных моделей и связей между сущностями
  • Подход Code First в проектировании моделей
  • Создание проекта ASP.NET Core Web API
  • Проектирование сущностей с использованием богатых моделей
  • Установка связей между классами
  • Работа с nullable reference types
  • Проектирование связей
  • Реализация связей между модулями
  • Проектирование системы бронирования
  • Группировка классов по модулям
Урок 3. Настройка окружения и начало работы с базой данных
  • Запуск PostgreSQL с помощью Docker
  • Обзор и настройка docker-compose файла
  • Работа с pgAdmin для управления базой данных
  • Сравнение подходов Database First и Code First
  • Понятие миграций в Entity Framework
  • Создание DbContext для работы с базой данных
  • Паттерн Repository
  • Работа с базой данных без ORM: чистый SQL
  • Параметризованные SQL-запросы для безопасности
Урок 4. Конфигурации Entity Framework Core и создание миграций
  • Глубокое понимание разницы Code First от Database First
  • Конфигурирование доменных моделей через Fluent API
  • Entity vs Value Object: концепции и различия
  • Способы хранения Value Objects в базе данных
  • Конфигурация через ComplexProperty и OwnsOne
  • Работа с комплексными объектами и типизированными Id
  • Регистрация DbContext в Dependency Injection
  • Понимание Scoped vs Singleton для DbContext
  • Создание и применение миграций
  • Работа с JSON объектами (OwnsMany, JSONB)
  • Настройка связей между таблицами и модулями
  • Конфигурирование связей один к одному и многие ко многим
Урок 5. Работа с DbContext, ChangeTracker и операции вставки
  • Создание слоя Application и проекта Contacts
  • Реализация фичи создания сущности
  • Различные подходы работы с базой данных
  • Создание доменных моделей в фичах
  • Способы работы с базой данных из слоя Application
  • Настройка логирования для отладки SQL-запросов
  • Понимание работы ChangeTracker в Entity Framework
  • Добавление связанных сущностей при создании основной
  • Работа с прямыми навигационными связями
  • Анализ генерируемых SQL-запросов
  • Реализация Repository pattern vs прямое использование DbContext
  • Регистрация зависимостей и работа с фабриками
  • Необходимость транзакций при работе с данными
Урок 6. Операции обновления и удаления, массовые операции
  • Реализация обновления через Dapper (чистый SQL)
  • Первый способ обновления через Entity Framework Core
  • Сравнение работы обновлений в Dapper vs EF Core
  • Массовые обновления в Entity Framework Core
  • Массовые обновления через Dapper
  • Обновление через доменные сущности (второй способ)
  • Ограничения Dapper при работе с доменными сущностями
  • Анализ работы Change Tracker
  • Плюсы и минусы различных подходов к обновлению
  • Полное обновление сущностей (третий способ)
  • Различия между IQueryable и IEnumerable
  • Проблемы массовых обновлений с получением сущностей
  • Обновление навигационных сущностей: два способа
  • Комбинированный подход для оптимальной работы
Урок 7. Правильная архитектура репозиториев и управление транзакциями
  • Когда нужны и не нужны множественные реализации репозитория
  • Случаи использования нескольких реализаций репозитория
  • Комбинированный подход в архитектуре репозиториев
  • Проблемы транзакционности в распределенных операциях
  • Стратегии управления транзакциями
  • Создание и реализация TransactionManager
  • Паттерн TransactionScope и его применение
  • Решение проблем транзакционности в фичах обновления
  • Правильное использование using с транзакциями
  • Анализ работы транзакций в действии
Урок 8. Реализация функционала бронирования и бизнес-логики
  • Анализ предметной области системы бронирования
  • Создание контроллера для операций бронирования
  • Создание фичи бронирования в слое Application
  • Создание специализированного репозитория
  • Правильное использование SaveChanges и обработка ошибок
  • Использование репозитория в обработчиках (handlers)
  • Реализация проверки доступности мероприятия
  • Проверка принадлежности мест к мероприятию
  • Реализация проверки статуса бронирования мест
  • Анализ генерируемых SQL-запросов
  • Выявление проблем параллельного доступа
Урок 9. Параллельные операции и изоляция транзакций
  • Проблемы нескольких одновременных запросов
  • Влияние транзакций на параллельные операции
  • Подробный анализ уровней изоляции транзакций
  • Феномены в базах данных: dirty read, phantom read
  • Изменение уровня изоляции транзакций
  • Способы решения проблем параллельности
  • Решение через database constraints (ограничения БД)
  • Реализация проверки максимальной вместимости
  • Проблемы проверки вместимости при параллельных запросах
  • Pessimistic locking (пессимистичная блокировка)
  • Optimistic locking (оптимистичная блокировка)
  • Реализация обоих типов блокировок
Урок 10. Практическое применение пессимистичной блокировки
  • Углубленный пример использования Pessimistic locking
  • Реализация бронирования нескольких мест одновременно
  • Получение и блокирование связанных сущностей
  • Запросы для получения всех доступных мест
  • Реализация сложной доменной логики
  • Анализ производительности и SQL-запросов
Урок 11. Сидирование базы данных и автоматизация
  • Различные способы реализации сидирования
  • Размещение логики сидирования в проекте
  • Реализация сидирования данных
  • Использование Cursor AI для генерации кода сидеров
  • Автоматизация процесса наполнения данными
Урок 12. Архитектура запросов на чтение данных
  • Различия между операциями чтения и записи
  • Типы запросов в приложениях
  • Запрос получения информации о мероприятии и карте мест
  • Выбор правильных моделей для возврата из бэкенда
  • Использование AsNoTracking для оптимизации
  • Паттерн CQS (Command Query Separation)
  • Работа с интерфейсом IQueryable
  • Создание IReadDbContext для операций чтения
Урок 13. Сложные SQL запросы и оптимизация
  • Усложнение запросов для получения мероприятий
  • Проблемы множественных запросов (N+1 problem)
  • Проекции данных с помощью Select
  • Оптимизация запросов в один JOIN
  • Использование Dapper для прямых SQL-запросов
  • Маппинг объектов в Dapper
  • Усложнение SQL с LEFT JOIN
  • Эквивалентные запросы в Entity Framework Core и LINQ
  • LINQ Query syntax для сложных соединений
  • Реализация LEFT JOIN в EF Core
Урок 14. Фильтрация, пагинация и агрегация данных
  • Подсчет количества свободных мест
  • Запросы на EF Core с LINQ для агрегации
  • Использование оконных функций в SQL
  • Запросы с фильтрами и пагинацией
  • Фильтрация по датам и времени
  • Усложнение логики: минимальное количество свободных мест
  • Реализация пагинации в Entity Framework Core
Урок 15. Продвинутые техники работы с Dapper
  • Фильтрация и пагинация в Dapper через SQL
  • Написание сложных SQL-запросов
  • Анализ планов выполнения запросов
  • Использование CTE (Common Table Expressions)
  • Сравнение производительности различных подходов
  • Реализация фильтров и пагинации в Dapper
  • Оптимальные способы подсчета общего количества (total count)
Урок 16. Гибкая сортировка и продвинутые запросы
  • Реализация гибкой сортировки в Entity Framework Core
  • Гибкая сортировка в Dapper
  • Усложнение запросов: сортировка по популярности
  • Улучшение запросов с помощью CTE (WITH AS)
  • Расчет популярности через Entity Framework Core
  • Оптимизация сложных аналитических запросов
Урок 17. Работа с индексами и оптимизация запросов
Урок 18. CQRS
Урок 19. Работа с деревьями и иерархическими структурами
Урок 20. Паттерн Спецификация (Specification)
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть скрытый контент.
Поиск по тегу:
Теги
dapper entity framework core изучите оптимизацию и архитектуру бд кирилл сачков освойте работу с postgresql реляционные базы данных в веб приложениях
Похожие складчины
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование

Войдите или зарегистрируйтесь!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт. Это просто!

Вход

Вы уже зарегистрированы? Войдите.

Сверху