GithubHelp home page GithubHelp logo

homework-2's Introduction

homework-2

Сопроводительное письмо

  1. Таблицы в PostgreSQL:

Написал скрипт для создания требуемых таблиц опираясь на книгу "Postgres. Первое знакомство" Лузанова, Рогова, Лёвшина и сайт postgrespro.ru

Пользователь: postgres Пароль: qwe123

Таблица "User" из условия в моей БД называется "Users", столкнулся с зарезервированным именем. В дальнейшем нашел, что конфликта с именем можно было избежать указав название как: 'User'.

Тип данных "String" из условия - выбрал тип данных "Text", так как не имеет ограничения на число символов, в отличии от "Char" и "Varchar".

Столбцу "date_created" таблицы "Item" прописал условие DEFAULT NOW() для сохранения времени и даты записи.

Для реализации условия "cascade delete" для столбцов таблицы "Item" добавил связь между ними и таблицами "Category" и "Users" через "REFERENCES ... ON DELETE CASCADE".

Создал индексы для требумых столбцов, выбрал раздельные, для того, чтобы обеспечить возможность поиска по индексу по полям "category_id" и "user_id" в отдельности для каждого параметра.

БД разместил в папке в виде бэк-апа, созданного с помощью pg_dump, "testbd.pgsql". Так же нашел информацию о возможности перемещения данных копированием папки Data и внесением изменений в файл "postgresql.conf", копия находится в папке "sql:\testdb"

  1. API, используя Go.

API писал в Visual Studio Code с расширением Go Extension. Опирался на статьи по написанию API для таблиц Postgres в интернете.

Разобрал несколько примеров, код последнего по-которому делал, находится в "cmd:\main.go"

Прописал параметры соединения с БД, описал связи параметров из БД с API через Json. С помощью mux описал, каким образом проходит соединение БД и API. Описал функции по получению, добавлению и удалению(по category_id) данных из таблицы.

Упёрся в то, что не смог протестировать работоспособность API. Тестировать пробовал через Postman и Thunder. Изначально попробовал отправить запрос "GET" на порт, указанный в разбираемом примере(8000). Получил ошибку запроса. Нашел информацию о том, что необходимо отправлять запрос на "localhost:8000", попробовал, получил другую ошибку. Нашел информацию о том, что необходимо прописать запрос через ip. Столкнулся, с неправильно выбраным протоколом(https вместо http) После исправления протокола столкнулся с ошибкой ран-тайма запроса. Попробовал изменить порт на 5432, как на используемый PostgreSQL, столкнулся с неработающим "Shell SQL", ошибка с ран-таймом осталась без изменений.

После этого полез разбираться, каким образом могу загрузить имеющееся на GitHub для отправки пул реквеста.

homework-2's People

Contributors

oldcyber avatar mhgrank avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.