Курс включает в себя:
  • REST API. Работаем с данными грамотно.
  • Асинхронность в Node.js. Или как не перегреться в войне с колбэками.
  • Серверный рендеринг и шаблонизация. Что это такое и зачем это нужно.
  • Express.js и Koa.js Облегчающие жизнь разработчику фреймворки.
  • Сокеты и работа с ними. Как создать свой чат.
  • Модули. Что Node.js умеет "из коробки", а что надо установить.
  • Базы данных MongoDB и PostgreSQL. Самые популярные базы данных.
  • Авторизация и аутентификация. Идентификация и хранение персональных данных.

Пройдя курс, вы научитесь

  • Вести разработку на JavaScript в среде Node.js.

    JavaScript теперь используется и как серверный язык разработки. Среда Node.js позволяет любому разработчику, знакомому с JavaScript, начать разрабатывать серверную часть для приложений любой сложности. Начиная с основ, в процессе курса мы рассмотрим самые важные области Node.js.
  • Использовать технологию WebSocket и библиотеку socket.io.

    Приложения реального времени в настоящее время — практически стандарт. Нет никакой необходимости в перезагрузках страницы, и не важно, нужно ли вам написать простенький чат, или высоконагруженный сервис. Сокеты помогут настроить обмен данными между клиентом и сервером с невероятной скоростью.
  • Разворачивать готовый проект на хостинге.

    Для приложений, разработанных в среде Node.js, классический хостинг не подходит. Мы научимся разворачивать ваше приложение прямо из git-репозитория с максимальный комфортом на самых популярных подходящих площадках.
  • Тестировать свой код.

    Тестирование кода — еще один очень важный момент, который нельзя обойти стороной, особенно, когда пишется серверная часть приложения. Написание тестов на существующий код повысит его надежность, а разработка через тестирование практически исключает возможность появления критических ошибок вашего приложения в дальнейшем.
  • Применять практики серверного рендеринга.

    Серверный рендеринг — отнюдь не прихоть, а часто жизненно важный момент вашего приложения. В некоторых случаях, клиентский рендеринг делает SEO-продвижение попросту невозможным, а если вы хотите добиться максимальной скорости работы приложения при огромных количествах посещений, то серверный рендеринг — однозначно, ваш выбор.
  • Использовать фреймворки Express.js и Koa.js в разработке.

    В среде Node.js, помимо модулей и подключаемых библиотек, существуют два замечательных фреймворка, которые значительно облегчают процесс разработки. Более того, некоторые из подключаемых библиотек, написаны именно под фреймворки. Мы рассмотрим два самых популярных и известных фреймворка для разработки в среде Node.js.
  • Проводить аутентификацию и авторизацию, грамотно хранить персональные данные.

    В современном вебе практически не осталось места анонимности, при этом идентификация пользователей — крайне важный момент. Получаемые персональные данные должны храниться надежно и не использоваться без лишней необходимости. Мы рассмотрим лучшие практики и дополнительные библиотеки, облегчающие и повышающие надежность в этой части ваших приложений.
  • Работать с реляционными и нереляционными базами данных под Node.js.

    При разработке серверной части приложения особое внимание стоит уделить работе с данными. Выбор базы данных для проекта — крайне важный процесс, поэтому мы рассмотрим самые часто используемые типы баз данных. Для примера нереляционных баз будет использована MongoDB, для примера реляционных — PostgreSQL.
Юрий Кучма
Юрий Кучма
Преподаватель курса

Будущее — за распределенными системами, построенными на событийно-ориентированной основе, циклах и потоках. Объектная модель документа — всё ещё существует, но это уже не столько форма представления разметки HTML, сколько структура данных в памяти, динамически создаваемая с использованием JavaScript. Архитектура Node.js — идеальный выбор в этих условиях. Так же популярности Node.js добавляет обширный NPM-репозиторий, внушительное сообщество разработчиков и возможность использовать JavaScript как на клиенте, так и на сервере.

