Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

О курсе Python: Веб-разработка (Flask)

Переход от написания скриптов (то, что мы делали ранее) к созданию полноценных сайтов сопровождается необходимостью знакомиться с большим числом понятий и инструментов, выходящих далеко за рамки языка. Взаимодействие с внешним миром вовлекает в себя знание операционных систем, в частности сетей, работу с регистраторами, хостингом, деплоем сайта. На собеседованиях веб-программистов часто задают вопрос "Что происходит после того как в адресной строке браузера набирается сайт www.google.com и нажимается enter?". Очень подробный ответ на этот вопрос доступен здесь. Спрашивающий в этот момент хочет услышать от вас ключевые понятия, связанные с веб-разработкой.

  1. Выполнение DNS-запроса для получения IP-адреса домена
  2. Соединение с веб-сервером, находящемся по этому адресу на порту 443 (или 80) по TCP
  3. Выполнение HTTP-запроса для получения содержимого сайта по указанному домену
  4. Получение ответа и рендеринг содержимого во вкладке браузера

Каждый из этих пунктов неявно подразумевает знание следующих тем:

  • Протокол HTTP. Понятие виртуальных хостов. Желательно понимание принципов работы HTTPS
  • Принципы работы DNS
  • Знание TCP/IP. Понятия: порт, маска, подсети. Модель OSI. Сетевые сокеты
  • Веб-сервер. Что это такое, как работает и зачем нужен

На Хекслете есть ответы на некоторые из этих вопросов, но большую часть материала придется почерпнуть из сторонних источников (со временем мы будем добавлять его к себе например на https://guides.hexlet.io). Подавляющее большинство ответов на указанные темы можно (и нужно!) получить в книгах по операционным системам. В наших рекомендованных книгах есть все необходимое.

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

Если говорить про саму разработку, то здесь также открывается целый пласт неизведанного. Фреймворки, микрофреймворки, роутинг, куки, сессии, безопасность, шаблонизация, взаимодействие с базой данных и многое другое. И даже когда вы научитесь разрабатывать сайт, это еще не конец. Сайт доступен пользователям только находясь на удаленном сервере, а значит в разработку включается понятие "деплой", то есть процесс развертывания сайта на хостинге. Причем чтобы сайт развернуть, для начала нужно настроить удаленную машину (или машины) используя инструмент наподобие Ansible. Кстати, сам хостинг бывает очень разный: IaaS (AWS), PaaS (Railway), Shared Hosting (виртуальный хостинг), VPS/VDS.

Данный курс посвящен в первую очередь разработке сайтов с использованием микрофреймворков и темы, указанные выше, включает в себя лишь поверхностно (и то не все). Поэтому крайне рекомендуется выполнять задачи не только в среде Хекслета, но и локально, параллельно выкатывая код на сервис, подобный Railway.


Дополнительные материалы

  1. Что такое протокол HTTPS, и как он защищает вас в интернете
  2. Как работает DNS

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
1 декабря 10 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Изображение Тото

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