Программа курса
Веб-разработчик
Смени профессию на востребованную и хорошо оплачиваемую.
Решай интересные задачи из любой точки мира!
Старт: каждый месяц
Формат: онлайн, в удобное время
Персональный ментор
Уровень: с нуля
Старт:
каждый месяц
Формат:
онлайн в удобное время
Персональный
ментор
Уровень:
с нуля
Программа курса
«Профессия Веб-разработчик»
Введение в Веб-разработку
Содержание курса:
• Введение в веб-разработку: обзор IDE Visual Studio, командная строка, использование чужого кода, техническое задание, культура кода

• Введение в программирование: переменные и константы, абстрактные типы данных, массив, объект, действия с данными, основные алгоритмические конструкции, функции

• Markdown: описание, применение и синтаксис

• GIT. Система контроля версий. GitHub: основные операции, файл .gitignore, ветвление, конфликты, методологии ветвления, культура коммитов, форки
Введение в программирование
Вы научитесь работать с редактором исходного кода Visual Studio и командной строкой, решать алгоритмические задачи с помощью блок-схем и описывать объекты, создавать документы с применением языка MarkDown и использовать GIT для контроля версий.
Результат:
1
3 недели
• Проект 1: Telegram чат-бот
• Проект 2: Инструкция по установке Visual Studio
• Проект 3: Инструкция по работе с GIT на GitHub

Практика:
Содержание курса:
• Базовый HTML: основы языка, структура и элементы веб-страницы, основные атрибуты, создание сайта

• Базовый CSS: синтаксис языка, подключение стилей к HTML, селекторы простые и комбинированные, псевдоклассов и псевдоэлементов, их приоритет, цвета и размеры в CSS, блочная модель документа, слои, позиционирование и z-index, пример работы со стилями
Раздел 2. Базовая верстка
Вы научитесь создавать примитивные веб-страницы, подключать стили к HTML, работать со слоями и селекторами.
Результат:
• Тренажер по HTML (основные элементы веб-страницы, специальные символы, другие элементы форматирования, изображения на сайте, ссылки)
• Проект 4: Простой сайт-визитка
• Проект 5: Примитивная страница со списком новостей

Практика:
2
3 недели
Содержание курса:
• Принципы работы JavaScript: что такое JS, ES, ES6+, консоль браузера, переменные и константы, возможности JavaScript в браузере, alert и prompt, работа с DOM, работа с событиями, объект события

• Числа и строки в JavaScript: числа и операции с ними, Math, строки и операции с ними

• Условия в JavaScript: логические переменные, алгебра логики, условия, Null, Undefined, алгоритм бинарного поиска

• Циклы и массивы в JavaScript: циклы, массивы, методы массивов, перебирающие методы, деструктуризация, Map, Set, алгоритмы сортировки

• Функции и объекты в JavaScript: пользовательские функции, объекты, JSON, область видимости, замыкания, анонимные функции, стрелочные функции, функция обратного вызова Сallback, каррирование

Раздел 3. Базовый Frontend
3
6 недель
Результат:
Вы научитесь использовать основные типы данных и алгоритмические конструкции, работать с событиями и DOM, подключать JSON.
Практика:
• Тренажер по JavaScript
• Проект 6: Приложения с обработкой пользовательского ввода
• Проект 7: Простой калькулятор
• Проект 8: Игра «Угадайка» с использованием алгоритма бинарного поиска
• Проект 9: Справочник "Экзотические фрукты"
• Проект 10: Генератор случайных пользовательских данных

Содержание курса:
• Основы языка PHP, инструменты разработчика PHP, локальный веб-сервер

• Основные алгоритмические конструкции: условия, пользовательские функции, циклы, рекурсия, исключения, перехват исключений

• Типы данных: арифметика, логика, строки, массивы

