Веб-разработчик разрабатывает сайт на языках HTML, CSS и JavaScript. Создаёт интерфейсы с помощью библиотеки React. Настраивает Git, чтобы работать в команде, и Webpack, чтобы собирать файлы проекта автоматически. Веб-разработчик разбирается и в устройстве сервера: может настроить Nginx и запрограммировать сервер на Node.js.
Как вы будете учиться
За 10 месяцев обучения в среднем по 15 часов в неделю вы освоите востребованные навыки веб-разработчика и соберёте портфолио проектов.
Учим в собственной технологической среде
Погружение в IT-профессию подразумевает постоянный контакт с изучаемыми технологиями, выполнение практических заданий и общение с наставником. Для этого мы создали собственную среду обучения.
Программа курса
Курс посвящён базовому синтаксису HTML и CSS. Вы научитесь управлять цветом и шрифтами, размещать блоки на странице. Всё это — через практику: выполните в тренажёре 4 проекта. Вы напишете программу на языке JavaScript и сделаете страницу интерактивной.
В этом курсе вы расширите знания о семантике HTML-разметки, необходимых CSS-технологиях: flexbox, позиционирование элементов, работа с медиафайлами и виджетами, создание анимаций, работа с формами. Изучите методологию БЭМ — самый популярный в мире подход к организации кода.
Современному сайту необходимо окружение из вспомогательного программного обеспечения. В этом курсе вы подключите к проекту систему контроля версий Git и научитесь работать в командной строке.
На этом курсе вы узнаете, какие виды дизайн-макетов используют в работе профессионалы и как готовить макет к вёрстке. Научитесь выстраивать модульные сетки и группировать элементы технологией Grid Layout. Разберётесь, как создавать интерфейсы для разных устройств: настольных компьютеров, ноутбуков, планшетов, смартфонов.
В этом курсе вы продолжите развивать инфраструктуру проекта: освоите инструменты коллективной работы, разместите сайт в интернете и научитесь публиковать изменения в нём из командной строки.
Полноценное погружение в JavaScript. Исследуете типы данных, научитесь работать с условиями, циклами и функциями. Пустите в ход теорию в настоящем проекте — сделаете сайт интерактивным.
Освоите сложные концепции языка: объектно-ориентированное программирование, асинхронность, замыкания и обмен данными с сервером. Вы познакомитесь с менеджером пакетов npm и научитесь добавлять зависимости в свой проект.
Побудем в роли злоумышленника — научимся атаковать системы для выявления слабостей в системе безопасности. Детально рассмотрим уязвимости веб-сервисов — как серверной части, так и клиентской части.
Узнаете, как строятся различные подходы к аутентификации и авторизации, как работают OAuth, JWT, что такое Single Sign On и где стоит идти на уступки в угоду масштабируемости, отказоустойчивости и доступности. В деталях разберём OWASP и попрактикуем пентестинг.
Практика:
Попробуем себя в роли атакующего: «взломаем» уязвимый сервис с помощью SQL Injection и посмотрим, к чему это может привести (от внедрения кода до кражи БД и выполнения произвольных команд на сервере). А потом посмотрим, как можно защититься.
Authentication — попробуем себя в роли атакующего: подстроим кражу аутентификационных данных и используем их для неправомерного доступа к системе от лица пользователя.
Компания Y предоставляет комплексное веб-приложение в сфере электронной коммерции. И недавно столкнулась с массовой утечкой данных о своих пользователях и их покупках. «Брешь», через которую произошла утечка, вроде как устранили, но компания хочет провести комплексное тестирование на проникновение и анализ процесса разработки.
Вам предстоит провести тестирование на проникновение и анализ процесса разработки. Подготовить отчёт о найденных «слабостях» системы и процессов и дать рекомендации по необходимым мерам для их устранения и предложения по улучшению процесса разработки.
Разберёмся, как организовать безопасность: от настройки средств защиты информации (СЗИ) до регламентации процесса. Научимся организовывать мониторинг событий безопасности, реагировать на инциденты и расследовать их. Научитесь целиком выстраивать процесс: от установки средств защиты информации до оповещения заинтересованных лиц и разбора инцидентов.
Нельзя построить «совершенную защиту», но можно правильно оценить риски, расставить приоритеты и выработать чёткие планы реагирования. Как раз эти навыки вы и приобретёте.
Познакомимся с основными видами киберпреступлений и инцидентов информационной безопасности. Разберём мотивацию киберпреступников, их образ, цели, техники и тактики.
Практика:
Memory dump — попробуем себя в качестве компьютерного криминалиста: проанализируем дамп оперативной памяти, поищем подозрительные сетевые соединения и вредоносные процессы. Научимся находить следы закрепления в системе и дальнейшего распространения по сети.
Disk image — углубимся в компьютерную криминалистику: на этот раз проанализируем побитовую копию жесткого диска. Попробуем найти артефакты в соответствии с Intrusion Kill Chain. Восстановим техники и тактику атакующих.
Поймёте, что такое инциденты в информационной безопасности. Научитесь оценивать критичность инцидентов. Познакомитесь с рядом технологий, которые стоят на страже кибербезопасности и применяются в расследовании и предотвращении инцидентов ИБ.
Практика:
Научимся читать и анализировать отчеты, правильно интерпретировать и применять полученную информацию для лучшего понимания техник и тактик атакующих, атрибуции группировок, проактивного поиска угроз и выстраивания защиты в организации.
Научимся корректно строить сложные гипотезы, проверять их на практике, а также получать новые индикаторы компрометации для проактивного поиска скрытых угроз.
«Инцидент» — службой безопасности компании Х зафиксирована подозрительная сетевая активность. Вам предстоит проанализировать ситуацию, расследовать инцидент и проанализировать активность атакующих.
Вы подготовите подробный отчёт о проведённом расследовании.
Практические навыки:
1. Работа с дампами оперативной памяти
2. Работа с побитовыми копиями
3. Анализ активности атакующих
4. Восстановление техник и тактик атакующих
5. Составление отчета о криминалистическом исследовании