Курс включает в себя:
  • 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 и возможность в режиме реального времени задавать вопросы и получать на них ответы.
  • Записи вебинаров
    Записи вебинаров доступны в личном кабинете студента неограниченное время, поэтому всегда можно вернуться и пересмотреть любую интересующую тему.
  • 2 месяца обучения
    Мы сэкономим больше года вашей жизни, которые вы потратили бы на самообучение. Вам предстоит 2 супер-интенсивных месяца. Нет другого пути, чтобы прокачать такой набор скиллов в столь короткое время. Но мы уже делаем и будем делать то, что другие называют невозможным!
  • Индивидуальный подход
    Мы знаем, как это - быть новичком, пройти весь путь от нуля до профессионала, в одиночку, без поддержки. Миссия нашей школы - окружить каждого ученика заботой, сделать частью команды, дать силы и мотивацию вырасти в крутого специалиста!
  • Необходимые знания
    Мы были по обе стороны баррикад. Проходили собеседования сами и собеседовали других разработчиков. Мы знаем, что именно нужно вашим будущим работодателям и даем вам именно это.
  • Реальные проекты
    По окончании курса вы получите портфолио с реальными проектами, так как обучение в Loftschool - это максимум практики. Никакой воды.
  • Мы — создатели самого крупного IT-портала видеоуроков в русскоязычном интернете Loftblog. Именно там вы сможете оценить уровень, манеру и способы подачи информации наших преподавателей по их открытым урокам, вебинарам и курсам.
  • Наши выпускники
    Мы выпустили более 1200 успешных выпускников и очень гордимся этим!
  • Нас знают
    Нас и наших выпускников знают в ведущих российских IT-компаниях. Специалисты этих компаний также смотрят наши видеоуроки и обучаются на курсах.

Преподаватели курса

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

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

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

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

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

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

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

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

  • Неделя 1
    • Введение в 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
    • Работа с шаблонами

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

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

      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

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

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

      • Понятие API.

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

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

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

    • Сокеты и работа с ними

      • Кучма Юрий

        Кучма Юрий

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

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

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

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

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

    • Структура Node.js-приложений

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

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

      • Подходы к построению структуры приложения.

      • Пять главных правил.

      • Модульность в структуре проекта.

      • Создание структуры приложения на основе Express.

  • Неделя 4
    • Работа с реляционными БД

      • Сырцов Александр

        Сырцов Александр

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

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

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

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

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

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

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

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

      • Кучма Юрий

        Кучма Юрий

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

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

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

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

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

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

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

      • Кучма Юрий

        Кучма Юрий

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

      • Модуль Crypto.

      • Passport.js.

      • Helmet.

      • JWT.

  • Неделя 5
    • Тестирование

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

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

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

      • Виды тестов.

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

      • Mocha.

      • Chai.

    • Deployment и все, что с ним связано

      • Сырцов Александр

        Сырцов Александр

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

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

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

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

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

  • Неделя 6
    • Процесс написания ботов

      • Кучма Юрий

        Кучма Юрий

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

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

    • Серверный рендеринг

      • Сырцов Александр

        Сырцов Александр

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

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

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

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

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

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

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

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

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