Skip to content

Instantly share code, notes, and snippets.

View sunmeat's full-sized avatar
🐈
MEOW

Oleksandr Zahoruiko sunmeat

🐈
MEOW
View GitHub Profile
@IcedW
IcedW / hw1.sql
Created December 18, 2025 02:38
USE [master]
GO
/****** Object: Database [productDatabase] Script Date: 12/18/2025 4:37:13 AM ******/
CREATE DATABASE [productDatabase]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'productDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\productDB.mdf' , SIZE = 15360KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'productDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\productDBlog.ldf' , SIZE = 5120KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@ysantonyance
ysantonyance / Store.sql
Created December 17, 2025 20:33
Table Products +20 more records
USE [master]
GO
/****** Object: Database [Store] Script Date: 17/12/2025 10:32:02 PM ******/
CREATE DATABASE [Store]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Store', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store.mdf' , SIZE = 73728KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Store_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@sunmeat
sunmeat / task.md
Created December 17, 2025 13:17
ДЗ: багаторівнева архітектура, шар доступу до даних

Багаторівнева архітектура в ASP.NET Core MVC

Рівень доступу до даних (Data Access Layer)

Веб-додаток «Музичний портал»

Завдання

Модифікувати раніше розроблений веб-додаток «Музичний портал» з монолітною архітектурою таким чином, щоб отримати трирівневу (three-layer) архітектуру:

  1. Presentation Layer — контролери та представлення (Views).
  2. Business Logic Layer — сервіси (буде в наступних завданнях).
@sunmeat
sunmeat / task.md
Created December 17, 2025 13:15
ДЗ: музичний портал 2

Валідація моделі. Сервіси. Впровадження залежностей в ASP.NET Core MVC

Веб-сайт «Музичний портал»

Завдання

Модифікувати архітектуру веб-додатка «Музичний портал» таким чином, щоб контролер взаємодіяв з базою даних через сервіс Repository, а не безпосередньо через контекст даних (DbContext).

При цьому взаємодія контролера з сервісом Repository має відбуватися через абстракцію IRepository, щоб забезпечити слабку зв’язаність (low coupling) між класами.

Вимоги до валідації

@sunmeat
sunmeat / task.md
Created December 16, 2025 20:26
ДЗ: музичний портал

Завдання: Музичний портал

Реалізувати веб-сайт «Музичний портал», на якому користувачі можуть розміщувати та завантажувати пісні.

Основні функціональні вимоги

  • Пісні на сайті поділяються за жанрами.
  • Додавати пісні можуть тільки зареєстровані користувачі.
  • Нові користувачі можуть залишати заявки на реєстрацію, які потім активує адміністратор порталу.
  • Адміністратор має повний доступ до управління:
@sunmeat
sunmeat / task.md
Created December 16, 2025 19:51
ДЗ на IRepository

Впровадження залежностей в ASP.NET Core MVC. Сервіси

Модифікувати архітектуру раніше розробленого веб-додатка «Гостьова книга» таким чином, щоб:

  • Контролер взаємодіяв з базою даних виключно через об’єкт класу Repository, а не безпосередньо через об’єкт класу контексту даних (DbContext).
  • Робота з об’єктом класу Repository здійснювалася через інтерфейсне посилання IRepository.

Мета — забезпечити слабку зв’язність (low coupling) між класами, дотримуючись принципів інверсії залежностей (DIP) та полегшуючи тестування й підтримку коду.

Ключові переваги такого підходу

@Arsenii123
Arsenii123 / `1.sql
Created December 16, 2025 14:33
First homework in sql
USE [master]
GO
/****** Object: Database [Shop] Script Date: 14/12/2025 23:04:14 ******/
CREATE DATABASE [Shop]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Shop', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\shop.mdf' , SIZE = 15360KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Shop_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\shop.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@sunmeat
sunmeat / task.md
Last active December 16, 2025 10:58
ДЗ гостьова книга

Створити веб-додаток «Гостьова книга», що задовольняє таким вимогам:

  1. На головній сторінці index.cshtml виводяться повідомлення користувачів. При цьому кожне повідомлення виводиться в окремій таблиці, де вказується логін користувача, який залишив повідомлення, текст повідомлення, а також дата і час надсилання повідомлення.

  2. У заголовковій частині головної сторінки виводяться дві посилання:

    • «Вхід у систему» — перенаправлення на сторінку авторизації login.cshtml у разі, якщо користувач не вводив логін і пароль, а увійшов у систему як гість.
    • «Реєстрація» — перенаправлення на сторінку registration.cshtml.
  3. Користувачі, які пройшли авторизацію, бачать багаторядкове текстове поле для вводу повідомлення, кнопку «Додати повідомлення» та кнопку «Вихід», за якою завершується сеанс.

@ysantonyance
ysantonyance / Store.sql
Created December 13, 2025 16:33
таблица Product
USE [master]
GO
/****** Object: Database [Store] Script Date: 13/12/2025 6:31:55 PM ******/
CREATE DATABASE [Store]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Store', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store.mdf' , SIZE = 73728KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Store_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@sunmeat
sunmeat / task.md
Created December 12, 2025 14:37
завдання на валідацію форм

Модифікувати веб-додаток «Десятка найкращих фільмів» наступним чином: Необхідно реалізувати валідацію моделі як на стороні сервера, так і на стороні клієнта.

Для керуванні процесом валідації використовувати:

  • вбудовані атрибути валідації Data Annotations
  • власні (кастомні) атрибути валідації

Для виведення повідомлень про помилки валідації застосовувати:

  • тег-хелпери валідації (Validation Message Tag Helper, Validation Summary Tag Helper тощо)