курс

Разработка WEB-приложений на Node.JS

Мы проводим очные и дистанционные группы!


68 академчасов, 17 занятий
до 5 человек в группе
870 BYN
Дата начала ближайшей группы - открыта

Ближайшие группы

Записаться в группу

Нужен индивидуальный график?

check-orange
начинаем хоть сейчас
любые дни недели
любое время дня
в классе: 2 800 BYN
60 академических часов
15 занятий
онлайн: 2 400 BYN
60 академических часов
15 занятий

Учиться индивидуально

Платформа 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"

Стаховец Гордей
JS- и .NET разработчик, компания iTechArt

Опыт работы: более 4 лет
Опыт преподавания: более 1 года
Михалькевич Александр

Backend-разработчик (PHP, MySQL, JS, node.JS)
Опыт работы: более 10 лет
Опыт преподавания: более 7 лет

Оставьте заявку прямо сейчас!

Оставьте заявку и при оплате сегодня Вы получите скидку 7%

Приведите с собой друга -
при оплате каждый из Вас получит скидку 10%

Пора заняться английским!

Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).

Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!