Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Создавайте динамические веб-приложения с применением Express — ключевого компонента из стека разработки Node/JavaScript. Итан Браун описывает работу с Express 5 на примере создания полноценного приложения. В книге рассматриваются все этапы и компоненты — от серверного рендеринга до разработки API для работы с одностраничными приложениями (SPA). Express является золотой серединой между устоявшимся фреймворком и отсутствием фреймворка вообще, поэтому он оставляет вам определенную свободу при архитектурном выборе. Эта книга предоставит лучшие решения для фронтенд- и бэкенд-разработчиков, использующих Express. Научитесь смотреть на веб-разработку под новым углом! - Создайте систему шаблонизации для отображения динамических данных. - Подробно изучите объекты запроса и отклика, промежуточное ПО и маршрутизацию URL-адресов. - Создайте симуляцию продакшен-среды и выполняйте в ней тестирование. - Научитесь долговременному хранению информации в документных базах данных с помощью MongoDB и в реляционных базах данных — с помощью PostgreSQL. - Открывайте другим программам доступ к вашим ресурсам благодаря API. - Создавайте защищенные приложения с применением аутентификации, авторизации и HTTPS. - Интегрируйтесь с социальными сетями, включайте геолокацию и многое другое. - Внедрите план по запуску и сопровождению вашего приложения. - Освойте критически важные навыки отладки.

Author(s): Браун Итан
Series: Бестселлеры O’Reilly
Edition: 2
Publisher: Издательский дом "Питер"
Year: 2021

Language: Russian
Pages: 336

