Программист практик | уроки программирования | подготовка к собеседованию
134 subscribers
126 photos
3 videos
1 file
21 links
разбор собесов, ответы на вопросы, решение задач

Для связи со мной:
@IvanReshet
Download Telegram
HTTP (HyperText Transfer Protocol)
(определяет как клиент и сервер должны обмениваться информацией).

Основные этапы работы HTTP:
1. Запрос: клиент отправляет запрос на сервер, указывая URL (Uniform Resource Locator) ресурса, который ему требуется.

2. Ответ: сервер получает запрос и отвечает на него, отправляя клиенту информацию о ресурсе.

3. Авторизация: если ресурс, который запрашивает клиент, требует авторизации, сервер проверяет права доступа клиента и может отказать в доступе, если они не подтверждены.

4. Кодирование: сервер кодирует данные, которые он хочет отправить клиенту, используя формат, который понимает клиент.

5. Передача: данные передаются от сервера к клиенту.

6. Получение: клиент получает данные от сервера и начинает их обрабатывать.

7. Использование: клиент использует полученные данные для отображения веб-страницы или выполнения других действий.

8. Кэширование: если данные не были изменены, клиент может использовать данные из своего кэша, чтобы избежать повторной загрузки.

#статьи
👍10🔥2
Этапы работы HTTP-протокола:

1. Браузер определяет по какому URL будет отправлен HTTP-запрос.
(актуально не всегда)
2. Генерируется и отправляется запрос на сервер.
(запрос состоит из стартовой строки, заголовка и тела запроса)
3. Запрос отправляется на сервер при помощи других протоколов.
4. Сервер принимает запрос, обрабатывает его и отправляет ответ.
(ответ также состоит из стартовой строки, заголовка и тела запроса)
5. Клиент получает данные от сервера
(если это был запрос на страницу, то выводит ее в браузере)

#статьи
👍9🔥1
Структура HTTP-запроса:

1 часть: Стартовая строка (метод http-запроса, URL ресурса, версия протокола).

2 часть: HTTP-заголовки (информация о конфигурации клиента, типах данных и т.д. Завершается пустой строкой).

3 часть: Тело сообщения - доп. данные отправляемые на сервер (не обязательно)

#статьи
👍5🔥1
Методы HTTP - запроса:

1. GET - используется для получения данных с сервера.
2. POST - используется для отправки данных на сервер для обработки.
3. PUT - используется для обновления данных на сервере.
4. DELETE - используется для удаления данных на сервере.
5. PATCH - используется для частичного обновления данных на сервере.
6. OPTIONS - используется для получения информации о доступных методах запроса для конкретного ресурса.
7. HEAD - используется для получения заголовков ответа без тела ответа.
8. TRACE - используется для тестирования соединения и отслеживания маршрута запроса.
9. CONNECT - используется для установления туннеля к серверу, определенному по URI.
👍3🔥3
Данный код позволяет определить успешно ли был выполнен HTTP-запрос.

#статьи
👍5
Готовимся к завтрашнему тесту по теме TCP-IP и HTTP 😉
👍3🕊2😁1
Коллеги, доброе утро!
Сегодня будет отличный день.
Мы займемся практикой! Найдем где прячутся эти самые запросы и ответы, создадим свой запрос, отправим его на сервер и получим ответ. А также не забываем про проверку знаний!)))
👍7🔥4
Как посмотреть запросы отправляемые браузером?

1. Вбиваем в поиске браузера запрос на любой сайт (например википедиа)
2. Открываем сайт
3. Нажимаем F12 (в Chrome)
4. Выбираем вкладку Network
5. Во вкладке all можно увидеть все сетевые запросы
6. Нажав на один из них вы сможете подробно увидеть информацию о запросе.

#статьи
👍6🔥3
Отправляем сами GET запрос на сервер.

Воспользуемся открытым API "worldtimeapi" чтобы получить время и дату с сервера.
Нам понадобится HTTP-клиент для тестирования API.
Для этого скачаем и установим программу Postman https://www.postman.com/downloads/
Пройдем простую регистрацию и запустим программу.
Далее выполним 6 простых шагов:
1. Откроем новую вкладку в Postman
2. Укажем тип запроса GET
3. Вставим в строку ввода тестовые данные curl с сайта https://worldtimeapi.org/
либо просто скопируйте http://worldtimeapi.org/api/timezone/Europe/Moscow
4. Нажимаем кнопку SEND в Postman для отправки запроса на сервер.
5. Убедитесь в строке вывода данных что у вас выбран формат JSON и Pretty.
6. Поздравляю! Вы только что получили ответ с сервера и можете использовать эти данные.

#статьи
🔥4
Утром задача. Вечером решение.
Делимся своими решениями в комментариях.
👍7
ЗАДАЧА:
Дана строка формата JSON.
{
"abbreviation": "MSK",
"client_ip": "87.117.3.254",
"datetime": "2023-12-19T12:04:13.837416+03:00",
"day_of_week": 2,
"day_of_year": 353,
"dst": false,
"dst_from": null,
"dst_offset": 0,
"dst_until": null,
"raw_offset": 10800,
"timezone": "Europe/Moscow",
"unixtime": 1702976653,
"utc_datetime": "2023-12-19T09:04:13.837416+00:00",
"utc_offset": "+03:00",
"week_number": 51
}

Вывести в консоль текущую дату в виде:
2023-12-19

Решение можете представить с использованием любого языка.
Делитесь своим кодом в комментариях.
🔥6👍1
Как называется процесс получения объекта по ссылке в с++?
разыменование
Как получить имя класса объекта в Python?

Ответ:
obj._class_._name_
Уже есть решение задачи на Java и Python. Может завтра утром появятся ещё варианты и на других языках?) Кто сделал, вы лучшие 💪
👏6
Даны две матрицы.
Определите алгоритм заполнения первой матрицы и найдите максимальное значение во второй матрице, которая должна быть заполнена по тому же принципу.

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

Даны две матрицы.
Определите алгоритм заполнения первой матрицы и найдите максимальное значение во второй матрице, которая должна быть заполнена по тому же принципу.

Свой ответ пишите в комментариях.
Ответ на задачу с матрицами:

2132
Данные в матрице заполняются по спирали начиная с верхнего левого угла по часовой стрелке.
Каждое следующее значение является суммой всех предыдущих значений в текущем столбце или строке по направлению движения спирали.

Матрица 2 будет выглядеть так:
1        1          2           4
512    512     1024    4
256    2132   1026    8
128    2068   2052    16
128    64        32        32
🤯9