Найти тему
Первый опыт

Вводная статья про бэкэнд разработку на python

Оглавление

Что такое бэкэнд и его место в web разработке.

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

Бэкэнд разработчики занимаются тем, что пишут код, который сохраняет и возвращает данные из базы данных, обрабатывает данные, а также реализует различную бизнес логику.

Такой код называют серверным кодом. Обычные пользователи не взаимодействуют с бэкэнд приложением напрямую, они делают это через фронтенд, если пользуются сайтом, или через мобильное приложение.

То, что пользователь использует для взаимодействия с бэкэндом, называют клиентом. Клиент запрашивает данные с бэкэнда, отправляет на него данны или просит его выполнить какие-либо действия, например посчитать сумму двух чисел или отправить уведомления друзьям. Бэкэнд обрабатывает запрос клиента и возвращает ответ. При необходимости, бэкэнд может отправить запрос в базу данных или в другой бэкэнд, чтобы получить дополнительную информацию или выполнить дополнительные действия, за которые этот бэкэнд не отвечает. По аналогии с клиентом, бэкэнд часто называют сервером.

Схема взаимодействия сущностей простого веб приложения
Схема взаимодействия сущностей простого веб приложения

Давайте разберем простой пример взаимодействия клиента и сервера:

клиент: Дай мне топ 5 фильмов этого года (запрос клиент->сервер)
сервер: Хорошо! Сейчас спрошу у базы данных (запрос сервер->БД)
БД: Я посмотрела все фильмы этого года и отсортировала их по рейтенгу. Вот топ 5 фильмов: (ответ БД->сервер)

1) Мохнатые Коты 3

2) Синие Бабочки

3) Бритые Тарелки

4) Шрек 7

5) Фиалки На Снегу

сервер: Отлично! Сейчас сформирую запрос и сообщу клиенту. (обработка данных)
клиент получил ответ от сервера и начал выбирать фильм для просмотра сегодня вечером (ответ сервер->клиент)

Примеры задач бэкэнд разработчика.

Мы уже знаем, чем занимается бэкэнд разработчик, поэтому нетрудно будет представить его задачи. Самые основные задачи, это добавление новых обработчиков запросов или добавлене новых возможностей в уже имеющиеся.

Например, мы хотим, чтобы наш бэкэнд умел отвечать на запрос

Дай мне полную информацию о фильме Мохнатые Коты 3

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

Если мы хотим, чтобы в топ фильмов всегда попадал дополнительный, который мы очень любим и хотим порекомендовать всем, это можно сделать дополнительной логикой, добовляя во все ответы еще один фильм.

Средние зарплаты.

По данным Хабра за 2023 год, средняя зарплата бэкэнд разработчика - 180 т.р.

Что такое Python?

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

Проверьте сами, вот так выглядит строка кода, которая выведет вам "Привет, Мир!" в терминале:

print("Привет, Мир")

А вот так выглядит программа, которая просит пользователя ввести число и умножает его на два:

number = int(input("Введите число: "))
print(number * 2)

Все это позволило занять ему огромную нишу в бэкэнд разработке. Многие большие компании, такие как Google, Netflix, Instagram, Yandex, Vk, Tinkoff и другие, используют бэкэнды, написанные на python.

Питон - интерпретируемый язык программирования. Это значит, что вам не нужно ждать, пока ваша программа скомпилируется в исполняемый файл. Вы просто запускаете интерпретатор питона и он выполняет ваш код 'на ходу'.

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

Пример динамическо типизации:

peremennaya_1 = 2 # число
peremennaya_1 = 'Привет1' # строка
peremennaya_1 = None # пустота

Пример сильной типизации:

peremennya_1 = 2 # число
peremennya_2 = "2" # строка
peremennya_1 + peremennya_2 # тут будет ошибка
# TypeError: unsupported operand type(s) for +: 'int' and 'str'

Основные плюсы и минусы.

Плюсы:

1. Прост в изучении.

2. Большое комьюнити.

3. Множество библиотек и фреймворков.

4. На нем быстро писать код.

5. Интерпретируемый, не нужно ждать компиляции

Минусы:

1. Не самый быстрый язык.

2. Не подходит для некоторых задач, например, для написания драйверов.

3. Не самый удобный для написания многопоточных программ.

4. Интерпретируемый, можно не узнать о некоторых ошибках, пока выполнение кода не дойдет до них.

Больше полезных статей про разработку у нас в телеграм канале -
https://t.me/firstexpedu