Бд готова, осталось защитить ее. Все делалось исключительно SQL скриптом, создание таблиц, вставка, тригеры, ограничения ну и запросы само собой. 5 простых запросов, 5 запросов с агрегиующими функциями(min, max, sum), 5 вложенных(скалярные, коррелированные,некоррелированные), 3 материализованных представления, 3 обычных представления. 5 запросов join(left, inner, right). И пару запросов с with as.
Диаграмма базы на фото
Диаграмма базы на фото
💊7👍1🔥1👏1🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Какой frontend, python + Minecraft наше всё
🔥7💩6
Такие макеты верстал на парах
🔥3
Пытаюсь связаться с апишкой (exchangerate-api), с сервера приходит код 200, значит запрос выполнен успешно, но при преобразовании в json выдаёт ошибку
DeepSeek утверждает, что проблема либо в ключе и URL, либо сервер не отвечает, либо блокирует запрос. Но странно, что статус запроса при этом 200.
Проект фактически сделан, но апишка всё портит.
P.S Код файла в комментариях или по ссылке: http://github.com/Holman52/crypto/blob/main/src/utils/useConvertRate.jsx
Unexpected token '<', "<!doctype "... is not valid JSON
Для сравнения: ответ который я должен получить находится на первом фото, но получаю я совершенно другой(находится на втором фото). Все методы перепробовал - ключ правильный, URL тоже. DeepSeek утверждает, что проблема либо в ключе и URL, либо сервер не отвечает, либо блокирует запрос. Но странно, что статус запроса при этом 200.
Проект фактически сделан, но апишка всё портит.
P.S Код файла в комментариях или по ссылке: http://github.com/Holman52/crypto/blob/main/src/utils/useConvertRate.jsx
👀2🔥1🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
ДЕНЬ 130
Разработал простенький конвертор валют. Пользователь вводит число и необходимые валюты, затем получает результат курса. Были проблемы с апишкой, так как первый раз в реакте использовал апишку, засунул .env с ключом в SRC, тем самым получал значение undefined при попытке получить коэффициент конвертации.
Весь проект стоит оптимизировать, чтобы компоненты не рендерились повторно из-за мелких изменений.
Также перешёл на vite, очень удобный инструмент сборки. Было неудобно создавать проект при create-react-app, так как при написании верстки приходилось перезапускать сервер. Стоит отметить, что очень у vite простая и быстрая настройка для создания проекта.
Разработал простенький конвертор валют. Пользователь вводит число и необходимые валюты, затем получает результат курса. Были проблемы с апишкой, так как первый раз в реакте использовал апишку, засунул .env с ключом в SRC, тем самым получал значение undefined при попытке получить коэффициент конвертации.
Весь проект стоит оптимизировать, чтобы компоненты не рендерились повторно из-за мелких изменений.
Также перешёл на vite, очень удобный инструмент сборки. Было неудобно создавать проект при create-react-app, так как при написании верстки приходилось перезапускать сервер. Стоит отметить, что очень у vite простая и быстрая настройка для создания проекта.
🔥4👏1💩1
🔧 Всю неделю делал вёрстку через gulp по макету: 📎 https://www.figma.com/design/YzuOcBWGO4pOCW7O3I3KOw/eCommerce_Website_Web_Page_Design_UI_KIT_Interior_Landing_Page_Community?node-id=0-1&t=xnXgLPxzXbYe5Xxi-1
Прикольная штука для автоматизации рутинных задач по вёрстке. 🔨 Перед началом работы нужно установить огромное количество пакетов + настроить всё через конфиг.
⚙️ Конфиг включает:
- Автоматическую конвертацию изображений в webp
- Ресайз изображений под разные устройства
- Компиляцию SCSS → CSS (писал на SCSS)
🔄 В Gulp используется похожая на React логика компонентов, но с другим синтаксисом:
- Вставка: @@include (Gulp) vs JSX (React)
- Данные: @@переменные (Gulp) vs props (React)
📸 Примеры:
- Компонент на React
- Компонент на Gulp
- Вставка в HTML
Вёрстка немного кривая, на айфоне текст может съехать
🚀 Результат: 📎 https://holman52.github.io/host-gulp/
Как такого JS нет, только на открытие корзины
Прикольная штука для автоматизации рутинных задач по вёрстке. 🔨 Перед началом работы нужно установить огромное количество пакетов + настроить всё через конфиг.
⚙️ Конфиг включает:
- Автоматическую конвертацию изображений в webp
- Ресайз изображений под разные устройства
- Компиляцию SCSS → CSS (писал на SCSS)
🔄 В Gulp используется похожая на React логика компонентов, но с другим синтаксисом:
- Вставка: @@include (Gulp) vs JSX (React)
- Данные: @@переменные (Gulp) vs props (React)
📸 Примеры:
- Компонент на React
- Компонент на Gulp
- Вставка в HTML
Вёрстка немного кривая, на айфоне текст может съехать
🚀 Результат: 📎 https://holman52.github.io/host-gulp/
Как такого JS нет, только на открытие корзины
🔥6
ДЕНЬ 131
Устанавливал PHP на комп, изначально хотел через XAMPP (так как там не нужно настраивать вручную и куда проще скачать), но мне не удалось даже начать загрузку, поэтому устанавливал вручную:
- PHP
- Apache
+ Делал настройку под PostgreSQL
Изначально установил не ту версию PHP, которая не предназначена под Apache, из-за этого пришлось переустанавливать на другую версию.
Прописал одну команду в тестовый файл PHP и запустил локалку → получил вывод инфы о PHP → следовательно всё работает.
Вчера смотрел про оптимизацию в React и добавил:
-
-
в компоненты.
Устанавливал PHP на комп, изначально хотел через XAMPP (так как там не нужно настраивать вручную и куда проще скачать), но мне не удалось даже начать загрузку, поэтому устанавливал вручную:
- PHP
- Apache
+ Делал настройку под PostgreSQL
Изначально установил не ту версию PHP, которая не предназначена под Apache, из-за этого пришлось переустанавливать на другую версию.
Прописал одну команду в тестовый файл PHP и запустил локалку → получил вывод инфы о PHP → следовательно всё работает.
Вчера смотрел про оптимизацию в React и добавил:
-
useCallback-
memo в компоненты.
❤2🔥2🎅1
This media is not supported in your browser
VIEW IN TELEGRAM
ДЕНЬ 132
PHP установлен, осталось только подключить его к проекту. Изначально я пытался сделать так, чтобы в одном проекте находились и фронтенд, и бэкенд. Я настраивал конфигурацию Apache, чтобы он запускал файлы PHP на локалке не только из своей папки, но и из проекта, но так и не смог это сделать. Поэтому в папке htdocs (откуда запускаются файлы PHP на локалке) я создал еще одну папку для проекта и оттуда уже запускал PHP.
Так как сервер и фронтенд находятся на разных портах, их нужно было как-то связать. В запросе я указывал localhost:80 (80 — порт моего сервера), но при отправке он уходил на localhost:5173 (5173 — порт для фронтенда) и на localhost:80. Чтобы это исправить, нужно было немного изменить конфигурацию Vite для сервера. После этого запрос обрабатывался корректно и выводил результат, который написан на PHP.
На PHP был написан простенький код для чтения файла и вывода его содержимого.
При нажатии на кнопку содержимое файла выводится к консоль
PHP установлен, осталось только подключить его к проекту. Изначально я пытался сделать так, чтобы в одном проекте находились и фронтенд, и бэкенд. Я настраивал конфигурацию Apache, чтобы он запускал файлы PHP на локалке не только из своей папки, но и из проекта, но так и не смог это сделать. Поэтому в папке htdocs (откуда запускаются файлы PHP на локалке) я создал еще одну папку для проекта и оттуда уже запускал PHP.
Так как сервер и фронтенд находятся на разных портах, их нужно было как-то связать. В запросе я указывал localhost:80 (80 — порт моего сервера), но при отправке он уходил на localhost:5173 (5173 — порт для фронтенда) и на localhost:80. Чтобы это исправить, нужно было немного изменить конфигурацию Vite для сервера. После этого запрос обрабатывался корректно и выводил результат, который написан на PHP.
На PHP был написан простенький код для чтения файла и вывода его содержимого.
При нажатии на кнопку содержимое файла выводится к консоль
🙉2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
ДЕНЬ 133
Для практики с PHP решил сделать дефолтный таск-менеджер с подключением базы данных.
Когда создаешь задачу — форма отправляется и данные заносятся в БД. Также сделал отображение задач из базы на сайт, но есть нюансы:
1️⃣ При отправке формы перекидывает на страницу с PHP-файлом. Пытался это пофиксить, убирая дефолтное поведение браузера при отправке формы, но в этом случае данные не заносятся в БД.
2️⃣ Данные из БД отображаются не динамически — нужно перезагружать страницу. Можно пофиксить, задав интервал рендера компонента, но, думаю, лучше использовать вебсокеты.
Также всё это дело нужно стилизовать и довести до ума, разумеется.
Для практики с PHP решил сделать дефолтный таск-менеджер с подключением базы данных.
Когда создаешь задачу — форма отправляется и данные заносятся в БД. Также сделал отображение задач из базы на сайт, но есть нюансы:
1️⃣ При отправке формы перекидывает на страницу с PHP-файлом. Пытался это пофиксить, убирая дефолтное поведение браузера при отправке формы, но в этом случае данные не заносятся в БД.
2️⃣ Данные из БД отображаются не динамически — нужно перезагружать страницу. Можно пофиксить, задав интервал рендера компонента, но, думаю, лучше использовать вебсокеты.
Также всё это дело нужно стилизовать и довести до ума, разумеется.
🔥4👨💻1
ДЕНЬ 134
Пытался всю ночь сделать отправку формы без перезагрузки страницы, но не получилось. На бэкенд отправляется два запроса:
-До проверки на PHP (что приходит POST-запрос) – в сети было два ответа: один с ошибкой, другой успешный.
-Данные с формы передаются (всё проверял в консоли).
Скорее всего, из-за неуспешного первого запроса данные не заносятся в БД.
После добавления проверки (фото 1) на отправку POST-запроса приходят два ответа с ошибкой 405, хотя фронт отправляет запрос с методом POST ( фото 2)
Пытался всю ночь сделать отправку формы без перезагрузки страницы, но не получилось. На бэкенд отправляется два запроса:
-До проверки на PHP (что приходит POST-запрос) – в сети было два ответа: один с ошибкой, другой успешный.
-Данные с формы передаются (всё проверял в консоли).
Скорее всего, из-за неуспешного первого запроса данные не заносятся в БД.
После добавления проверки (фото 1) на отправку POST-запроса приходят два ответа с ошибкой 405, хотя фронт отправляет запрос с методом POST ( фото 2)
❤2👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
ДЕНЬ 135
Нашел, в чем была ошибка запросов. В заголовках при отправке с фронта стоял Content-Type, и на бэке тоже. Соответственно, запрос отправлялся дважды. Я пофиксил это, убрав Content-Type при отправке запроса в React.
Также стилизовал отображение данных на странице с возможностью удаления и редактирования (но пока такого функционала нет).
Нашел, в чем была ошибка запросов. В заголовках при отправке с фронта стоял Content-Type, и на бэке тоже. Соответственно, запрос отправлялся дважды. Я пофиксил это, убрав Content-Type при отправке запроса в React.
Также стилизовал отображение данных на странице с возможностью удаления и редактирования (но пока такого функционала нет).
❤2🤷♂1🔥1