Иконка

Веб-разработчик

Профессиональная переподготовка, 475 ак.часов/6-10 месяцев

Записаться на курс

Треугольник
Треугольник
Треугольник

Аннотация курса

Курс «Веб-разработчик» рассчитан на начальный уровень подготовки и позволяет за 6-10 месяцев получить новую востребованную профессию, даже если вы никогда ранее не занимались программированием.

В процессе обучения вы освоите основы веб-технологий (HTML, CSS), изучите технологию верстки веб-страниц с применением языка разметки гипертекста HTML5 и каскадных таблиц стилей CSS3. Также в рамках курса вы с нуля изучите возможности языка программирования JavaScript, как на клиентской части (frontend), так и на стороне веб-сервера (backend).

Во время изучения инструментов современной верстки вы познакомитесь с препроцессором SASS (в частности, с его синтаксисом SCSS). Для удобства работы вы будете применять менеджер задач Gulp и научитесь его настраивать для ускорения процесса верстки за счет выполнения ряда задач (hot-reloading и транспиляция файлов).

В рамках изучения веб-серверов вы научитесь самостоятельно устанавливать серверную операционную систему Ubuntu, применяя виртуальные машины от VirtualBox, получите базовые знания о работе с консолью в операционной системе Ubuntu. Также вы познакомитесь с технологией контейнеризации (Docker). В процессе обучения создадите собственный docker-контейнер, развернете внутри стек веб-технологий необходимых для организации веб-разработки, установите и настроите собственный веб-сервер Apache, сервер баз данных MySQL (нативная установка через консоль Ubuntu, установка на базе docker-контейнера).

В курсе «Веб-разработчик» будет рассмотрен серверный JavaScript и платформа Node.js, которая позволяет решать задачи самого широкого диапазона. Вы систематизируете свои знания о том, что такое современные веб-сервисы, API и микросервисы, получите опыт развертывания микросервиса из docker-контейнера, в том числе под управлением системы Kubernetes. Этот опыт приблизит вас к современному уровню организации процессов разработки веб-ресурсов и веб-приложений на основе методологии DevOps.

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

Изучение языка программирования PHP7 является частью курса. Вы познакомитесь не только с основами программирования на PHP, но и создадите свое собственное приложение с применением технологий объектно-ориентированного программирования (ООП) и базы данных MySQL.

Полученная специальность «Веб-разработчик» позволит работать как удаленно или на фрилансе, так и на штатных позициях в федеральных и международных компаниях, что подтверждено опытом наших выпускников.

Перед заключением договора на обучение рекомендуется ознакомиться с курсом в режиме тестового доступа.

Перед заключением договора на обучение рекомендуется ознакомиться с курсом в режиме тестового доступа (первая неделя обучения бесплатно).

Курс рекомендуется как подготовительный (PreMasters) для поступления на магистерскую программу 09.04.04 Программная инженерия — «Веб-технологии» Университета ИТМО.

Профессиональные стандарты

Курс соответствует:

  • профессиональному стандарту 06.035 «Разработчик Web и мультимедийных приложений» (уровни 4-6)
  • национальному стандарту Российской Федерации ГОСТ Р 56413-2015/CWA 16458:2012 "Информационные технологии. Европейские профили профессий ИКТ-сектора", идентичный международному документу CWA 16458:2012 "Европейские профили профессий ИКТ-сектора".

Предварительные требования

Уверенный пользователь ПК.

