Skip to content

Instantly share code, notes, and snippets.

View sunmeat's full-sized avatar
🐈
MEOW

Oleksandr Zahoruiko sunmeat

🐈
MEOW
View GitHub Profile
@sunmeat
sunmeat / views.py
Created March 25, 2026 14:09
запити1-М та агрегування + raw queries
from datetime import datetime
from django.shortcuts import render
from django.http import HttpRequest
from django.db.models import Avg, Count, Sum, Max, Min, F, Q
from app.models import Author, Book
# =============================================================================
# CRUD ДЛЯ AUTHOR (це було вже :)
# =============================================================================
@sunmeat
sunmeat / views.py
Created March 25, 2026 13:08
розширені запити
...
# ── РОЗШИРЕНІ ЗАПИТИ ──────────────────────────────────────────────────────────
def author_filter_advanced(request):
"""filter з різними умовами"""
# lte / gte - менше або рівно / більше або рівно
authors = Author.objects.filter(rating__gte=8.0) # rating >= 8.0
authors = Author.objects.filter(rating__lte=5.0) # rating <= 5.0
@sunmeat
sunmeat / views.py
Created March 25, 2026 12:56
CRUD операції. одна таблиця. команди для python manage.py shell
from datetime import datetime
from django.shortcuts import render
from django.http import HttpRequest
from app.models import Author
# ── CREATE ────────────────────────────────────────────────────────────────────
def author_create_method1(request):
"""Вставка автора через objects.create() - один рядок, одразу зберігає в БД"""
python manage.py shell
from django.apps import apps
apps.get_models()
from app.models import Author, Book
# ── ДОДАВАННЯ ─────────────────────────────────────────────────────────────────
@Vitka999
Vitka999 / Client.cpp
Created March 25, 2026 12:03
Потужний чат
#include <iostream>
#include <string>
#include <thread>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
@sunmeat
sunmeat / models.py
Created March 25, 2026 11:51
налаштування констрейнтів
from django.db import models
from django.db.models import Q, F # для складних запитів, наприклад, для перевірки умов у CheckConstraint
# Q використовується для створення складних умов, F використовується для посилання на інші поля в моделі при створенні обмежень або запитів
# https://docs.djangoproject.com/en/6.0/ref/models/querysets/#django.db.models.Q
# https://docs.djangoproject.com/en/6.0/ref/models/expressions/#django.db.models.F
class Author(models.Model):
name = models.CharField(max_length=100, unique=True)
birth_year = models.IntegerField(null=True, blank=True)
rating = models.DecimalField(max_digits=3, decimal_places=1, default=5.0)
@sunmeat
sunmeat / settings.py
Created March 25, 2026 11:27
налаштування .env
import os
from dotenv import load_dotenv
load_dotenv()
.....
DATABASES = {
'default': {
'ENGINE': os.getenv('DB_ENGINE'),
@AriaEbervine
AriaEbervine / client.cpp
Created March 23, 2026 17:02
чат на TCP
#include <ws2tcpip.h>
#include <iostream>
#include <string>
using namespace std;
#pragma comment (lib, "Ws2_32.lib")
#define MESSAGE_LENGTH 4096
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT "8888"
#include <iostream>
#include <string>
#include <thread>
#include <cstring>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <cstdlib>
#include <vector>
@sunmeat
sunmeat / task.md
Created March 21, 2026 11:45
ДЗ: трирівнева архітектура у курсовому командному проєкті

Спробувати застосувати трирівневу (three-layer) архітектуру для фінального курсового проєкту. Мають бути такі рівні:

  • Presentation Layer — контролери та представлення
  • Business Logic Layer — сервіси
  • Data Access Layer (DAL) — рівень доступу до даних

Необхідно реалізувати Data Access Layer, зокрема:

Створити класи-репозиторії для роботи з сутностями бази даних. Забезпечити взаємодію з репозиторіями через абстракцію IRepository для досягнення слабкої зв’язаності (low coupling).