course language
course duration
needed to educate
for credit at your university
Курс посвящен разработке серверных веб-приложений в экосистемах языков программирования на примере JavaScript (Node.js) в сравнении с языком PHP. Освойте его, чтобы стать частью профессионального сообщества бэкэнд-разработчиков на набирающей популярность мощной JavaScript-платформе Node.js.
Цель курса – обеспечить освоение системы знаний и умений, необходимых для решения профессиональных задач в области разработки современных серверных веб-приложений.
В результате обучения слушатели смогут анализировать код серверного веб-приложения, сравнивать тексты серверных сценариев на разных языках, использующих разные библиотеки и фреймворки, реализовывать модель серверного веб-приложения (RESTful-сервис, бот, MVC-архитектура), выполнять развертывание серверного веб-приложения, осуществлять модульное и интеграционное тестирование серверного сценария.
В курсе используются инновационные технологии обучения: мультиязыковое обучение, скринкасты, вебинары, интерактивные задания, онлайн-редакторы и репозитории кода для коллаборативного обучения.
В состав курса входят видеолекции, скринкасты, онлайн-тестирование. Длительность курса составляет 10 недель. Трудоемкость курса – 4 зачетных единицы. Средняя недельная нагрузка на обучающегося – 14 часов.
Для успешного освоения курса необходимо обладать следующими знаниями, умениями и навыками:
ЗНАНИЯ:
на уровне представлений:
УМЕНИЯ:
теоретические:
практические:
НАВЫКИ:
В процессе обучения используется открытое ПО: nodejs.org (инструкция по установке kodaktor.ru/nodejs) и общедоступный инструмент (онлайн REPL/онлайн IDE) для запуска кода на различных языках: repl.it
В курсе рассматриваются следующие темы:
Тема 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.
Каждая тема предполагает изучение в течение одной недели.
09.04.04 Программная инженерия
course language
course duration
needed to educate
for credit at your university
Кандидат педагогических наук
Position: доцент факультета программной инженерии и компьютерной техники Университета ИТМО
По данному курсу возможно получение сертификата.
A participant certificate is usually issued upon reaching 60 % of the overall rating, subject to the delivery of works before a hard deadline. The honors certificate is usually issued upon reaching 90 % of the overall rating, subject to the delivery of the work before the soft deadline.