• Сессии и Cookie: передача по значению и ссылке, работа с файлами и подключение файлов с кодом, сохранение состояния пользователя, передача данных между страницами, GET/POST запросы
Раздел 4. Базовый Backend
Вы научитесь создавать простые таблицы, заполнять их данными и обновлять, писать код на языке базы данных PostgreSQL — PL/Sql.
Результат:
• Тренажер по PHP
• Проект 11: Сайт-визитка
• Проект 12: Алгоритмические задачи
• Проект 13: Поиск идеальной пары
• Проект 14: Обработка форм
Практика:
4
4 недели
Содержание курса:
• Чем Frontend отличается от Backend
Раздел 5. Профориентация
5
Бонус
Практика:
Проект 15: Тест на профориентацию
Направление «Frontend-разработчик»
Содержание курса:
• Продвинутый HTML: семантическая верстка, адаптивная верстка, БЭМ, инструменты макетирования, Figma

• Продвинутый CSS: стилизация span, типы шрифтов, подключение шрифтов, свойство display, адаптивная вёрстка, медиазапросы, кроссбраузерность, принцип mobile first

• Сетки CSS: Flexbox, Grid, Bootstrap

• Анимации: CSS в больших приложениях, Transition, Transform, Keyframes, JS анимации

• Проект «Верстка лендинга по макету» одностраничный лендинг дизайнерского агентства

Раздел 1. Продвинутая верстка
1
3 недели
Практика:
Тренажер по CSS (подключение стилей, поток документа, цвета, размеры, границы, слои, позиционирование, z-index, flexbox, свойство display, медиазапросы)

• Проект 1: Создание веб-страницы в Figma
• Проект 2: Верстка на Bootstrap
• Проект 3: Верстка лендинга по макету

Содержание курса:
• Продвинутая работа с объектами в JS: объекты, прототип и конструктор объекта, ООП в JS и ES6, наследование, полиморфизм, инкапсуляция

• Стандарты написания кода и общие подходы: объектная модель в JS, прототипирование и наследование, bind, call, ES стандарт, стрелочные функции, Function Expression, SOLID

• Асинхронность (AJAX): JSON vs XML, XHR, механизмы хранения данных на клиенте, promises, async/await, работа с HTTP (fetch, async/await)

• API браузера: Drag & Drop, SVG, Canvas, Geolocation, Notification, Screen size, Event Source, WebSocket

• Инфраструктура Frontend: сборщики и зависимости, архитектура кода в JS, минификация и обфускация кода, use strict, модули, Import/Export, Gulp, Webpack, SCSS, препроцессоры Pug, SASS

• Введение в принципы построения SPA: токены, запросы, контент без перезагрузки страницы, навигация

• Проект «SPA чат портал»: разработка одностраничного SPA чат портала
Раздел 2. Продвинутый Frontend
2
8 недель
Практика:
• Проект 4: Приложение с иерархией электроприборов
• Проект 5: Практикум-рефакторинг
• Проект 6: URL-запросы
• Проект 7: Чат на основе эхо-сервера
• Проект 8: Сайт на шаблонизаторе
• Проект 9: SPA чат портал
Содержание курса:
  • Писать программы на TypeScript
Раздел 3. Typescript
3
Бонус
  • Подключать TypeScript к проекту и настраивать
Содержание курса:
• Введение в тестирование: качество кода, зачем нужны тесты, виды тестирования, пирамида тестирования, фреймворки для написания тестов, Npm,Yarn, экстремальное программирование, Unit-тесты, тестирование в браузере

• Тестирование и линтеры: форматтеры, линтеры, виды тестирования, подходы: TDD, BDD, обзор фреймворков для тестирования

• Архитектура приложений: введение и установка, разворачиваем проект из архива, маршрутизация — роутинг — router, шаблонизатор — template — pug, контроллеры и MVC, middleware и обработка ошибок

• Взаимодействие с backend: взаимодействие с сервером, что такое XHR, REST API, коды ответа, инструмент для разработки API: swagger

• Алгоритмы и структуры данных. Оптимизация приложений: структуры данных, деревья, бинарное дерево поиска, хеш-таблицы, map, алгоритмы, оптимизация приложений, сортировка пузырьком, быстрая сортировка, сортировка слиянием, сложность алгоритма, оптимизация приложений через Webpack, оптимизация через картинки, SVG спрайты, Graph QL

• Проект «Таск-менеджер»: разработка менеджера постановки и контроля выполнения задач
Раздел 4. Архитектура приложений
4
7 недель
Практика:
• Проект 10: Практикум-тестирование
• Проект 11: Разработка магазина
• Проект 12: Решение алгоритмических задач
• Проект 13: Таск-менеджер
Содержание курса:
• Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование

• Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Раздел 5. Трудоустройство и soft skills
5
Бонус
Карьерный центр:
• Составите резюме и сопроводительное письмо
• Отрепетируете техническое интервью с экспертом-разработчиком
• Выполните реальные тестовые задания
• Будете отправлять не менее 10 откликов на позиции Junior Frontend-разработчик ежедневно в течение 2 недель
Содержание курса:
• Компонентный подход, модули, преимущества React, JSX, Virtual DOM, быстрый старт React-приложения

• Типы компонентов, State и Props, презентационные и компоненты-контейнеры, методы жизненного цикла, Render, возвращаемые значения

• Children, обработка событий, работа с CSS, типизация React-приложений, паттерны программирования, однонаправленный поток данных

• React Developers Tools, Render Prop, High Order Components, пример HOC и Render Prop, функциональное программирование, PureComponent, Hooks, UseState, UseEffect, продвинутый API, обзор Hooks, Best Practices

• React Router, роутинг с использованием ссылок и History API, знакомство с библиотекой React-router-v4, Refs и контекст

• Проект «Канбан-доска»: разработка инструмента для визуализации и разбивки какой-либо задачи на этапы.
Раздел 6. Фреймворк React
6
7 недель
Практика:
• Тренажер React
• Проект 14: Канбан-доска
Содержание курса:
Разработка ведения учета случаев кражи велосипеда с отслеживанием прогресса. Требуется реализовать клиентскую часть, используя готовую серверную часть.
Раздел 7. Финальный проект «Реализация клиентской части»
7
Практика:
Проект 15: Реализация клиентской части сайта проката велосипедов
4 недели
Направление «Backend-разработчик»
Содержание курса:
• Введение в реляционные базы данных: базы данных и зачем они нужны, реляционные и нереляционные базы данных, что такое первичный ключ и внешний ключ

• Язык запросов SQL: настройка окружения и PostgreSQL, связи в таблицах и ER-диаграммы, язык запросов SQL, операторы и функции, сортировки и агрегация данных, запрос данных из нескольких таблиц, объединение результатов запросов

• Транзакции: понятие данных и метаданных, DDL, DML и CRUD, транзакции, нормальные формы БД

• Продвинутое использование реляционной БД: индексы, триггеры, представления, хранимые процедуры, использование предвыборок в запросах
Раздел 1. SQL и работа с базами данных
1
5 недель
Практика:
• Тренажер SQL (основы SQL, агрегатные функции, соединение таблиц, сложные объединения, подзапросы)
• Проект 1: Проектирование базы данных
Содержание курса:
• ООП: наследование, инкапсуляция, полиморфизм в PHP, абстрактные классы и интерфейсы, проектирование классов и их вызов, исключения

• MVC: Понятие MVC, Front Controller и настройка веб-сервера, Composer, PSR (PSR-4), роутинг

• Работа с БД: сохранение пользовательских данных, PDO, SQL-инъекции, передача данных из формы в БД

• Авторизация и аутентификация: создание формы, хранение паролей и криптофункции, RBAC

• Конфигурирование приложения: подключение конфигураций, внешние библиотеки конфигураций, логирование данных, .env синтаксис и почему нельзя хранить конфигурацию вместе с кодом в одном репозитории

• Тестирование приложения: PHPUnit, моки и стабы

• SOLID, паттерны, PSR: SOLID, паттерны проектирования их применение в MVC-приложениях, PSR 1, 12

• Скорость работы приложения: профилирование приложения, кэширование и cache hit rate, Memcached

• Проект. Мессенджер
Раздел 2. Продвинутый Backend
2
10 недель
Практика:
• Проект 2: ООП для игры в автотематике
• Проект 3: Каркас MVC фреймворка
• Проект 4: Галерея изображений
• Проект 5: Система регистраций
• Проект 6: Конфигурирование приложения
• Проект 7: Практикум-тестирование
• Проект 8: Практикум-рефакторинг
• Проект 9: Мессенджер
Содержание курса:
• Работа с файлами и директориями в терминале: концепция Linux, установка виртуальной машины, Manual, директории, чтение файлов, редактирование файлов, элементарная работа с файлами, системы поиска

