Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Нур-Султан, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

кол-во дней: 5
вендор: WEB разработка кол-во часов: 40
код курса: SW-06

Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения.

Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода.

Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и Mac OS) и даже программировать микроконтроллеры (например, tessel и espruino).

В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.

Предварительные требования:

  • Знание HTML и CSS

  • Основы JavaScript

Цель курса:

  • Создание веб сервера на технологии socket.io

  • Создание веб приложений и программирование на Node.js

Изучаем Node.JS:

  • Введение в Node.JS

  • Что такое Node.JS? Почему Node.JS?

  • Установка и запуск

  • Исходники и документация

  • Модули для Node.JS

  • Приёмы работы с модулями

  • Введение в NPM — менеджер пакетов для Node.JS

  • Структура пакета NPM

  • Глобальные модули

  • Модуль util и наследование

  • Модуль console

  • Наследование от ошибок Error

  • События, EventEmitter и утечки памяти

  • Node.JS как веб-сервер

  • Эхо-сервер на Node.JS

  • Документация к модулю http

  • Разработка, supervisor

  • Отладка скриптов под Node.JS

  • Логирование, модули debug и winston

  • Введение в асинхронную разработку

  • Событийный цикл, библиотека libUV

  • Таймеры, process.nextTick, ref/unref

  • Работа с файлами, модуль fs

  • Безопасный путь к файлу в fs и path

  • Потоки данных в Node.JS, fs.ReadStream

  • Writable поток ответа res, метод pipe

  • Чат через long-polling, чтение POST

  • Домены, «асинхронный try..catch»

  • Чтение параметров из командной строки и окружения

Создаём приложение:

  • Создаём костяк сайта / Express: основы и Middleware

  • Улучшаем костяк сайта / Логгер, конфигурация, шаблонка для HTML

  • Улучшаем шаблонизацию / EJS: layout, block, partials

  • Начинаем работать с базой / Основы MongoDB, native driver

  • Создаём модель для пользователя / Основы Mongoose

  • Делаем скрипт для создания тестовой базы / Async, организация кода [обновлено]

  • Веб-сервисы, работа с ошибками / Express, Mongoose

  • Сессии, отслеживание посетителей /Express/

  • Авторизация /Express, Mongoose, Async, EJS/

  • COMET: обзор подходов / WS.JS, Sock.JS, Socket.IO

  • Чат на Express и Socket.IO

  • Опции Socket.IO и автореконнект

  • Socket.IO + Express + авторизация

Дополнительно:

  • Установка MongoDB для Windows, пример работы