Скоро [Loftschool] Node.js: серверный JavaScript

  • Автор темы VkurseBot
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
VkurseBot

VkurseBot

Модератор
20 Сен 2020
0
269
0
#1
Node.js: серверный JavaScript

Мы научим вас разрабатывать сайты, веб-сервисы и самостоятельные приложения на Node.js, а также хранить и использовать данные в популярных базах данных.

В результате обучения и прохождения этого курса вы получите знания, навыки и умения для того, чтобы начать работу junior Node.js-разработчиком

[​IMG]

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

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

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

  2. Использовать технологию WebSocket и библиотеку socket.io.

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

  3. Разворачивать готовый проект на хостинге.

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

  4. Тестировать свой код.

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

  5. Применять практики серверного рендеринга.

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

  6. Использовать фреймворки Express.js и Koa.js в разработке.

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

  7. Проводить аутентификацию и авторизацию, грамотно хранить персональные данные.

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

  8. Работать с реляционными и нереляционными базами данных под Node.js.

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

Введение в Node.js и настройка рабочей среды
  • Знакомство с преподавателями, наставниками, и одногруппниками
  • Правила работы с кодом на курсе (линтер и Git, знакомство и работа с NPM)
  • Настройка рабочей среды, выбор инструментов для разработки и отладки
  • Основная информация о Node.js (установка и т.д.)
  • Организационные вопросы.
Модули, файловая система и потоки
  • Система модулей в Node.js.
  • Знакомство с основными модулями Path, System, Console, Readline и др.
  • Работа с файлами
  • Работа с потоками чтения и записи: pipe()
  • Примеры работы с потоками. Модули through2 и through2-parallel
Работа с асинхронностью в Node.js
  • EventLoop в Node.js.
  • Модуль EventEmitter. Создание и обработка собственных событий
  • Утилита async
  • Promises. Модуль mz. Применение promisify
  • Генераторы
  • Async/Await
Работа с шаблонами
  • Основные шаблонизаторы
  • Рендеринг шаблонов с изменяемыми данными, частичный рендеринг, работа с шаблонами “на лету”
  • Особенности работы с Pug
  • Особенности работы с EJS
  • Особенности работы с Handlebars
Express.js
  • Знакомство с фраемворком Express.js
  • Роутинг
  • Обработка форм и загрузка файлов на сервер
  • Промежуточное ПО
  • Отправка электронной почты
  • Cookie-файлы в Express и сеансы
Koa.js
  • Установка и начало использования
  • Маршрутизация и перенаправление
  • Шаблонизация и работа с файлами
  • Работа с сессиями с помощью Cookies
  • Практический пример создания сайта по примеру домашнего задания
REST API
  • Понятие API
  • Что такое REST и Restful
  • Пример построения простого API
  • Обработка ошибок
Работа с реляционными БД (на примере PostgreSQL)
  • PostgreSQL - самая популярная реляционная база данных
  • Настройка и запуск собственной базы данных PostgreSQL на локальном сервере
  • Основные способы подключения
  • Связывание базы данных с концепциями объектно-ориентированных языков программирования с помощью ORM Sequelize
  • Инструменты для работы с данными - PGAdmin
Работа с нереляционными БД (на примере MongoDB)
  • Mongo DB - самая популярная нереляционная база данных. Отличие реляционных БД от нереляционных
  • Особенности Mongoose - модели и коллекции
  • Настройка и запуск собственной базы.
  • Использование сервиса mLab для дистанционного хранения информации, данных Mongo DB на локальном сервере
  • Инструменты для работы с данными
  • Mongo DB в связке с Mongoose - ООП в работе с базой данных, пример API
Сокеты и работа с ними
  • Начинаем работу с модулем ws
  • Реализация простого Websocket чата
  • Библиотека Socket.IO
  • Простой чат с Socket.IO и Express.js
  • Пример чата с несколькими комнатами
Авторизация и аутентификация
  • Авторизация и аутентификация. В чем различие?
  • Модуль Crypto и пакет bCrypt
  • Работа с Passport.js
  • Примеры аутентификации с локальной стратегией Passport.js и GitHub
  • Использование JWT для авторизации к API
Тестирование
  • Зачем нужно тестирование
  • Виды тестов
  • Тестируем Express приложение
  • Mocha
  • Chai
Deployment и все, что с ним связано
  • Развертывание из Git-репозитория
  • Автоматизация развертывания
  • Поддержание работы, максимизация доступности и производительности приложения
  • Nginx-сервер в связке с Node.js
  • Практика развертывания приложения на некоторых хостингах (Heroku, DigitalOcean, VDS, C9)
Процесс написания ботов (мастер-класс)
  • Что такое бот программа
  • Написание чат-бота под Telegram
  • Библиотека node-telegram-bot-api
  • Отправка ботом медиаконтента, видео, музыка, картинки и т.д.
  • Создание клавиатуры и обработка команд
Серверный рендеринг
  • Изоморфные приложения — переходим на серверный рендеринг
  • Преимущества серверного рендеринга
  • Особенности серверного рендеринга React.js
  • Особенности серверного рендеринга Vue.js
  • Практика перехода на серверный рендеринг на примере большой домашней работы
Закрытие курса
  • Что делать после курса?
  • Опенсорс
  • Тематические сообщества



 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.

О нас

  • На нашем форуме есть все курсы и материалы со всей сети для того, чтобы вы смогли начать действовать и занялись любимым делом в интернете. Бесплатные курсы, тренинги, книги, уроки, гайды, вебинары на различные тематики. Изучи как открыть свой бизнес бесплатно и как можно заработать.
  • Форум Вкурсе - это:
    • Популярные обучающие курсы от известных спикеров и авторов;
    • Огромный раздел по актуальным схемам заработка в интернете;
    • Слитые складчины по бизнесу, дизайну, и многое другое

Быстрая навигация

Меню пользователя