Введение
Для кого эта книга
Примечание ко второму изданию
Структура книги
Учебный сайт
Условные обозначения
Использование примеров исходного кода
От издательства
Благодарности
Об авторе
Глава 1. Знакомство с Express
Революция JavaScript
Знакомство с Express
Приложения на стороне сервера и на стороне клиента
Краткая история Express
Node: новая разновидность веб-сервера
Экосистема Node
Лицензирование
Резюме
Глава 2. Первые шаги с Node
Установка Node
Использование терминала
Редакторы
npm
Простой веб-сервер с помощью Node
Hello World!
Событийно-ориентированное программирование
Маршрутизация
Раздача статических ресурсов
Вперед к Express
Глава 3. Экономия времени благодаря Express
Скаффолдинг
Сайт Meadowlark Travel
Первые шаги
Представления и макеты
Статические файлы и представления
Динамический контент в представлениях
Резюме
Глава 4. Наводим порядок
Структура файлов и каталогов
Лучшие решения
Контроль версий
Как использовать Git с этой книгой
Если вы набираете примеры самостоятельно
Если вы используете официальный репозиторий
Пакеты npm
Метаданные проекта
Модули Node
Резюме
Глава 5. Обеспечение качества
План по обеспечению качества
QA: стоит ли оно того?
Логика и визуализация
Виды тестов
Обзор методов QA
Установка и настройка Jest
Модульное тестирование
Mock-объекты
Рефакторинг приложения для упрощения его тестирования
Наш первый тест
Поддержка тестов
Покрытие кода тестами
Интеграционное тестирование
Линтинг
Непрерывная интеграция
Резюме
Глава 6. Объекты запроса и ответа
Составные части URL
Методы запросов HTTP
Заголовки запроса
Заголовки ответа
Типы данных Интернета
Тело запроса
Объект запроса
Объект ответа
Получение более подробной информации
Разбиваем на части
Рендеринг контента
Обработка форм
Предоставление API
Резюме
Глава 7. Шаблонизация с помощью Handlebars
Нет абсолютных правил кроме этого
Выбор шаблонизатора
Pug: другой подход
Основы Handlebars
Комментарии
Блоки
Серверные шаблоны
Представления и макеты
Использование (или неиспользование) макетов в Express
Секции
Частичные шаблоны
Совершенствование шаблонов
Резюме
Глава 8. Обработка форм
Отправка данных с клиентской стороны на сервер
HTML-формы
Кодирование
Различные подходы к обработке форм
Обработка форм посредством Express
Отправка данных формы с помощью fetch
Загрузка файлов на сервер
Загрузка файлов посредством fetch
Усовершенствование интерфейса пользователя для загрузки файлов
Резюме
Глава 9. Cookie-файлы и сеансы
Внешнее хранение данных доступа
Cookie-файлы в Express
Просмотр cookie-файлов
Сеансы
Хранилища в памяти
Использование сеансов
Использование сеансов для реализации уведомлений
Для чего использовать сеансы
Резюме
Глава 10. Промежуточное ПО
Принципы работы промежуточного ПО
Примеры промежуточного ПО
Распространенное промежуточное ПО
Промежуточное ПО сторонних производителей
Резюме
Глава 11. Отправка электронной почты
SMTP MSA и MTA
Получение сообщений электронной почты
Заголовки сообщений электронной почты
Форматы сообщений электронной почты
Сообщения электронной почты в формате HTML
Nodemailer
Отправка писем
Отправка писем нескольким адресатам
Рекомендуемые варианты для массовых рассылок
Отправка писем в формате HTML
Изображения в письмах в формате HTML
Использование представлений для отправки писем в формате HTML
Инкапсуляция функциональности электронной почты
Резюме
Глава 12. Промышленная эксплуатация
Среды выполнения
Отдельные конфигурации для различных сред
Запуск процесса в Node
Масштабируем сайт
Горизонтальное масштабирование с помощью кластеров приложений
Обработка неперехваченных исключений
Горизонтальное масштабирование с несколькими серверами
Мониторинг сайта
Сторонние мониторы работоспособности
Стресс-тестирование
Резюме
Глава 13. Персистентность данных
Хранение данных в файловой системе
Хранение данных в облаке
Хранение данных в базе данных
Замечания относительно производительности
Абстрагирование слоя базы данных
Установка и настройка MongoDB
Mongoose
Подключение к базе данных с помощью Mongoose
Создание схем и моделей
Определение начальных данных
Извлечение данных
Добавление данных
PostgreSQL
Добавление данных
Использование баз данных для хранения сеансов
Резюме
Глава 14. Маршрутизация
Маршруты и SEO
Поддомены
Обработчики маршрутов — промежуточное ПО
Пути маршрутов и регулярные выражения
Параметры маршрутов
Организация маршрутов
Объявление маршрутов в модуле
Логическая группировка обработчиков
Автоматический рендеринг представлений
Резюме
Глава 15. REST API и JSON
JSON и XML
Наш API
Выдача отчета об ошибках API
Совместное использование ресурсов между разными источниками
Наши тесты
Использование Express для предоставления API
Резюме
Глава 16. Одностраничные приложения
Краткая история разработки веб-приложений
Технологии SPA
Создание приложения React
Основы React
Домашняя страница
Маршрутизация
Страница Туры: графический дизайн
Страница Туры: интеграция сервера
Отправка информации серверу
Управление состоянием
Варианты развертывания
Резюме
Глава 17. Статический контент
Вопросы производительности
Сети доставки контента
Проектирование для CDN
Веб-сайт с рендерингом на стороне сервера
Одностраничные приложения
Кэширование статических ресурсов
Изменение статического содержимого
Резюме
Глава 18. Безопасность
HTTPS
Создание собственного сертификата
Использование бесплатного сертификата
Покупка сертификата
Разрешение HTTPS для вашего приложения в Express
Примечание о портах
HTTPS и прокси
Межсайтовая подделка запроса
Аутентификация
Аутентификация или авторизация
Проблема с паролями
Сторонняя аутентификация
Хранение пользователей в вашей базе данных
Аутентификация или регистрация и пользовательский опыт
Passport
Авторизация на основе ролей
Добавление дополнительных поставщиков аутентификации
Резюме
Глава 19. Интеграция со сторонними API
Социальные медиа
Плагины социальных медиа и производительность сайта
Поиск твитов
Отображение твитов
Геокодирование
Геокодирование с Google
Геокодирование ваших данных
Отображение карты
Метеоданные
Резюме
Глава 20. Отладка
Первый принцип отладки
Воспользуйтесь REPL и консолью
Использование встроенного отладчика Node
Инспекторы Node
Отладка асинхронных функций
Отладка Express
Резюме
Глава 21. Ввод в эксплуатацию
Регистрация домена и хостинг
Система доменных имен
Безопасность
Домены верхнего уровня
Поддомены
Сервер имен
Хостинг
Развертывание
Резюме
Глава 22. Поддержка
Принципы поддержки
Имейте многолетний план
Используйте контроль версий
Используйте систему отслеживания ошибок
Соблюдайте гигиену
Не откладывайте
Регулярно контролируйте качество
Отслеживайте аналитику
Оптимизируйте производительность
Уделяйте первостепенное внимание отслеживанию потенциальных покупателей
Предотвратите незаметные случаи неудачи
Повторное использование и рефакторинг кода
Приватный реестр npm
Промежуточное ПО
Резюме
Глава 23. Дополнительные ресурсы
Онлайн-документация
Периодические издания
Stack Overflow
Содействие развитию Express
Резюме
Об иллюстрации на обложке