Кожемяка
			Не Стучи Дважды
Организатор
		- #1
 
Реляционные базы данных в веб приложениях [Кирилл Сачков]
- Ссылка на картинку
 
Освойте работу с PostgreSQL, Entity Framework Core и Dapper
Изучите оптимизацию и архитектуру БД
Фундаментальное изучение работы с реляционными базами данных в .NET приложениях на практике. Освойте PostgreSQL, Entity Framework Core и Dapper для создания эффективных и масштабируемых решений с правильной архитектурой доступа к данным и производительными запросами.
Почему этот интенсив?
Урок 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 и теория баз данных
Урок 18. CQRS
Урок 19. Работа с деревьями и иерархическими структурами
Урок 20. Паттерн Спецификация (Specification)
						Изучите оптимизацию и архитектуру БД
Фундаментальное изучение работы с реляционными базами данных в .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 индексы и составные индексы
 
- Подход Code First в проектировании моделей
 - Создание проекта ASP.NET Core Web API
 - Проектирование сущностей с использованием богатых моделей
 - Установка связей между классами
 - Работа с nullable reference types
 - Проектирование связей
 - Реализация связей между модулями
 - Проектирование системы бронирования
 - Группировка классов по модулям
 
- Запуск PostgreSQL с помощью Docker
 - Обзор и настройка docker-compose файла
 - Работа с pgAdmin для управления базой данных
 - Сравнение подходов Database First и Code First
 - Понятие миграций в Entity Framework
 - Создание DbContext для работы с базой данных
 - Паттерн Repository
 - Работа с базой данных без ORM: чистый SQL
 - Параметризованные SQL-запросы для безопасности
 
- Глубокое понимание разницы 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)
 - Настройка связей между таблицами и модулями
 - Конфигурирование связей один к одному и многие ко многим
 
- Создание слоя Application и проекта Contacts
 - Реализация фичи создания сущности
 - Различные подходы работы с базой данных
 - Создание доменных моделей в фичах
 - Способы работы с базой данных из слоя Application
 - Настройка логирования для отладки SQL-запросов
 - Понимание работы ChangeTracker в Entity Framework
 - Добавление связанных сущностей при создании основной
 - Работа с прямыми навигационными связями
 - Анализ генерируемых SQL-запросов
 - Реализация Repository pattern vs прямое использование DbContext
 - Регистрация зависимостей и работа с фабриками
 - Необходимость транзакций при работе с данными
 
- Реализация обновления через Dapper (чистый SQL)
 - Первый способ обновления через Entity Framework Core
 - Сравнение работы обновлений в Dapper vs EF Core
 - Массовые обновления в Entity Framework Core
 - Массовые обновления через Dapper
 - Обновление через доменные сущности (второй способ)
 - Ограничения Dapper при работе с доменными сущностями
 - Анализ работы Change Tracker
 - Плюсы и минусы различных подходов к обновлению
 - Полное обновление сущностей (третий способ)
 - Различия между IQueryable и IEnumerable
 - Проблемы массовых обновлений с получением сущностей
 - Обновление навигационных сущностей: два способа
 - Комбинированный подход для оптимальной работы
 
- Когда нужны и не нужны множественные реализации репозитория
 - Случаи использования нескольких реализаций репозитория
 - Комбинированный подход в архитектуре репозиториев
 - Проблемы транзакционности в распределенных операциях
 - Стратегии управления транзакциями
 - Создание и реализация TransactionManager
 - Паттерн TransactionScope и его применение
 - Решение проблем транзакционности в фичах обновления
 - Правильное использование using с транзакциями
 - Анализ работы транзакций в действии
 
- Анализ предметной области системы бронирования
 - Создание контроллера для операций бронирования
 - Создание фичи бронирования в слое Application
 - Создание специализированного репозитория
 - Правильное использование SaveChanges и обработка ошибок
 - Использование репозитория в обработчиках (handlers)
 - Реализация проверки доступности мероприятия
 - Проверка принадлежности мест к мероприятию
 - Реализация проверки статуса бронирования мест
 - Анализ генерируемых SQL-запросов
 - Выявление проблем параллельного доступа
 
- Проблемы нескольких одновременных запросов
 - Влияние транзакций на параллельные операции
 - Подробный анализ уровней изоляции транзакций
 - Феномены в базах данных: dirty read, phantom read
 - Изменение уровня изоляции транзакций
 - Способы решения проблем параллельности
 - Решение через database constraints (ограничения БД)
 - Реализация проверки максимальной вместимости
 - Проблемы проверки вместимости при параллельных запросах
 - Pessimistic locking (пессимистичная блокировка)
 - Optimistic locking (оптимистичная блокировка)
 - Реализация обоих типов блокировок
 
- Углубленный пример использования Pessimistic locking
 - Реализация бронирования нескольких мест одновременно
 - Получение и блокирование связанных сущностей
 - Запросы для получения всех доступных мест
 - Реализация сложной доменной логики
 - Анализ производительности и SQL-запросов
 
- Различные способы реализации сидирования
 - Размещение логики сидирования в проекте
 - Реализация сидирования данных
 - Использование Cursor AI для генерации кода сидеров
 - Автоматизация процесса наполнения данными
 
- Различия между операциями чтения и записи
 - Типы запросов в приложениях
 - Запрос получения информации о мероприятии и карте мест
 - Выбор правильных моделей для возврата из бэкенда
 - Использование AsNoTracking для оптимизации
 - Паттерн CQS (Command Query Separation)
 - Работа с интерфейсом IQueryable
 - Создание IReadDbContext для операций чтения
 
- Усложнение запросов для получения мероприятий
 - Проблемы множественных запросов (N+1 problem)
 - Проекции данных с помощью Select
 - Оптимизация запросов в один JOIN
 - Использование Dapper для прямых SQL-запросов
 - Маппинг объектов в Dapper
 - Усложнение SQL с LEFT JOIN
 - Эквивалентные запросы в Entity Framework Core и LINQ
 - LINQ Query syntax для сложных соединений
 - Реализация LEFT JOIN в EF Core
 
- Подсчет количества свободных мест
 - Запросы на EF Core с LINQ для агрегации
 - Использование оконных функций в SQL
 - Запросы с фильтрами и пагинацией
 - Фильтрация по датам и времени
 - Усложнение логики: минимальное количество свободных мест
 - Реализация пагинации в Entity Framework Core
 
- Фильтрация и пагинация в Dapper через SQL
 - Написание сложных SQL-запросов
 - Анализ планов выполнения запросов
 - Использование CTE (Common Table Expressions)
 - Сравнение производительности различных подходов
 - Реализация фильтров и пагинации в Dapper
 - Оптимальные способы подсчета общего количества (total count)
 
- Реализация гибкой сортировки в Entity Framework Core
 - Гибкая сортировка в Dapper
 - Усложнение запросов: сортировка по популярности
 - Улучшение запросов с помощью CTE (WITH AS)
 - Расчет популярности через Entity Framework Core
 - Оптимизация сложных аналитических запросов
 
Урок 18. CQRS
Урок 19. Работа с деревьями и иерархическими структурами
Урок 20. Паттерн Спецификация (Specification)
								Показать больше
					
			
			
											
												
													Зарегистрируйтесь
												
											, чтобы посмотреть скрытый контент.