• Linux: виртуальные машины, сборка виртуальной машины, разработка на виртуальных машинах, командная строка Linux

• Настройка веб-серверов: что такое веб-сервера и какие они бывают, Nginx, его установка и настройка, Apache, его установка, настройка и связка с nginx, обработчики кода, PHP, установка, настройка, производительность, связь с Apache, настройка связки Nginx + Apache + PHP. Инфраструктуры веб-серверов, Nginx как файловый сервер. Веб-сервер и FTP

• Troubleshooting веб-серверов: введение в troubleshouting веб-серверов, логи веб-серверов, решение проблем с запуском службы веб-сервера, решение проблем со сторонними службами. PHP, проблемы в работе сайта, связанные с веб-сервером, безопасность, когда всё совсем плохо. Бэкапы, репликация, балансировщики

• Контейнеры и Docker: контейнеризация, Docker, Docker Compose, разработка с Docker

Раздел 3. Основы администрирования
3
6 недель
Практика:
• Проект 10: Сборка площадки для разработки на базе Homestead
• Проект 11: Задачи с веб-серверами
• Проект 12: Решение проблем с веб-сервером
• Проект 13: Сборка площадки для разработки на базе Docker
Содержание курса:
• Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование

• Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Раздел 4. Трудоустройство и soft skills
4
Бонус
Карьерный центр:
• Составите резюме и сопроводительное письмо
• Отрепетируете техническое интервью с экспертом-разработчиком
• Выполните реальные тестовые задания
• Будете отправлять не менее 10 откликов на позиции Junior Frontend-разработчик ежедневно в течение 2 недель
Содержание курса:
• Установка Laravel, устройство MVC в Laravel, область применения Laravel, IDE Helper, роутинг, контроллеры, Blade, директивы и компоненты, локализация

• Artisan, миграции, Eloquent ORM, связи моделей в Eloquent

• Принципы работы маршрутов, кастомные маршруты, CSRF в Laravel, Routing Сonventions, контроллеры в Laravel, посредники, контроллеры ресурсов

• Авторизация и аутентификация, разграничение прав, авторизация по токену, Gate, OAuth, сброс пароля, токен

• Юнит-тесты в Laravel, инструменты Mockery и Testbench

• Проект. Список задач
Раздел 5. Фреймворк Laravel
5
7 недель
Практика:
• Тренажер Laravel
• Проект 14: Список задач
Содержание курса:
Трекер трафика, созданный для организации взаимодействия компаний (рекламодателей), которые хотят привлечь к себе на сайт посетителей и покупателей (клиентов), и владельцев сайтов (веб-мастеров).
Раздел 6. Финальный проект «Партнерская сеть»
6
Практика:
Проект 15: Партнерская сеть
4 недели
Центр карьеры
Организует консультацию с IT-рекрутером, который ответит на волнующие вопросы, поможет настроиться на  поиск работы, подготовит к собеседованиям.
Отправит ваше резюме по партнерской сети компаний.

Ваше резюме после обучения

Full-stack разработка на PHP и JavaScript
Понимаю принципы ООП, MySQL (SELECT, INSERT и т.д) + процедуры
Знаю принципы построения инфраструктуры данных
Работаю с серверами Nginx, Apache, WebSocket
Умею работать с GitHub и с API различных сервисов/сайтов/систем
Пишу unit-тесты
Использую REST API и SOAP API
Практикую объектно-ориентированный подход
Есть портфолио с готовыми кейсами и проектами
Зарплата от: 80 000 ₽
Веб-разработчик
Cделает ревью вашего резюме силами IT-рекрутеров с опытом в подборе программистов.

После успешного обучения

Среда для развития
Помощь в карьере
Документ об окончании курса
Общение с экспертами, которые имеют опыт в разных сферах бизнеса
Консультации с в ходе обучения, доступ к закрытому клубу выпускников и партнеров, проекты в портфолио
Сертификат о прохождении курса, по запросу — на английском языке
{{sale}}%
скидка на обучение с отложенным стартом + бонус от Центра карьеры
Только до {{deadline}} — осенняя акция на курсы по программированию от SkillFactory
Оплатите курс по программированию до {{deadline}}, стартуйте, когда вам будет удобно, и получите записи секретных вебинаров от Центра карьеры в подарок!