Что вы получите, выбрав наш курс?

  • Программа курса
    Изюминка курса - его программа. Вы получите полноценные и структурированные знания, поданные простым и понятным языком. В нужных пропорциях и под нужным соусом ;)
  • Преподаватели и наставники
    Преподаватели и наставники Loftschool - практикующие разработчики как с опытом разработки в крупных студиях, так и с опытом заработка на биржах фриланса. Поэтому знания, переданные вам, будут разносторонними.
  • Рабочий процесс
    Максимальная эмуляция рабочего процесса - командная разработка и реальные инструменты, которые используют ведущие IT-компании.
  • Команда
    Вы станете частью команды заряженных энтузиазмом единомышленников. Вместе с наставниками и преподавателями рука об руку пройдёте огонь и воду!
  • Личный наставник
    У вас будет личный наставник, который поможет решить все возникающие вопросы как во время обучения, так и после окончания курса.
  • Актуальные технологии
    Вам предстоит изучить только самые востребованные и актуальные технологии. Только те, что действительно используют в топовых мировых IT-компаниях.
  • Вебинары
    Насыщенные и интересные вебинары от лучших преподавателей Loftschool и возможность в режиме реального времени задавать вопросы и получать на них ответы.
  • Записи вебинаров
    Записи вебинаров доступны в личном кабинете студента неограниченное время, поэтому всегда можно вернуться и пересмотреть любую интересующую тему.
  • Индивидуальный подход
    Мы знаем, как это - быть новичком, пройти весь путь от нуля до профессионала, в одиночку, без поддержки. Миссия нашей школы - окружить каждого ученика заботой, сделать частью команды, дать силы и мотивацию вырасти в крутого специалиста!
  • Необходимые знания
    Мы были по обе стороны баррикад. Проходили собеседования сами и собеседовали других разработчиков. Мы знаем, что именно нужно вашим будущим работодателям и даем вам именно это.
  • Реальные проекты
    По окончании курса вы получите портфолио с реальными проектами, так как обучение в Loftschool - это максимум практики. Никакой воды.
  • Мы — создатели самого крупного IT-портала видеоуроков в русскоязычном интернете Loftblog. Именно там вы сможете оценить уровень, манеру и способы подачи информации наших преподавателей по их открытым урокам, вебинарам и курсам.
  • Наши выпускники
    Мы выпустили более 1200 успешных выпускников и очень гордимся этим!
  • Нас знают
    Нас и наших выпускников знают в ведущих российских IT-компаниях. Специалисты этих компаний также смотрят наши видеоуроки и обучаются на курсах.

Команда курса

Как проходит обучение

  • Продолжительность обучения:

    6 недель
  • Курс состоит из:

    16 уроков
Каждый модуль состоит из:
  • Видеоуроки для подготовки

  • Вебинар (2-2,5 ч) либо
    скринкаст (1 ч) + вебинар (1 ч)

  • Методические пособия

  • Вебинары проходят 3 раза в неделю. Обычно это вторник, четверг в 20:00, суббота в 12:00. О возможных переносах сообщаем заранее.
  • В начале курса ученики получают небольшие легкие задания, направленные на закрепление пройденных тем, которые необходимо выполнить до следующего занятия. Начиная с третьей недели ученики приступают к выполнению большого комплексного задания - выпускного проекта.
  • Личные голосовые консультации с наставником — 30 минут в неделю. Текстовые не лимитированы.
    В один из дней недели — групповая работа с наставником (1-2 часа практики).

