Бессерверные приложения на JavaScript, Стоянович С., Симович А., 2020.
Преимущества облачных бессерверных веб-приложений бесспорны: меньшая сложность, быстрое продвижение на рынок и автоматическая масштабируемость выгодно отличают их от традиционных серверных проектов. Данная книга научит вас проектировать и создавать бессерверные веб-приложения на AWS с использованием JavaScript, Node и Claudia.js. Новичков издание знакомит не только с AWS Lambda, но и с целым рядом связанных служб, таких как DynamoDB, Cognito, API Gateway. Даже решив позднее взять на вооружение другие инструменты, вы сможете сохранить весь код и просто развернуть его немного иначе. Подробно описывается несколько вариантов практического использования бессерверных платформ, в том числе веб-API, чат-боты, обработка платежей и управление заказами.
Издание предназначено веб-разработчикам, знакомым с JavaScript и Node.js.

Бессерверное решение.
Для использования бессерверных вычислений требуется иной подход, так как приложения в этом случае управляются событиями и являются распределенными.
Все части бессерверного приложения с конечными точками API и бизнес-логикой изолируются в независимых и автоматически масштабируемых контейнерах.
В бессерверном приложении запросы обрабатываются на уровне маршрутизатора API, который решает единственную задачу: принимает НТТР-запросы и направляет их в службы уровня бизнес-логики. Маршрутизатор API в бессерверной архитектуре всегда действует независимо. Это означает, что от разработчиков приложений не требуется поддерживать маршрутизацию API, и поставщик услуг бессерверных вычислений автоматически масштабирует приложение, чтобы обеспечить своевременную обработку всех НТТР-запросов, поступающих в адрес вашего API. Также вы платите только за запросы, которые обрабатываются.
ОГЛАВЛЕНИЕ.
Предисловие от издательства.
Предисловие.
Вступление.
Благодарности.
Об этой книге.
Кому адресована книга.
Краткое содержание.
Об исходном коде.
Автор в сети.
Другие онлайн-ресурсы.
Об авторах.
Об иллюстрации на обложке.
ЧАСТЬ I. Бессерверная пиццерия.
Глава 1. Введение в бессерверные вычисления с Claudia.
1.1. Серверы и стиральные машины.
1.2. Основные понятия.
1.3. Как работают бессерверные вычисления?.
1.4. Бессерверные вычисления на практике.
1.4.1. Бессерверная пиццерия тетушки Марии.
1.4.2. Распространенный подход.
1.4.3. Бессерверное решение.
1.5. Бессерверная инфраструктура – AWS.
1.6. Что такое и для чего используется Claudia?.
1.7. Когда и где использовать бессерверные вычисления.
В заключение.
Глава 2. Создание первого бессерверного API.
2.1. Приготовление пиццы из ингредиентов: сборка API.
2.1.1. Какие пиццы можно заказать?.
2.1.2. Структурирование API.
2.1.3. Отправка заказа.
2.2. Как Claudia развертывает API.
2.3. Управление трафиком: как работает API Gateway.
2.4. Когда бессерверный API не является решением.
2.5. Опробование!.
2.5.1. Упражнение.
2.5.2. Решение.
В заключение.
Глава 3. Простота асинхронных операций с Promise().
3.1. Хранение заказов.
3.2. Обещание доставить меньше чем за 30 минут!.
3.3. Опробование API.
3.4. Извлечение заказов из базы данных.
3.5. Опробование!.
3.5.1. Упражнение.
3.5.2. Решение.
В заключение.
Глава 4. Доставка пиццы: подключение к внешней службе.
4.1. Подключение к внешней службе.
4.2. Подключение к API компании доставки.
4.2.1. API компании доставки Some Like It Hot.
4.2.2. Создание первой заявки на доставку.
4.3. Типичные проблемы асинхронных взаимодействий.
4.3.1. Забыли вернуть Promise.
4.3.2. Отсутствие значения, возвращаемого из Promise.
4.3.3. Вызов внешней службы не завернут в Promise.
4.3.4. Превышение времени ожидания длительной асинхронной операцией.
4.4. Опробование!.
4.4.1. Упражнение.
4.4.2. Решение.
В заключение.
Глава 5. Хьюстон, у нас проблема!.
5.1. Отладка бессерверного приложения.
5.2. Отладка функции Lambda.
5.3. Рентген для приложения.
5.4. Опробование!.
5.4.1. Упражнение.
5.4.2. Решение.
В заключение.
Глава 6. Совершенствование API.
6.1. Бессерверная аутентификация и авторизация.
6.2. Создание пулов пользователей и идентификации.
6.2.1. Управление доступом к API с помощью Cognito.
6.3. Опробование!.
6.3.1. Упражнение.
6.3.2. Решение.
В заключение.
Глава 7. Работа с файлами.
7.1. Хранение статических файлов в бессерверных приложениях.
7.2. Создание миниатюр.
7.2.1. Развертывание функции обработки файлов в S3.
7.3. Опробование!.
7.3.1. Упражнение.
7.3.2. Решение.
7.4. Конец первой части: специальное упражнение.
7.4.1. Усложненное задание.
В заключение.
ЧАСТЬ II. Поболтаем.
Глава 8. Заказ пиццы одним сообщением: чат-боты.
8.1. Заказ пиццы без браузера.
8.2. Привет из Facebook Messenger.
8.3. Какие виды пиццы у нас имеются?.
8.4. Ускорение развертывания.
8.5. Шаблоны для взаимодействий.
8.6. Как работает Claudia Bot Builder?.
8.7. Опробование!.
8.7.1. Упражнение.
8.7.2. Решение.
В заключение.
Глава 9. Ввод. асинхронные и отложенные ответы.
9.1. Добавление интерактивности в чат-бот.
9.1.1. Выбор заказа: получение ответа от пользователя.
9.2. Улучшение масштабируемости чат-бота.
9.3. Подключение чат-бота к базе данных DynamoDB.
9.4. Получение адреса доставки заказа в чат-боте.
9.5. Планирование доставки.
9.6. Добавление простой обработки естественного языка.
9.7. Опробование!.
9.7.1. Упражнение.
9.7.2. Решение.
9.7.3. Усложненное задание.
В заключение.
Глава 10. Джарвис, то есть Алекса, закажи мне пиццу.
10.1. Не могу сейчас говорить: отправка SMS с помощью службы Twilio.
10.1.1. Список пицц в SMS.
10.1.2. Оформление заказа.
10.2. Эй, Алекса!.
10.2.1. Подготовка сценария.
10.2.2. Оформление заказа с помощью Алексы.
10.3. Опробование!.
10.3.1. Упражнение.
10.3.2. Решение.
10.4. Конец второй части: специальное упражнение.
В заключение.
ЧАСТЬ III. Дальнейшие шаги.
Глава 11. Тестирование, тестирование и еще раз тестирование.
11.1. Тестирование обычных и бессерверных приложений.
11.2. Подходы к тестированию бессерверных приложений.
11.3. Подготовка.
11.4. Модульные тесты.
11.5. Использование имитаций для тестирования бессерверных функций.
11.6. Интеграционные тесты.
11.7. Другие типы автоматизированных тестов.
11.8. В дополнение к тестам: приемы разработки бессерверных функций для упрощения их тестирования.
11.9. Опробование!.
11.9.1. Упражнение.
11.9.2. Решение.
В заключение.
Глава 12. Получение платы за пиццу.
12.1. Платежные транзакции.
12.1.1. Реализация онлайн-платежей.
12.2. Реализация платежной службы.
12.3. Можно ли взломать нашу платежную службу?.
12.3.1. Стандарты.
12.3.2. Компетентность.
12.4. Опробование!.
12.4.1. Упражнение.
12.4.2. Решение.
В заключение.
Глава 13. Миграция существующих приложений Express.js в окружение AWS Lambda.
13.1. Приложение для таксомоторной компании дядюшки Роберто.
13.2. Запуск приложения Express.js в AWS Lambda.
13.2.1. Интеграция с оберткой.
13.2.2. Как работает serverless-express.
13.3. Обслуживание статического контента.
13.4. Подключение к MongoDB.
13.4.1. Использование управляемой базы данных MongoDB с бессерверным приложением Express.js.
13.5. Ограничения бессерверных приложений Express.js.
13.6. Опробование!.
13.6.1 Exercise.
13.6.2. Решение.
В заключение.
Глава 14. Миграция в бессерверное окружение.
14.1. Анализ текущего бессерверного приложения.
14.2. Миграция существующего приложения в бессерверное окружение.
14.3. Общий взгляд на платформу.
14.3.1. Обслуживание статических файлов.
14.3.2. Сохранение состояния.
14.3.3. Журналы.
14.3.4. Непрерывная интеграция.
14.3.5. Управление окружениями: промышленное окружение и окружение для разработки.
14.3.6. Совместное использование конфиденциальных данных.
14.3.7. Виртуальное частное облако.
14.4. Оптимизация приложения.
14.4.1. Связанные и узкоспециализированные функции.
14.4.2. Выбор правильного объема памяти для функции Lambda.
14.5. Преодоление проблем.
14.5.1. Тайм-ауты.
14.5.2. Холодный запуск.
14.5.3. Атаки DDoS.
14.5.4. Привязка к производителю.
14.6. Опробование!.
В заключение.
Глава 15. Примеры из практики.
15.1. CodePen.
15.1.1. До перехода на бессерверные вычисления.
15.1.2. Миграция на бессерверные вычисления.
15.1.3. Затраты на инфраструктуру.
15.1.4. Тестирование и проблемы.
15.2. MindMup.
15.2.1. До перехода на бессерверные вычисления.
15.2.2. Миграция на бессерверные вычисления.
15.2.3. Затраты на инфраструктуру.
15.2.4. Тестирование, журналирование и проблемы.
В заключение.
Приложение A. Установка и настройка.
A.1. Установка Claudia.
A.1.1. Настройка зависимостей Claudia.
A.1.2. Создание профиля AWS и получение ключей.
A.1.3. Установка Claudia API Builder.
A.1.4. Установка Claudia Bot Builder.
A.2. Установка AWS CLI.
Приложение B. Настройка Facebook Messenger, Twilio и Alexa.
B.1. Настройка Facebook Messenger.
B.1.1. Создание страницы Facebook.
B.1.2. Создание приложения Facebook.
B.1.3. Создание чат-бота Facebook Messenger с использованием Claudia Bot Builder.
B.1.4. Подключение встроенного механизма NLP.
B.2. Настройка Twilio.
B.2.1. Создание учетной записи Twilio.
B.2.2. Получение номера Twilio.
B.2.3. Настройка службы Twilio Programmable SMS.
B.3. Настройка Alexa.
Приложение C. Настройка Stripe и MongoDB.
C.1. Настройка учетной записи Stripe и получение ключей Stripe API.
C.1.1. Создание учетной записи Stripe.
C.1.2. Получение ключей Stripe API.
C.2. Установка и настройка MongoDB.
C.2.1. Создание учетной записи.
C.2.2. Настройка кластера.
Приложение D. Рецепт пиццы.
Предметный указатель.
Купить .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «Литрес», если она у них есть в наличии, и потом ее скачать на их сайте.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Теги: учебник по программированию :: программирование :: Стоянович :: Симович :: веб-приложение








