Что такое бэкэнд и его место в 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