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 / task.txt
Created June 21, 2025 10:42
завдання для групи СПР411 на тему структура даних вектор та перевантаження операторів операцій
в код вектора з заняття https://gist.github.com/sunmeat/e1888d2d87ad112e3716809c22d467a7
// додати методи:
// RemoveFromFront() - метод видаляє значення по індексу 0
// Insert(value, index) - метод який вставляє значення по індексу без втрати елемента по індексу
// RemoveByIndex(index) - метод видаляє елемент по індесу
// RemoveByValue(value) - метод видаляє всі вказані значення з масиву
// Sort() - метод сортує масив за зростанням
// Reverse() - метод змінює порядок слідуання елементів на протилежний
// Shuffle() - метод випадковим чином перемішує елементи в масиві
@sunmeat
sunmeat / main.cpp
Created June 21, 2025 10:39
поточна версія кастомного класу вектор
#include <iostream>
#include <windows.h>
#include <algorithm>
using namespace std;
class Vector {
unsigned int capacity = 10; // при створенні масиву, він одразу для себе робить запас пам'яті на 10 елементів
int* data = new int[capacity];
unsigned int length = 0; // фактична (реальна) кількість елементів, присутніх у масиві
@sunmeat
sunmeat / task.txt
Created June 19, 2025 16:48
завдання до класу ерей
використавши саме приклад з уроку за посиланням https://gist.github.com/sunmeat/74becfb24bd3d64314f3bb5e5deb15dd
переписати в класі наступні методи:
- RemoveFromBack
- Print (додати інформацію про ленс та кепесіті)
- конструктор копіювання
дописати наступні методи:
- RemoveFromFront(); // видаляє елемент з початку динамічного масиву
- Insert(value, index); // вставляє нове значення по вказанному індексу (з перевіркою на вихід за межі масиву, існуючий по цьому індексу елемент не має переписуватися)
- RemoveByIndex(index); // видалити один елемент по вказаному індексу (з перевіркою на вихід за межі масиву та присутність там елементів взагалі)
@sunmeat
sunmeat / main.cpp
Created June 19, 2025 16:42
приклад з уроку (клас ерей)
#include <iostream>
#include <windows.h>
#include <algorithm>
using namespace std;
class Array {
unsigned int capacity = 10; // при створенні масиву, він одразу для себе робить запас пам'яті на 10 елементів
int* data = new int[capacity];
unsigned int length = 0; // фактична (реальна) кількість елементів, присутніх у масиві
@sunmeat
sunmeat / App.jsx
Created June 14, 2025 14:26
jotai example
import {useEffect} from 'react';
import {atom, useAtom, Provider} from 'jotai';
import './App.css'; // npm install jotai
// атомы для хранения состояния
const productsAtom = atom([]); // список доступных товаров
const cartItemsAtom = atom([]); // товары в корзине
const statusAtom = atom('idle'); // статус загрузки (idle, loading, succeeded, failed)
const errorAtom = atom(null); // сообщение об ошибке
const searchQueryAtom = atom(''); // поисковый запрос
@sunmeat
sunmeat / App.jsx
Created June 14, 2025 14:10
zustand example
import { useState, useEffect } from 'react';
import { create } from 'zustand'; // npm install zustand
import './App.css';
// создание zustand store для управления корзиной и товарами
const useStore = create((set, get) => ({
products: [], // список доступных товаров
cartItems: [], // товары в корзине
status: 'idle', // статус загрузки (idle, loading, succeeded, failed)
error: null, // сообщение об ошибке
@sunmeat
sunmeat / different files.jsx
Created June 14, 2025 13:58
асинхронный поиск на редаксе
App.jsx:
import {useSelector, useDispatch, Provider} from 'react-redux';
import {configureStore, createSlice} from '@reduxjs/toolkit';
import {useState, useEffect} from 'react';
import './App.css';
// действия для асинхронного поиска товаров с использованием redux-thunk
export const fetchProducts = (searchQuery = '') => async (dispatch) => {
dispatch(setStatus('loading')); // установка статуса загрузки
@sunmeat
sunmeat / different files.jsx
Created June 12, 2025 12:04
simple redux example
App.jsx:
// импортируем хуки и компонент Provider из react-redux
import {useSelector, useDispatch, Provider} from 'react-redux'
// !!! npm install react-redux @reduxjs/toolkit !!!
// хук useSelector позволяет получить доступ к состоянию хранилища - единственного центра данных для всего приложения
// в хранилище (store) обычно лежит один большой объект — дерево состояния, для всего
// useSelector "селектит" (выбирает) нужный кусок данных из этого глобального состояния
@sunmeat
sunmeat / different files.jsx
Last active June 14, 2025 13:31
форма регистрации и логина на редаксе
App.jsx:
import {useSelector, useDispatch, Provider} from 'react-redux';
import {configureStore, createSlice, createAsyncThunk} from '@reduxjs/toolkit';
import {useState} from 'react';
import './App.css';
// создание асинхронного thunk для имитации логина
export const loginUser = createAsyncThunk(
'auth/loginUser', // имя действия