Когда разработчики переходят от написания скриптов к созданию полноценных сайтов, они сталкиваются с новыми понятиями и инструментами. Эти знания выходят далеко за рамки языка, поэтому на этом этапе нужно углублять понимание операционных систем и сетей, осваивать работу с регистраторами и хостингом, отрабатывать навыки деплоя сайта.
На собеседованиях веб-программисты часто слышат такой вопрос:
«Что происходит, когда пользователь набирает сайт google.com в адресной строке браузера и нажимает Enter?»
Очень подробный ответ на этот вопрос доступен здесь. Через этот вопрос интервьюер хочет проверить, насколько хорошо вы разбираетесь в ключевых темах веб-разработки:
- Как DNS-запрос получает IP-адреса домена
- Как работает соединение с веб-сервером на порту 443 или 80 по TCP
- Как HTTP-запрос получает содержимого сайта по указанному домену
- Как происходит получение ответа и рендеринг содержимого во вкладке браузера
Каждый из этих пунктов неявно подразумевает, что вы знакомы со следующими темами:
- Протоколы HTTP и HTTPS
- Виртуальные хосты
- Принципы работы DNS
- Порты, маски и подсети в TCP/IP
- Модель OSI
- Сетевые сокеты
- Принципы работы веб-серверов
Изучить эти темы можно с помощью наших гайдов или книг по операционным системам из нашего списка рекомендаций. Если говорить о самой разработке, то здесь открывается целый пласт неизведанного:
- Фреймворки
- Микрофреймворки
- Роутинг
- Куки и сессии
- Безопасность
- Шаблонизация
- Взаимодействие с базой данных и многое другое
А еще сайт находится на удаленном сервере, поэтому в разработку включается деплой — разворачивание сайта на хостинге. Чтобы развернуть сайт, нужно настроить удаленную машину с помощью Ansible или других похожих инструментов.
Кстати, сам хостинг бывает очень разный:
- IaaS (AWS)
- PaaS (Render)
- Shared Hosting (виртуальный хостинг)
- VPS/VDS
В этом курсе мы не успеем подробно раскрыть все эти важные темы, потому что основное внимание будет уделять веб-разработке с помощью микрофреймворков. Поэтому мы советуем выполнять все домашние задания и параллельно выкатывать код на Render или другой подобный сервис. Так материал усвоится лучше.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.