Голосов: 0
#1
Node.js: серверный JavaScript
Мы научим вас разрабатывать сайты, веб-сервисы и самостоятельные приложения на Node.js, а также хранить и использовать данные в популярных базах данных.
В результате обучения и прохождения этого курса вы получите знания, навыки и умения для того, чтобы начать работу junior Node.js-разработчиком.
Пройдя курс, вы научитесь
- Вести разработку на 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.
- Введение в Node.js и настройка рабочей среды
- Знакомство с преподавателями, наставниками, и одногруппниками.
- Правила работы с кодом на курсе (линтер и Git).
- Настройка рабочей среды, выбор инструментов для разработки и отладки.
- Основная информация о Node.js (установка и т.д.).
- Организационные вопросы.
- Модули и файловая система
- Система модулей Node.js.
- Знакомство и работа с NPM.
- Потоки и pipe().
- Знакомство с основными модулями Path, File System, Readline и др.
- REPL и модуль Console.
- Асинхронность в Node.js
- EventLoop в Node.js.
- Модуль EventEmitter.
- Создание и обработка собственных событий.
- Promises.
- Async/Await.
- Как избежать callback-hell на примере модуля Step.
- Работа с шаблонами
- Основные шаблонизаторы.
- Рендеринг шаблонов с изменяемыми данными, частичный рендеринг, работа с шаблонами “на лету”.
- Особенности работы с Pug.
- Особенности работы с EJS.
- Особенности работы с Handlebars.
- Express.js
- Знакомство с Express.js.
- Шаблонизация с помощью Pug или Handlebars.
- Обработка форм и загрузка файлов на сервер.
- Промежуточное ПО.
- Отправка электронной почты.
- Cookie-файлы в Express и сеансы.
- Koa.js
- Установка и начало использования.
- Маршрутизация и перенаправление.
- Обработка ошибок и логирование.
- Шаблонизация и работа с файлами.
- Работа с сессиями с помощью Cookies.
- Компрессия.
- 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
- Сокеты и работа с ними
- Создаем HTTP сервер
- Начинаем работу с модулем ws
- Реализация простого Websocket чата
- Библиотека Socket.IO
- Простой чат с Socket.IO и Express.js
- Авторизация и аутентификация
- Общая информация о информационной безопасности.
- Модуль Crypto.
- Passport.js.
- Helmet.
- JWT.
- Тестирование
- Зачем нужно тестирование
- Виды тестов
- Тестируем Express приложение
- Mocha
- Chai
- Deployment и все, что с ним связано
- Развертывание из Git-репозитория.
- Автоматизация развертывания.
- Поддержание работы, максимизация доступности и производительности приложения.
- Nginx-сервер в связке с Node.js.
- Практика развертывания приложения на некоторых хостингах (Heroku, DigitalOcean, VDS, C9).
- Процесс написания ботов (мастер-класс)
- Что такое бот программа
- Написание чат-бота под Telegram
- Серверный рендеринг
- Изоморфные приложения — переходим на серверный рендеринг.
- Преимущества серверного рендеринга.
- Особенности серверного рендеринга React.js.
- Особенности серверного рендеринга Vue.js.
- Практика перехода на серверный рендеринг на примере большой домашней работы.
- Закрытие курса
- Что такое бот-программа?
- Написание чат-бота под Telegram.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.