Программа курса

  • Основы веб-технологий (50 часов)Основы веб-технологий (50 часов)
    • Тема 1. Введение в HTML. Структура страницы.

      Понятие HTML. Основы работы глобальной сети Интернет. Понятие веб-сервера. Статичные и динамичные сайты. Основные типы сайтов. Обзор современных стек технологий HTML и CSS. Базовая структура HTML. Варианты разметки страницы. Основные блоки HTML-страницы.Создание гиперссылок и работа с ними. Основы работы с гиперссылками. Взаимосвязь между страницами статичного веб-сайта.

    • Тема 2. Размещение изображений, списков и таблиц

      Размещение изображений на веб-странице. Упорядоченные и неупорядоченные списки. Основы работы с таблицами. Отрывки прошлого: старые сайты верстали в таблицах.

    • Тема 3. Медиа-файлы. Iframe. Формы

      Размещение на своих страницах звуковых и видео-файлов.Внедрение внешних HTML-страниц. Взаимодействие ссылок с iframe-элементами.Текстовые поля, радио-кнопки, флажки/чекбоксы, элемент выбора select и их атрибуты. Создание формы обратной связи.

    • Тема 4. Основы каскадных таблиц стилей CSS.

      Основы работы с CSS. Подключение файла стилей. Базовые понятия: селектор, свойство, каскад, наследование, единицы измерения. Применение CSS-свойств к оформлению изображений.

    • Тема 5. Макетирование страницы с CSS

      Верстка страницы по макету. Построение структуры страницы. Высота и ширина колонок. Свойства float, display.

    • Тема 6. Адаптивные html-страницы

      @media, медийные запросы (@mediaqueries) для страниц, mediafeature.

    • Тема 7. Работа со шрифтами

      @font-face, GoogleFonts, Единицы измерения для работы со шрифтами и html-элементами.

    • Тема 8. CSS-анимация.
    • Тема 9. Подготовка, размещение и поддержка сайта в сети

      Выбор хостинга. Основы работы с FTP-клиентами. Использование тега meta.

    • Тема 10. Гибкая работа со страницами сайта

      Проверка валидности верстки. Языки серверного программирования и генерация динамических HTML-страниц. Возможности JavaScript по работе с HTML-страницами и CSS-свойствами.

  • Основы JavaScript (40 часов)Основы JavaScript (40 часов)
    • Тема 1. Введение в JavaScript

      Типы данных. Операторы. Инструкции и выражения. Переменные и константы.

    • Тема 2. Конструкции ветвления и циклы

      Конструкции ветвления логики программы (if…else, switch). Циклы: с предусловием, постусловием и арифметический.

    • Тема 3. Функции

      Понятие функции. Объявление функции. Аргументы функции. Возврат значений. Области видимости. Стрелочные функции. Анонимные функции.

    • Тема 4. Массивы и объекты

      Понятие объект (Object). Свойства объекта. Методы объекта. Массивы. Свойство и методы функции. Объект String и его аргументы. Объект Math. Функция parseInt(). Функция parseFloat(). Статические функции объекта Math.

    • Тема 5. Клиентский JavaScript. Объект Window

      Объекта Data. Работа с таймерами. Свойства и методы объекта Window. Управление поведением Window. Объект Location. Объект History. Объект Navigator.

    • Тема 6. Клиентский JavaScript. Объектная модель документа: DOM. Работа с HTML элементами.

      Причины использования DHTML. DOM (DocumentObjectModel — объектная модель документа). Доступ к узлам DOM. Доступ по идентификационному номеру (ID) . Доступ по атрибуту name. Доступ по имени дескриптора . Доступ и изменение класса через свойство className. Получение информации об узле. Перемещение по иерархическому дереву DOM. Метод removeChild(). Удаление элементов. Методы createElement() и appendChild(). Создание и добавление элементов. Методы insertBefore(). Создание и добавление элементов. Метод createTextNode(). Создание текстовых элементов. Метод setAttribute(). Добавление атрибутов. Метод cloneNode(). Клонирование элементов. Метод replaceChild(). Замена элементов. Свойство innerHTML. Изменение фрагментов кода HTML. Использование CSS стилей в сценариях JavaScript. Соглашения об именах: CSS-атрибуты в JavaScript. Работа со свойствами стилей. DHTML-анимация.

    • Тема 7. Клиентский JavaScript. Cookie

      Описание cookie. Cookie в браузере.

    • Тема 8. Клиентский JavaScript. Формы и обработка событий

      Элементы управления и объекты. Быстрый доступ к объектам. Динамическое изменение значений атрибутов. Изменение элементов на основе значений, указанных пользователем. Динамическое изменение списка вариантов. Проверка выбранных флажков. Изменение элементов перед отправкой формы на сервер. Использование встроенных функций JavaScript. Отключение элементов. Элементы только для чтения.

  • Современные технологии верстки (40 часов)Современные технологии верстки (40 часов)
    • Тема 1 CSS-фреймворки

      CSS-фреймворки: Bootstrap и Foundation. Базовые возможности фреймворков.

    • Тема 2 Контейнеры. Система сеток Bootstrap

      Контейнеры. Система сеток Bootstrap. PSD-файл для разработки макета.

    • Тема 3. Оформление HTML-элементов

      Оформление списков, шрифтов, таблиц и изображений с помощью Bootstrap.

    • Тема 4. Компоненты Bootstrap

      Кнопки. Выпадающие элементы. «Хлебные крошки».

    • Тема 5. Формы

      Всплывающие формы. Формы обратной связи. Всплывающие сообщения.

    • Тема 6. Встраивание медиа-файлов

      Границы. Иконки. Встраивание медиа-файлов на HTML-страницы.

    • Тема 7. Flexbox. Сетка Flexbox

      Понятие Flexbox. Основы работы с Flexbox.

    • Тема 8. JavaScript и события Bootstrap

      Понятие JavaScript. Базовые возможности языка. Взаимодействие с Bootstrap. Управление поведением bootstrap-компонент через JS.

  • Методологии и инструменты современной верстки (45 часов)Методологии и инструменты современной верстки (45 часов)
    • Тема 1. Принципы организации CSS

      Методология БЭМ. ООCSS. Попиксельная верстка. Инструмент PixelPerfect.

    • Тема 2. GridCSS

      Контейнеры, треки, линии, ячейки, области, аллеи. Вложенность grid-ов. Z-index.

    • Тема 3. Подготовительные работы. Настройка окружения

      Установка VirtualBox. Установка UbuntuServer. Установка Putty. Установка VirtualBox. Настройка для работы окружения. Установка Ubuntu. Основы работы с Linux консолью

    • Тема 4. Основы работы с Docker

      Установка SSH. Настройка SSH. Установка Apache2. Создание и загрузка Docker образа.

    • Тема 5. Таск-менеджер Gulp.

      Понятие Таск-менеджера. Преимущества применения. Настройка Gulp на работу c SASS.

    • Тема 6. Препроцессоры CSS

      Основы работы с SASS. Переменные. Вложенность кода. Комментарии в SASS. Примеси (Миксины).

    • Тема 7. Препроцессоры CSS

      Наседование. Фрагментирование SASS файлов. Импорт. SASS-script.

  • PHP и MySQL. Основы разработки веб-приложений (45 часов)PHP и MySQL. Основы разработки веб-приложений (45 часов)
    • Тема 1. Установка языка программирования PHP

      Установка PHP7. Настройка веб-сервера для работы.

    • Тема 2. Структура файла PHP. Переменные, алгоримические структуры

      Шаблон php-документа. Переменные и константы. Условные операторы (if-else, switch).

    • Тема 3. Подключение внешних файлов. Константы

      Использование функций include и require. Константы.

    • Тема 4. Массивы. Строки. Циклы

      Структура данных массив. Одномерные и двухмерные массивы. Особенности работы с массивами. Сортировка массивов.

      Арифметический цикл. Цикл постусловием. Цикл с предусловием.

    • Тема 5. Пользовательские функции

      Понятие функции. Создание и использование простых функций. Создание и вызов функций, принимающих аргументы. Создание и использование функций, возвращающих значение. Переменные и функции. Область действия переменных и глобальные переменные. Задание значений аргументов по умолчанию.

    • Тема 6. Глобальные массивы GET и POST.

      Основы работы с get и post запросами (через HTML-формы и Ajax-запросы). Обработка данных из HTML-формы.

    • Тема 7. Сессии и куки. Основы работы.

      Понятие куки. Установка куки. Использование данных из куки для персонализации сайта. Понятие сессии. Запуск сессии, Создание элемента сессии и вывод его на экран.

    • Тема 8. Объектно-ориентированное программирование на PHP

      Классы. Методы и свойства классов PHP. Базовые подходы к построению объектно-ориентированных приложений.

    • Тема 9. Работа с БД Mysql.

      PHP и базы данных. Установка MySQL (репозиторий Ubuntu). Установка MySQL (из исходного кода). Соединение с сервером и создание базы данных. Создание таблицы. Отправка данных. Извлечение данных.

  • Средства организации процесса веб-разработки в команде (20 часов)Средства организации процесса веб-разработки в команде (20 часов)
    • Тема 1. Системы контроля версий. Репозиторий Git.

      Принципы работы систем контроля версий. Введение в Git. Установка и начальная настройка Git (Windows и Linux).Создание, изменение и удаление репозитория. Просмотр истории коммитов. Отмена действий. Метки. Псевдонимы.

    • Тема 2. Ветвление в Git

      Принципы ветвления и слияния. Управление ветками. Слияние и разрешение конфликтов. Перебазирование.

    • Тема 3. Использование Git на сервере. Распределенная работа в Git

      Установка Git на сервере. Настройка. Протоколы. Рабочие процессы. Создание коммитов. Поддержка. Инструментарий.

    • Тема 4. Использование Git в других окружениях

      Графические утилиты. Среды разработки. GitHub.

  • Современный JavaScript: новые возможности (50 часов)Современный JavaScript: новые возможности (50 часов)
    • Тема 1. Синтаксис и основные понятия JavaScript

    • Тема 2. Зависимости. Модули ES2015. Переменные и области видимости

    • Тема 3. Типы данных и статическая типизация.

    • Тема 4. Функции. Коллбэки, промисы и async/await.

    • Тема 5. Управляющие конструкции. Энумерация и итерация.

    • Тема 6. Строки и символы.

    • Тема 7. Регулярные выражения.

    • Тема 8. Массивы и функциональные методы.

    • Тема 9. Литеральные объекты и прокси.

    • Тема 10. Прототипы и конструкторы. Члены классов.

    • Тема 11. Транспиляция. Es.next. Кортежи и записи. Декораторы.

  • Введение в TypeScript и Flow (30 часов)Введение в TypeScript и Flow (30 часов)
    • Тема 1. Статическая типизация: общие сведения. Кортежи и записи. Интерфейсы и дженерики

    • Тема 2. Использование Flow и транспилятора Babel

    • Тема 3. Особенности и возможности Flow

    • Тема 4. Настройка среды для работы с TypeScript

    • Тема 5. Приватные и публичные члены классов

    • Тема 6. Декораторы

  • Серверные приложения и микросервисы на Node.js (60 часов)Серверные приложения и микросервисы на Node.js (60 часов)
    • Тема 1. Понятия бэкэнда и фронтэнда. HTTP(S) и другие протоколы веба. Методы (глаголы).

    • Тема 2. Основные приемы работы с curl и приложением Postman.

    • Тема 3. Объекты Request и Response. Создание простого веб-сервера.

    • Тема 4. Отдача статического контента.

    • Тема 5. Кроссдоменные запросы и политика CORS.

    • Тема 6. Создание простого веб-приложения Express. Основы серверной маршрутизации.

    • Тема 7. Подключение к базе данных на примере MongoDB.

    • Тема 8. Основы RESTful API.

    • Тема 9. Основные приемы аутентификации.

    • Тема 10. Получение SSL-сертификата для доменного имени.

    • Тема 11. Распределенные системы и микросервисы. Деплой приложения.

    • Тема 12. Пример реализации наносервиса на AWS Lambda.

    • Тема 13. Тестирование серверного приложения.

  • React и Vue: компоненты в действии (50 часов)React и Vue: компоненты в действии (50 часов)
    • Тема 1. Введение.

    • Тема 2. Компоненты в React.

    • Тема 3. Компоненты во Vue.

    • Тема 4. Генерация приложения с помощью create-app.

    • Тема 5. Паттерн MVVM. Управление состоянием.

    • Тема 6. Обращение к внешним ресурсам.

    • Тема 7. Клиентский роутинг.

    • Тема 8. Обзор Redux и Vuex.

    • Тема 9. Генерация статического сайта: Next и Nuxt.

    • Тема 10. Деплой приложения.

  • Дипломное проектирование (40 часов)Дипломное проектирование (40 часов)
    • Защита дипломной работы (5 часов)Защита дипломной работы (5 часов)

      Преподаватели курса

      Государев Илья Борисович

      Государев Илья Борисович

      Веб-разработчик Senior, преподаватель, к.п.н., доцент

      Сивинский Станислав Андреевич

      Сивинский Станислав Андреевич

      Веб-разработчик Senior, преподаватель

      Шуклин Дмитрий Анатольевич

      Шуклин Дмитрий Анатольевич

      руководитель образовательного центра, к.п.н., доцент