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

Для связи со мной:
@IvanReshet
Download Telegram
На выходных ждите большой тест! Тема: базы данных.
10🔥3🤯3
Где освежить память по БД?
Если необходимо вспомнить теорию по БД, рекомендую следующий цикл статей:
Часть первая — habrahabr.ru/post/255361
Часть вторая — habrahabr.ru/post/255523
Часть третья — habrahabr.ru/post/255825
Часть четвертая — habrahabr.ru/post/256045
Часть пятая — habrahabr.ru/post/256169
🔥7
На этой неделе поговорим про базовые знания разработчика.
🔥10
TCP/IP (стек протоколов) описывает процесс передачи данных в сети.
Модель TCP/IP разделена на 4 уровня:

1-й уровень - канальный (определяет как происходит обмен информацией между сетевыми устройствами) включает в себя частоту сигнала, его амплитуду, задержку ответа и т.д.

2-й уровень - межсетевой (предназначен для маршрутизации сигнала по IP)

3-й уровень - транспортный (определяет механизм передачи данных) UDP - передача данных без проверки их целостности TCP - передача данных с проверкой их целостности

4-й уровень - прикладной (обеспечивает интерфейс между ПО, ПК и сетью) установка связи между приложениями сеанса, форматирование и представление данных, обмен данными между программами отправителя и получателя.

#статьи
👍9😱1
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