Веб-разработка с применением Node и Express

Пример практического использования.

Браун Итан "Веб-разработка с применением Node и Express Полноценное использование стека JavaScript " Питер, 2017 год, 336 стр , Бестселлеры O’Reilly, (6,64 мб pdf)

Это руководство по веб-разработке с применением JavaScript, Node и Express с практическим примером создания сайта Книга поможет программистам и WEB-разработчикам создавать, как обычные сайты, так и воплощающие REST-интерфейсы программирования приложений или комбинируя технологии с использованием JavaScript, Node и Express JavaScript , это язык используемый для написания клиентских (браузерных) сценариев, создания всевозможных анимаций, переходов и интерактивных веб-интерфейсов.

Без JavaScript практически является основной функциональной технологией на стороне клиента Правда основная проблема для программиста, это то что JavaScript не прощает халатного и невнимательного программирования, так как он чувствителен к регистру символов Технология Node расширяет и помогает значительно повысить функциональность приложений, подключая фреймворки, библиотеки и утилиты Ускоряет разработку веб-приложений и стимулирует к написанию хорошего кода Для чтения книги вам не нужен опыт работы с Node, но необходимы хотя бы базовый опыт работы с JavaScript
ISBN 978-5-496-02156-2

Оглавление книги.

Глава 1. Знакомство с Express 26
Революция JavaScript 26
Знакомство с Express 28
Краткая история Express 29
Переход на версию 4.0 30
Node: новая разновидность веб-сервера 30
Экосистема Node 32
Лицензирование 33

Глава 2. Первые шаги с Node 35
Получение Node 35
Использование терминала 36

Редакторы 38
npm 38
Простой веб-сервер с помощью Node 39
Hello World 40
Событийно-управляемое программирование 40
Маршрутизация 41
Выдача статических ресурсов 42
Вперед к Express 44

Глава 3. Экономия времени с помощью Express 45
Скаффолдинг 45
Сайт Meadowlark Travel 46
Первые шаги 46
Представления и макеты 50
Статические файлы и представления 53
Динамический контент в представлениях 53
Резюме 54

Глава 4. Наводим порядок 55
Лучшие решения 55
Контроль версий 56
Как использовать Git с этой книгой 57
Если вы набираете примеры самостоятельно 57
Если вы используете официальный репозиторий 58
Пакеты npm 59
Метаданные проекта 60
Модули Node 61

Глава 5. Обеспечение качества 63
QA: стоит ли оно того? 64
Логика и визуализация 65
Виды тестов 66
Обзор методов QA 66
Запуск вашего сервера 67
Страничное тестирование 67
Межстраничное тестирование 71
Логическое тестирование 74
Линтинг 75
Проверка ссылок 76
Автоматизация с помощью Grunt 76
Непрерывная интеграция 79

Глава 6. Объекты запроса и ответа 81
Составные части URL 81
Методы запросов HTTP 82
Заголовки запроса 83
Заголовки ответа 83
Типы данных Интернета 84
Тело запроса 85
Параметры 85
Объект запроса 85
Объект ответа 87
Получение более подробной информации 90
Разбиваем на части 90
Визуализация контента 91
Обработка форм 92
Предоставление API 93

Глава 7. Шаблонизация с помощью Handlebars 96
Нет абсолютных правил, кроме этого 97
Выбор шаблонизатора 98
Jade: другой подход 98
Основы Handlebars 100
Комментарии 101
Блоки 102
Серверные шаблоны 104
Представления и макеты 104
Использование (или неиспользование) макетов в Express 107
Частичные шаблоны 107
Секции 110
Совершенствование шаблонов 111
Handlebars на стороне клиента 112
Резюме 114

Глава 8. Обработка форм 115
Отправка данных с клиентской стороны на сервер 115
HTML-формы 115
Кодирование 117
Различные подходы к обработке форм 117
Обработка форм посредством Express 119
Обработка форм посредством AJAX 121
Загрузка файлов на сервер 123
Загрузка файлов посредством jQuery 125
Глава 9 Cookie-файлы и сеансы 129
Экспорт учетных данных 130
Cookie-файлы в Express 131
Просмотр cookie-файлов 133
Сеансы 133
Хранилища в памяти 134
Использование сеансов 135
Использование сеансов для реализации экстренных сообщений 135
Для чего использовать сеансы 138

Глава 10. Промежуточное ПО 139
Распространенное промежуточное ПО 144
Промежуточное ПО сторонних производителей 147

Глава 11. Отправка электронной почты 148
SMTP, MSA и MTA 148
Получение сообщений электронной почты 149
Заголовки сообщений электронной почты 149
Форматы сообщений электронной почты 150
Сообщения электронной почты в формате HTML 150
Nodemailer 151
Отправка писем 152
Отправка писем нескольким адресатам 153
Рекомендуемые варианты для массовых рассылок 154
Отправка писем в формате HTML 154
Изображения в письмах в формате HTML 155
Использование представлений для отправки писем в формате HTML 155
Инкапсуляция функциональности электронной почты 158
Электронная почта как инструмент контроля сайта 159