Учебная программа

  • Неделя 1 — Введение в Node.js, асинхронность, модули
    • Введение в Node.js и настройка рабочей среды

      • Иващенко Андрей

        Иващенко Андрей

      • Кучма Юрий

        Кучма Юрий

      • Знакомство с преподавателями, наставниками, и одногруппниками.

      • Правила работы с кодом на курсе (линтер и Git).

      • Настройка рабочей среды, выбор инструментов для разработки и отладки.

      • Основная информация о Node.js (установка и т.д.).

      • Организационные вопросы.

    • Модули и файловая система

      • Кучма Юрий

        Кучма Юрий

      1. Система модулей Node.js.

      2. Знакомство и работа  с NPM.

      3. Потоки и pipe().

      4. Знакомство с основными модулями Path, File System, Readline и др.

      5. REPL и модуль Console.

    • Асинхронность в Node.js

      • Кучма Юрий

        Кучма Юрий

      1. EventLoop в Node.js.

      2. Модуль EventEmitter.

      3. Создание и обработка собственных событий.

      4. Promises.

      5. Async/Await.

      6. Как избежать callback-hell на примере модуля Step.

  • Неделя 2 — Работа с шаблонами, Express.js, Koa.js
    • Работа с шаблонами

      • Иващенко Андрей

        Иващенко Андрей

      1. Основные шаблонизаторы.

      2. Рендеринг шаблонов с изменяемыми данными, частичный рендеринг, работа с шаблонами “на лету”.

      3. Особенности работы с Pug.

      4. Особенности работы с  EJS.

      5. Особенности работы с  Handlebars.

    • Express.js

      • Кучма Юрий

        Кучма Юрий

      1. Знакомство с Express.js.

      2. Шаблонизация с помощью Pug или Handlebars.

      3. Обработка форм и загрузка файлов на сервер.

      4. Промежуточное ПО.

      5. Отправка электронной почты.

      6. Cookie-файлы в Express и сеансы.

    • Koa.js

      • Кучма Юрий

        Кучма Юрий

      1. Установка и начало использования.

      2. Маршрутизация и перенаправление.

      3. Обработка ошибок и логирование.

      4. Шаблонизация и работа с файлами.

      5. Работа с сессиями с помощью Cookies.

      6. Компрессия.

  • Неделя 3 — REST API, работа с базами данных
    • REST API

      • Иващенко Андрей

        Иващенко Андрей

      • Понятие API.

      • Что такое REST и Restful.

      • Пример построения простого API.

      • Обработка ошибок.

    • Работа с реляционными БД (на примере PostgreSQL)

      • Кучма Юрий

        Кучма Юрий

      • Отличие реляционных БД от нереляционных

      • PostgreSQL - самая популярная реляционная база данных

      • Связывание базы данных с концепциями объектно-ориентированных языков программирования с помощью ORM

      • postgresql-orm - легкий способ работать с PostgreSQL и Node.js

      • Настройка и запуск собственной базы данных PostgreSQL на локальном сервере

      • Инструменты для работы с данными - PGAdmin

      • Практика написания SQL-запросов

    • Работа с нереляционными БД (на примере MongoDB)

      • Кучма Юрий

        Кучма Юрий

      • Mongo DB - самая популярная не реляционная база данных

      • Mongo DB в связке с Mongoose - ООП в работе с базой данных

      • Использование сервиса mlab для дистанционного хранения информации

      • Особенности Mongoose - модели и коллекции

      • Настройка и запуск собственной базы данных Mongo DB на локальном сервере

      • Инструменты для работы с данными - MongoChief

  • Неделя 4 — Сокеты, авторизация, тестирование
    • Сокеты и работа с ними

      • Кучма Юрий

        Кучма Юрий

      • Создаем HTTP сервер

      • Начинаем работу с модулем ws

      • Реализация простого  Websocket чата

      • Библиотека Socket.IO

      • Простой чат с Socket.IO и Express.js

    • Авторизация и аутентификация

      • Кучма Юрий

        Кучма Юрий

      • Общая информация о информационной безопасности.

      • Модуль Crypto.

      • Passport.js.

      • Helmet.

      • JWT.

    • Тестирование

      • Иващенко Андрей

        Иващенко Андрей

      • Зачем нужно тестирование

      • Виды тестов

      • Тестируем Express приложение

      • Mocha

      • Chai

  • Неделя 5 — Deployment, написание ботов
    • Deployment и все, что с ним связано

      • Иващенко Андрей

        Иващенко Андрей

      • Развертывание из Git-репозитория.

      • Автоматизация развертывания.

      • Поддержание работы, максимизация доступности и производительности приложения.

      • Nginx-сервер в связке с Node.js.

      • Практика развертывания приложения на некоторых хостингах (Heroku, DigitalOcean, VDS, C9).

    • Процесс написания ботов (мастер-класс)

      • Кучма Юрий

        Кучма Юрий

      • Что такое бот программа

      • Написание чат-бота под Telegram

  • Неделя 6 — Серверный рендеринг
    • Серверный рендеринг

      • Иващенко Андрей

        Иващенко Андрей

      1. Изоморфные приложения — переходим на серверный рендеринг.

      2. Преимущества серверного рендеринга.

      3. Особенности серверного рендеринга React.js.

      4. Особенности серверного рендеринга Vue.js.

      5. Практика перехода на серверный рендеринг на примере большой домашней работы.

    • Закрытие курса

      • Иващенко Андрей

        Иващенко Андрей

      • Кучма Юрий

        Кучма Юрий

      • Что такое бот-программа?

      • Написание чат-бота под Telegram.

Программа по числам

Выпускной проект

В течение курса вы разработаете серверную часть для корпоративного приложения — внутренней системы взаимодействия между сотрудниками.

LoftSystem

Вымышленный корпоративный сайт. Новости, чат, панель администратора и пользовательские настройки — всё это вам будет необходимо реализовать во время обучения.

Ваш будущий сертификат
cert cert

По окончании обучения вы получите диплом. LoftSchool знают и ценят работодатели, поэтому диплом станет вашим дополнительным плюсом при трудоустройстве в IT-компанию.


Он будет доступен в электронном виде в личном кабинете - вы легко сможете добавить ссылку на диплом в резюме и подтвердить свой уровень подготовки.

Компании, в которых работают наши выпускники
Mail.ru
Yandex
Rambler
EPAM
T Systems
Reg.ru
Embria
Microsoft
Связной
Tutu.ru
Регистрация на обучение
Cпособы оплаты
  • visa
  • mastercard
  • paypal
Старт курса по мере набора группы
Оставьте заявку на курс и мы свяжемся с вами, как будет определена дата старта
Или подпишитесь на нашу рассылку и будьте в курсе новостей
Авторизоваться
Нет аккаунта? Зарегистрируйтесь
Регистрация
Уже зарегистрированны? Войти
Авторизоваться
Ничего страшного, введите свой e-mail и мы вышлем вам инструкции по восстановлению пароля.
Вспомнили пароль? Войти
Авторизоваться
Ничего страшного, введите свой e-mail и мы вышлем вам инструкции по восстановлению пароля.