Открытое образование

Серверные веб-технологии и системы управления контентом

  • Начальный уровень
  • Наставник: Нет
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: не ограничено
Записаться

Серверные веб-технологии и системы управления контентом

Организатор курса: Университет ИТМО

Курс посвящен разработке серверных веб-приложений в экосистемах языков программирования на примере JavaScript (Node.js) в сравнении с языком PHP. Освойте его, чтобы стать частью профессионального сообщества бэкэнд-разработчиков на набирающей популярность мощной JavaScript-платформе Node.js.

Программа обучения
Тема 1. Введение.
  • Понятия бэкэнда и фронтэнда. Протокол HTTP(S) и другие протоколы веба. Методы (глаголы): GET, POST, DELETE, PUT. Коды ответов веб-сервера. Эмуляция работы браузера с помощью клиента telnet. Основные приёмы работы с curl и приложением Postman.
Тема 2. Языковые основы (современный JavaScript)
  • Стандарт ECMAScript и его развитие. Транспиляция. Использование статической типизации с помощью TypeSript и Flow. Менеджмент зависимостей. Сборка бандлов на клиентской и северной стороне.
Тема 3. Асинхронность.
  • Потоковый подход к обработке событий. Подписка слушателей и коммуникации между процессами и воркерами. Коллбэки, промисификация и синхронное ожидание промисов. Веб-сокеты.
Тема 4. Модель приложения на Node.js и библиотека Express
  • Объекты Request и Response. Создание простого веб-сервера. Отдача статического контента, MIME-типы. Выдача HTTP-заголовков. Кроссдоменные запросы и политика CORS. Объект app. Создание простого веб-приложения. Основы серверной маршрутизации. Создание контроллеров. Разработка микросервиса.
Тема 5. Введение в разработку серверных приложений в экосистеме PHP
  • Развёртывание стека LAMP. Программные сущности PHP и модель современного PHP-приложения. Использование микрофреймворка для создания REST-сервиса
Тема 6. Подключение к базам данных. Аутентификация и авторизация.
  • Сравнение реляционных и документоориентированных БД на примере MySQL и MongoDB. Понятия CRUD и ORM. Создание моделей в рамках архитектуры MVC. Механизмы сессий в Node.js и PHP.
Тема 7. Системы управления контентом и шаблонизация
  • Структура и функции CMS. Популярные CMS на PHP и Node.js. Развёртывание и эксплуатация WordPress и Ghost. Языки шаблонов на примере pug и Twig. Создание представлений в рамках архитектуры MVC.
Тема 8. Тестирование серверных веб-приложений.
Модульное тестирование. Использование фреймворков Mocha и should. Бенчмаркинг, асинхронное тестирование, интеграционное и e2e тестирование с помощью Puppeteer.