ст.м. "Фрунзенская"
9:00 - 18:00 по будням

Разработка WEB-приложений на Node.JS
Мы проводим очные и дистанционные группы!
Ближайшие группы
Нужен индивидуальный график?
Платформа Node.js в основном применяется для разработки легких, быстрых и высокоэффективных асинхронных веб-серверов. Однако существует возможность разрабатывать на ней десктопные оконные приложения и программировать микроконтроллеры. В основе Node.js лежит событийно-ориентированное и асинхронное программирование с неблокирующим вводом/выводом.
Курс проводится на основе последней версии языка JavaScript (ECMAScript 6) и последней версии платформы Node.js (Node.js v6). На курсе Вы будете изучать самые современные технологии веб-разработки. Курс позволит систематизировать знания по теме, освоить новые приёмы и методы программирования. Занятия курса проходят в режиме тренинга. Курс содержит большое количество домашних заданий различной степени сложности, а также включает в себя разработку учебного веб-проекта, который впоследствии может быть размещён в сети Интернет.
Пожелания к составу слушателей: для более эффективного усвоения материалов курса слушателям рекомендуется иметь базовые знания HTML и CSS, а также JavaScript. Очень приветствуются опыт разработки (даже учебный) на любом языке программирования, а также наличие алгоритмического мышления.
Программа курса “Разработка WEB-приложений на Node.JS”
Занятие 1. Введение в JavaScript и Node.js
- Основные парадигмы программирования
- История развития и краткий обзор языков программирования
- JavaScript и ECMAScript
- JavaScript на сервере. Платформа Node.js
- Установка и настройка среды разработки
- Node.js как калькулятор
- Строгий режим
- Встроенные скалярные типы данных. Литералы
- Оператор typeof
- Тип Date
- Объекты Global и Math
- Оператор присваивания. Комбинированное присваивание
Занятие 2. Встроенные структурные типы данных
- Принципы динамической типизации
- Примитивные и ссылочные значения
- Переменные и константы
- Операторы var, let и const
- Идентификаторы. Чувствительность к регистру
- Строки. Основные операции. Строки-шаблоны
- Массив. Основные операции с массивом. Деструктуризация
- Коллекции Set и WeakSet
- Коллекции Map и WeakMap
- Преобразование типов
Занятие 3. Управление ходом выполнения программы
- Структурное программирование
- Структура программы. Блок
- Комментарии
- Управление ходом выполнения программы
- Операции, выражения, операторы и инструкции
- Линейные вычисления
- Ветвления. Операторы if и switch
- Цикл с параметром. Оператор for
- Циклы по элементам последовательности. Операторы for-in и for-of
- Циклы с условием. Операторы while и do-while
- Операторы break, continue. Метки
- Оператор with
- Оператор delete
- Стиль программирования. Форматирование кода
Занятие 4. Средства структурирования кода. Функции
- Функции и процедурное программирование
- Определение функции
- Вызов функции
- Формальные и фактические параметры
- Возвращаемые значения
- Объект arguments
- Области видимости
- Вложенные определения функций
- Стрелочные функции
- Анонимные функции
- Рекурсия
- Хвостовая рекурсия
- Замыкания
- Неформальное введение в модули Node.js. Импорт и экспорт
- Точка входа в программу
Занятие 5. Объекты. Введение
- Создание объекта
- Поля и методы объекта
- Функция как конструктор
- Объект prototype. Создание объекта по прототипу
- Объект this
- Методы apply и call
Занятие 6. Модули
- Модульные модели Node.js и JavaScript
- Экспорт из модулей
- Импорт модулей
- Пакетный менеджер npm
- Создание пользовательских модулей
- Встроенные модули Globals и Modules
- Модуль Errors и обработка исключений. Оператор try – catch
- Генерирование исключений. Оператор throw
- Модуль Console
- Работа с потоками. Модуль Stream
Занятие 7. Веб-сервер на Node.js
- Архитектура веб-приложения
- Создание веб-сервера на Node.js
- HTTP и HTTPS сервера. Модули HTTP и HTTPS
- Модуль QueryString. Разбор строки запроса
- Модуль URL
Занятие 8. Постоянное хранение данных. MySQL
- Модель CRUD
- Модуль MySQL
- Подготовленные запросы
- Чтение, обновление и удаление данных
- Работа с пулом соединений
- ORM-система Sequelize
- Модель данных приложения
Занятие 9. Фреймворк Express
- Установка Express
- Генерация каркаса приложения
- Маршрутизация в Express
- Использование данных
- Проектирование архитектуры учебного веб-приложения
Занятие 10. Постоянное хранение данных. NoSQL
- Альтернативы SQL — хранилищам данных
- Memcached
- MemcacheDB
- Redis
- MongoDB и Mongoose
Занятие 11. Серверное программирование для клиента
- Введение в шаблонизаторы
- Jade
- CSS-препроцессоры
- Использование препроцессора LESS
- Работа с препроцессором Stylus
Занятие 12. Объектно-ориентированное программирование. Наследование и полиморфизм
- Объектно-ориентированная модель JavaScript
- Классическое наследование
- Наследование через прототип
- Инкапсуляция
- Полиморфизм в JavaScript
- Геттеры, сеттеры и вычисляемые свойства
- Статические свойства
- Ключевое слово super
Занятие 13. Фреймворк Express (продолжение). Веб-сокеты
- Подключение шаблонизатора и css-препроцессора
- RESTful-приложение на основе Express
- Архитектура MVC
- Эволюция запросов: AJAX и COMET
- WebSockets
- Socket.io
Занятие 14. Синхронный и асинхронный код
- Модель выполнения JavaScript
- События. Таймеры
- Функции обратного вызова
- Плоский асинхронный код
- Промисы (обещания)
- Генераторы. Оператор yield
- Итераторы
Занятие 15. Некоторые встроенные модули Node.js
- Взаимодействие с операционной и файловой системами. Модули OS и FileSystem
- Модуль Utilities и его методы
- Пользовательские события. Модуль Events и объект EventEmitter
- Модуль Crypto. Шифрование в Node.js
Занятие 16. Многопроцессное программирование
- Возможности многопоточного программирования платформы Node.js
- Модуль Process
- Модуль ChildProcess
- Модуль Cluster
- Обмен сообщениями между процессами
Занятие 17. Защита учебного проекта. Отладка, тестирование и рефакторинг кода
- Защита учебного проекта
- Отладка кода. Debug-режим
- Использование среды разработки для отладки кода
- Unit-тестирование
- Утверждения. Модуль Assert
- Mocha – JavaScript тест-фреймворк
- Рефакторинг кода. Причины и принципы рефакторинга
Преподаватели курса "Разработка WEB-приложений на Node.JS"
Опыт работы: более 4 лет
Опыт преподавания: более 1 года

Backend-разработчик (PHP, MySQL, JS, node.JS)
Опыт работы: более 10 лет
Опыт преподавания: более 7 лет
Пора заняться английским!
Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).
Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!