Глава 12. Реальные условия эксплуатации 161
Условия эксплуатации 161
Отдельные конфигурации для различных сред 162
Масштабируем ваш сайт 164
Горизонтальное масштабирование с помощью кластеров приложений 165
Обработка неперехваченных исключений 167
Горизонтальное масштабирование с несколькими серверами 171
Мониторинг сайта 172
Сторонние мониторы работоспособности 172
Программные сбои 173
Стрессовое тестирование 173

Глава 13. Хранение данных 175
Хранение данных в файловой системе 175
Хранение данных в облаке 177
Хранение данных в базе данных 178
Замечания относительно производительности 179
Установка и настройка MongoDB 179
Mongoose 180
Подключение к базе данных с помощью Mongoose 181
Создание схем и моделей 181
Задание начальных данных 182
Извлечение данных 184
Добавление данных 186
Использование MongoDB в качестве сеансового хранилища 188

Глава 14. Маршрутизация 191
Маршруты и SEO 193
Поддомены 194
Обработчики маршрутов — промежуточное ПО 195
Пути маршрутов и регулярные выражения 196
Параметры маршрутов 197
Организация маршрутов 198
Объявление маршрутов в модуле 199
Логическая группировка обработчиков 200
Автоматическая визуализация представлений 201
Другие подходы к организации маршрутов 202

Глава 15. API REST и JSON 204
JSON и XML 205
Наш API 205
Выдача отчета об ошибках API 207
Совместное использование ресурсов между разными источниками (CORS) 208
Хранилище данных 208
Наши тесты 209
Использование Express для предоставления API 211
Использование плагина REST 212
Использование поддомена 214

Глава 16. Статический контент 216
Вопросы производительности 217
Обеспечение работоспособности сайта в будущем 218
Статическое отображение 218
Статические ресурсы в представлениях 220
Статические ресурсы в CSS 221
Статические ресурсы в серверном JavaScript 222
Статические ресурсы в клиентском JavaScript 223
Выдача статических ресурсов 224
Изменение статического содержимого 225
Упаковка и минимизация 226
Замечание относительно сторонних библиотек 231
Обеспечение качества 232
Резюме 233

Глава 17. Реализация MVC в Express 235
Модели 236
Модели представления 237
Контроллеры 240
Резюме 242

Глава 18. Безопасность 243
HTTPS 243
Создание собственного сертификата 244
Использование бесплатного сертификата 246
Покупка сертификата 246
Разрешение HTTPS для вашего приложения в Express 249
Примечание о портах 250
HTTPS и прокси 251
Межсайтовая подделка запроса 252
Аутентификация 253
Аутентификация или авторизация 253
Проблема с паролями 254
Сторонняя аутентификация 254
Хранение пользователей в вашей базе данных 255
Аутентификация или регистрация и пользовательский опыт 256
Passport 257
Авторизация на основе ролей 267
Добавление дополнительных поставщиков аутентификации 269
Резюме 270

Глава 19. Интеграция со сторонними API 271
Социальные медиа 271
Плагины социальных медиа и производительность сайта 271
Поиск твитов 272
Отображение твитов 276
Геокодирование 280
Геокодирование с Google 280
Геокодирование ваших данных 282
Отображение карты 285
Улучшение производительности на стороне клиента 288
Метеоданные 289
Резюме 291

Глава 20. Отладка 292
Первый принцип отладки 292
Воспользуйтесь REPL и Console 293
Использование встроенного отладчика Node 294
Инспектор Node 295
Отладка асинхронных функций 298
Отладка Express 299

Глава 21. Ввод в эксплуатацию 302
Регистрация домена и хостинг 302
Система доменных имен 303
Безопасность 304
Домены верхнего уровня 304
Субдомены 306
Сервер имен 306
Хостинг 308
Развертывание 310
Резюме 314

Глава 22. Поддержка 315
Принципы поддержки 315
Имейте многолетний план 315
Используйте контроль версий 317
Используйте систему отслеживания ошибок 317
Соблюдайте гигиену 318
Не откладывайте 318
Регулярно контролируйте качество 319
Отслеживайте аналитику 319
Оптимизируйте производительность 320
Уделяйте первостепенное внимание отслеживанию потенциальных покупателей 320
Предотвратите незаметные случаи неудачи 322
Повторное использование и рефакторинг кода 322
Приватный реестр npm 323
Промежуточное ПО 324
Резюме 327

Глава 23. Дополнительные ресурсы 328
Онлайн-документация 328
Периодические издания 329
Stack Overflow 329
Содействие развитию Express 331
Резюме 333

 
Скачать книгу бесплатно6,64 мб pdf