Файл: Функциональные Нефункциональные Связанные с изменениями.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 40
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Клиент-сервер
Клиент – это графический интерфейс приложения (например, браузер, мобильное приложение, игра, десктопное приложение, например, Microsoft Outlook). Т.к. клиент — это интерфейс, то его разрабатывает frontend программист, в соответствии с макетами, которые предоставил ему дизайнер.
Сервер – это сервер, принимающий HTTP-запросы от клиентов и выдающий им HTTP-ответы. Сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает.
База данных — это система, предназначенная для хранения данных на сервере. Базы данных функционируют под управлением так называемых систем управления базами данных (далее – СУБД). Самыми популярными СУБД являются MySQL, MS SQL Server, PostgreSQL, Oracle. Сервер и базы данных разрабатывает backend программист
TCP/IP: Протокол Управления Передачей и Интернет-Протокол являются коммуникационными протоколами, которые определяют, каким образом данные должны передаваться по сети. Они как транспортные средства, которые позволяют сделать заказ, пойти в магазин и купить ваши товары. В нашем примере, это как автомобиль или велосипед (или собственные ноги).
DNS: Система Доменных Имён напоминает записную книжку для веб-сайтов. Когда мы вводим URL-адрес (адрес сайта) в своём браузере, браузер обращается к DNS, чтобы найти реальный адрес веб-сайта (IP-адрес), прежде чем он сможет его получить. Браузеру необходимо выяснить, на каком сервере живёт сайт, чтобы он смог отправить запрос в нужное место.
HTTP: Протокол Передачи Гипертекста — это протокол, который определяет язык для клиентов и серверов, чтобы общаться друг с другом. Как мы поняли HTTP – это язык, с помощью которого взаимодействуют между собой клиент и сервер.
Чем отличаются HTTP от HTTPS — HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP с надстройкой шифрования; — Передаваемые по протоколу HTTP данные не защищены, HTTPS обеспечивает конфиденциальность информации путем ее шифрования; — HTTP использует порт 80, HTTPS — порт 443
Методы HTTP-протокола
GET | POST | PUT | DELETE |
Получение данных с сервера (например, когда мы что-то ищем в google, листаем ленту в Instagram, смотрим видео на YouTube). (Работаем с имеющимися данными.) | Создать новые данные (например, отправляем сообщение в vk, записали историю в Instagram, добавили комментарий под видео в YouTube). (Создаём новые данные.) | Обновить данные или создать новые, если таких не существует (например, изменить логин в Instagram, отредактировать отправленное сообщение vk). (Изменяем имеющиеся данные.) | Удалить данные (например, удалить пост из Instagram, удалить сообщение vk, удалить видео с канала на YouTube). (Удаляем имеющиеся данные.) |
Данные отправляются на сервер в URL-адресе | Данные отправляются на сервер в теле запроса | ||
3 заголовка (основные, запроса, ответа) | 4 заголовка (основные, запроса, ответа и тело запроса) |
Обычно, данные передаются в формате JSON
JSON представляет собой текстовый формат данных в виде набора пар ключ: значение.
Ключ – это характеристика или свойство (например, логин, пароль, имя, фамилия, возраст, текст сообщения и т.д.) (Ключи придумывают программисты и они могут их назвать так как им вздумается.)
Значение – это то, чему эта характеристика равна (например, alex, Qwerty123, Иван, Иванов, 23, привет.)
Основные типы данных
Integer (Int). Целые числа, например, 0, -100, 256, 34900
Float / Doable. Числа с плавающей точкой, например, 0.1, -2.5, 100.25
String. Строки – любое значение, заключенное в двойные кавычки, например, "Привет" , "Apple ", "".
Boolean. Логический тип. Выбор из двух значений true или false (т.е. правда или ложи, да или нет).
null. Значение не задано или неизвестно.
Массив. Коллекция значений или просто список. (Например, список учеников в классе ["Ирина Петрова", "Григорий Мишин", "Алиса Тришина", "Михаил Гвоздев", "Мария Астапова"]).
Объект. Коллекция пар типа ключ-значение. Тот же самый JSON. (Например, {"name": "Иван", "surname": "Иванов"}).
Статус код
1ХХ - Информационные | (102 Processing - "В обработке". Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена.) |
2ХХ – Успешные | (200 OK – "Успешно". Запрос успешно обработан.) |
3ХХ – Перенаправления | (302 Found - "Найдено". Этот код ответа значит, что запрошенный ресурс временно изменён. Например, при переходе на vk.com пользователя 302 статус кодом переведут на страницу vk.com/feed.) |
4ХХ - Клиентские ошибки | (404 Not Found – "Не найден". Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.) |
5ХХ - Серверные ошибки | (500 Internal Server Error - "Внутренняя ошибка сервера". Сервер столкнулся с ситуацией, которую он не знает, как обработать.) |
Базы данных
Postgres – база данных, использовавшаяся на нашем проекте.
PgAdmin – администратор баз данных, с помощью которого делали запросы к базе.
SQL – язык запросов к базе данных.
Основные команды SQL
Select – выбрать данные из таблицы
Select where – выбрать данные из таблицы по условию
Update – обновить данные в таблице
Insert into – вставить данные в таблицу
Delete – удалить данные из таблицы
Group by – сгруппировать данные в таблице
Join – обновить таблицы
Агрегатные Функции:
Min – выбрать минимальное значение
Max – выбрать максимальное значение
Avg – выбрать среднеарифметическое значение
Count – посчитать количество
Sum – посчитать сумму
Виды объединений таблиц (джоинов):
inner join - выводит только совпадения из обоих таблиц
left join - все данные из левой таблицы и только совпадения из правой
right join - все данные из правой таблицы и только совпадения из левой
full join - выведутся все данные из обеих таблиц
Для тех записей, у которых нет совпадений ставится значение null