Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 638984)
Контекстум
Электро-2024

Бессерверные приложения на JavaScript (4000,00 руб.)

0   0
Первый авторСтоянович
АвторыСимович А.
ИздательствоМ.: ДМК Пресс
Страниц396
ID794768
АннотацияПреимущества облачных бессерверных веб-приложений бесспорны: меньшая сложность, быстрое продвижение на рынок и автоматическая масштабируемость выгодно отличают их от традиционных серверных проектов. Данная книга научит вас проектировать и создавать бессерверные веб-приложения на AWS с использованием JavaScript, Node и Claudia.js. Новичков издание знакомит не только с AWS Lambda, но и с целым рядом связанных служб, таких как DynamoDB, Cognito, API Gateway. Даже решив позднее взять на вооружение другие инструменты, вы сможете сохранить весь код и просто развернуть его немного иначе. Подробно описывается несколько вариантов практического использования бессерверных платформ, в том числе веб-API, чат-боты, обработка платежей и управление заказами. Издание предназначено веб-разработчикам, знакомым с JavaScript и Node.js.
ISBN978-5-97060-782-4
УДК4.42
ББК32.972
Стоянович, С. Бессерверные приложения на JavaScript / А. Симович; С. Стоянович .— Москва : ДМК Пресс, 2020 .— 396 с. — ISBN 978-5-97060-782-4 .— URL: https://rucont.ru/efd/794768 (дата обращения: 15.06.2024)

Предпросмотр (выдержки из произведения)

Бессерверные_приложения_на_JavaScript.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Бессерверные_приложения_на_JavaScript.pdf
УДК 004.42 ББК 32.972 С81 С81 Слободан Стоянович, Александар Симович Бессерверные приложения на JavaScript / пер. с англ. А. Н. Киселева. – М.: ДМК Пресс, 2020. – 394 с.: ил. ISBN 978-5-97060-782-4 Преимущества облачных бессерверных веб-приложений бесспорны: меньшая сложность, быстрое продвижение на рынок и автоматическая масштабируемость выгодно отличают их от традиционных серверных проек тов. Данная книга научит вас проектировать и создавать бессерверные веб-приложения на AWS с использованием JavaScript, Node и Claudia.js. Новичков издание знакомит не только с AWS Lambda, но и с целым рядом связанных служб, таких как DynamoDB, Cognito, API Gateway. Даже решив позднее взять на вооружение другие инструменты, вы сможете сохранить весь код и просто развернуть его немного иначе. Подробно описывается несколько вариантов практического использования бессерверных платформ, в том числе веб-API, чат-боты, обработка платежей и управление заказами. Издание предназначено веб-разработчикам, знакомым с JavaScript и Node.js. УДК 004.42 ББК 32.972 Original English language edition published by Manning Publications. Copyright © 2019 Все права защищены. Любая часть этой книги не может быть воспроизведена by Manning Publications. Russian language edition copyright © 2019 by DMK Press. All rights reserved. в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материа,л, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-61729-472-3 (англ.) ISBN 978-5-97060-782-4 (рус.) Copyright © 2019 by Manning Publications Co. © Оформление, перевод на русский язык, издание, ДМК Пресс, 2020
Стр.5
Оглавление Предисловие от издательства .......................................................................12 Предисловие .....................................................................................................13 Вступление ........................................................................................................15 Благодарности ..................................................................................................16 Об этой книге ....................................................................................................17 Кому адресована книга ................................................................................... 17 Краткое содержание ....................................................................................... 17 Об исходном коде ........................................................................................... 19 Автор в сети..................................................................................................... 20 Другие онлайн-ресурсы ................................................................................. 20 Об авторах ........................................................................................................21 Об иллюстрации на обложке .........................................................................22 ЧАСТЬ I. Бессерверная пиццерия ................................................................23 Глава 1. Введение в бессерверные вычисления с Claudia ........................24 1.1. Серверы и стиральные машины.............................................................. 25 1.2. Основные понятия ................................................................................... 26 1.3. Как работают бессерверные вычисления? ............................................. 28 1.4. Бессерверные вычисления на практике ................................................. 28 1.4.1. Бессерверная пиццерия тетушки Марии .................................................. 29 1.4.2. Распространенный подход ........................................................................ 29 1.4.3. Бессерверное решение ............................................................................... 31 1.5. Бессерверная инфраструктура – AWS ..................................................... 32 1.6. Что такое и для чего используется Claudia? ........................................... 38 1.7. Когда и где использовать бессерверные вычисления ............................ 41 В заключение .................................................................................................. 42 Глава 2. Создание первого бессерверного API ............................................43 2.1. Приготовление пиццы из ингредиентов: сборка API ............................ 43 2.1.1. Какие пиццы можно заказать? .................................................................. 46
Стр.6
6  Оглавление 2.1.2. Структурирование API ............................................................................... 49 2.1.3. Отправка заказа .......................................................................................... 55 2.2. Как Claudia развертывает API .................................................................. 59 2.3. Управление трафиком: как работает API Gateway ................................. 61 2.4. Когда бессерверный API не является решением .................................... 62 2.5. Опробование! ........................................................................................... 63 2.5.1. Упражнение ................................................................................................ 63 2.5.2. Решение....................................................................................................... 64 В заключение .................................................................................................. 68 Глава 3. Простота асинхронных операций с Promise() ..............................69 3.1. Хранение заказов ..................................................................................... 69 3.2. Обещание доставить меньше чем за 30 минут! ..................................... 75 3.3. Опробование API ...................................................................................... 79 3.4. Извлечение заказов из базы данных ...................................................... 83 3.5. Опробование! ........................................................................................... 85 3.5.1. Упражнение ................................................................................................ 86 3.5.2. Решение....................................................................................................... 87 В заключение .................................................................................................. 90 Глава 4. Доставка пиццы: подключение к внешней службе ....................91 4.1. Подключение к внешней службе ............................................................. 91 4.2. Подключение к API компании доставки ................................................ 93 4.2.1. API компании доставки Some Like It Hot .................................................. 93 4.2.2. Создание первой заявки на доставку........................................................ 94 4.3. Типичные проблемы асинхронных взаимодействий.......................... 101 4.3.1. Забыли вернуть Promise ........................................................................... 102 4.3.2. Отсутствие значения, возвращаемого из Promise ................................. 102 4.3.3. Вызов внешней службы не завернут в Promise ...................................... 104 4.3.4. Превышение времени ожидания длительной асинхронной операцией .................................................................................................. 105 4.4. Опробование! ......................................................................................... 107 4.4.1. Упражнение .............................................................................................. 107 4.4.2. Решение..................................................................................................... 108 В заключение ................................................................................................ 110 Глава 5. Хьюстон, у нас проблема! ..............................................................111 5.1. Отладка бессерверного приложения .................................................... 111 5.2. Отладка функции Lambda ...................................................................... 113 5.3. Рентген для приложения ....................................................................... 116 5.4. Опробование! ......................................................................................... 120
Стр.7
Оглавление  7 5.4.1. Упражнение .............................................................................................. 120 5.4.2. Решение..................................................................................................... 120 В заключение ................................................................................................ 121 Глава 6. Совершенствование API .................................................................122 6.1. Бессерверная аутентификация и авторизация .................................... 122 6.2. Создание пулов пользователей и идентификации .............................. 126 6.2.1. Управление доступом к API с помощью Cognito .................................... 130 6.3. Опробование! ......................................................................................... 134 6.3.1. Упражнение .............................................................................................. 135 6.3.2. Решение..................................................................................................... 136 В заключение ................................................................................................ 137 Глава 7. Работа с файлами ............................................................................138 7.1. Хранение статических файлов в бессерверных приложениях ............ 138 7.2. Создание миниатюр ............................................................................... 143 7.2.1. Развертывание функции обработки файлов в S3 ................................... 150 7.3. Опробование! .......................................................................................... 151 7.3.1. Упражнение ............................................................................................... 152 7.3.2. Решение ..................................................................................................... 152 7.4. Конец первой части: специальное упражнение ................................... 155 7.4.1. Усложненное задание ............................................................................... 155 В заключение ................................................................................................ 155 ЧАСТЬ II. Поболтаем .....................................................................................157 Глава 8. Заказ пиццы одним сообщением: чат-боты ...............................158 8.1. Заказ пиццы без браузера ..................................................................... 158 8.2. Привет из Facebook Messenger .............................................................. 160 8.3. Какие виды пиццы у нас имеются?....................................................... 162 8.4. Ускорение развертывания ..................................................................... 164 8.5. Шаблоны для взаимодействий .............................................................. 167 8.6. Как работает Claudia Bot Builder? .......................................................... 170 8.7. Опробование! .......................................................................................... 172 8.7.1. Упражнение ............................................................................................... 172 8.7.2. Решение ..................................................................................................... 172 В заключение ................................................................................................ 173 Глава 9. Ввод... асинхронные и отложенные ответы ...............................174 9.1. Добавление интерактивности в чат-бот ............................................... 174 9.1.1. Выбор заказа: получение ответа от пользователя ................................. 175
Стр.8
8  Оглавление 9.2. Улучшение масштабируемости чат-бота .............................................. 182 9.3. Подключение чат-бота к базе данных DynamoDB ............................... 186 9.4. Получение адреса доставки заказа в чат-боте ..................................................................................... 191 9.5. Планирование доставки ........................................................................ 194 9.6. Добавление простой обработки естественного языка ........................ 200 9.7. Опробование! .......................................................................................... 202 9.7.1. Упражнение ............................................................................................... 202 9.7.2. Решение ..................................................................................................... 203 9.7.3. Усложненное задание ............................................................................... 205 В заключение ................................................................................................ 205 Глава 10. Джарвис, то есть Алекса, закажи мне пиццу ............................206 10.1. Не могу сейчас говорить: отправка SMS с помощью службы Twilio ........................................................................................................ 207 10.1.1. Список пицц в SMS ................................................................................. 209 10.1.2. Оформление заказа ................................................................................ 211 10.2. Эй, Алекса! ............................................................................................ 217 10.2.1. Подготовка сценария ............................................................................. 221 10.2.2. Оформление заказа с помощью Алексы ............................................... 226 10.3. Опробование! ....................................................................................... 230 10.3.1. Упражнение ............................................................................................. 230 10.3.2. Решение ................................................................................................... 231 10.4. Конец второй части: специальное упражнение ................................. 232 В заключение ................................................................................................ 232 ЧАСТЬ III. Дальнейшие шаги .......................................................................233 Глава 11. Тестирование, тестирование и еще раз тестирование............234 11.1. Тестирование обычных и бессерверных приложений ...................... 234 11.2. Подходы к тестированию бессерверных приложений ...................... 236 11.3. Подготовка ............................................................................................ 238 11.4. Модульные тесты .................................................................................. 241 11.5. Использование имитаций для тестирования бессерверных функций ................................................................................................... 246 11.6. Интеграционные тесты ........................................................................ 253 11.7. Другие типы автоматизированных тестов ......................................... 258 11.8. В дополнение к тестам: приемы разработки бессерверных функций для упрощения их тестирования ........................................... 259 11.9. Опробование! ....................................................................................... 264
Стр.9
Оглавление  9 11.9.1. Упражнение ............................................................................................. 264 11.9.2. Решение ................................................................................................... 265 В заключение ................................................................................................ 266 Глава 12. Получение платы за пиццу ..........................................................268 12.1. Платежные транзакции ....................................................................... 268 12.1.1. Реализация онлайн-платежей ............................................................... 270 12.2. Реализация платежной службы ........................................................... 274 12.3. Можно ли взломать нашу платежную службу? .................................. 281 12.3.1. Стандарты ............................................................................................... 281 12.3.2. Компетентность ...................................................................................... 282 12.4. Опробование! ....................................................................................... 283 12.4.1. Упражнение ............................................................................................. 283 12.4.2. Решение ................................................................................................... 283 В заключение ................................................................................................ 285 Глава 13. Миграция существующих приложений Express.js в окружение AWS Lambda ............................................................................286 13.1. Приложение для таксомоторной компании дядюшки Роберто ........ 287 13.2. Запуск приложения Express.js в AWS Lambda ..................................... 287 13.2.1. Интеграция с оберткой .......................................................................... 291 13.2.2. Как работает serverless-express .............................................................. 291 13.3. Обслуживание статического контента ............................................... 292 13.4. Подключение к MongoDB ..................................................................... 295 13.4.1. Использование управляемой базы данных MongoDB с бессерверным приложением Express.js ................................................. 295 13.5. Ограничения бессерверных приложений Express.js .......................... 300 13.6. Опробование! ....................................................................................... 301 13.6.1 Exercise ..................................................................................................... 301 13.6.2. Решение ................................................................................................... 302 В заключение ................................................................................................ 303 Глава 14. Миграция в бессерверное окружение.......................................304 14.1. Анализ текущего бессерверного приложения .................................... 304 14.2. Миграция существующего приложения в бессерверное окружение .....305 14.3. Общий взгляд на платформу ............................................................... 309 14.3.1. Обслуживание статических файлов ...................................................... 310 14.3.2. Сохранение состояния ........................................................................... 310 14.3.3. Журналы .................................................................................................. 311 14.3.4. Непрерывная интеграция ...................................................................... 313 14.3.5. Управление окружениями: промышленное окружение и окружение для разработки .................................................................... 314
Стр.10
10  Оглавление 14.3.6. Совместное использование конфиденциальных данных ................... 315 14.3.7. Виртуальное частное облако .................................................................. 318 14.4. Оптимизация приложения .................................................................. 318 14.4.1. Связанные и узкоспециализированные функции ............................... 319 14.4.2. Выбор правильного объема памяти для функции Lambda .................. 319 14.5. Преодоление проблем .......................................................................... 320 14.5.1. Тайм-ауты ............................................................................................... 320 14.5.2. Холодный запуск .................................................................................... 321 14.5.3. Атаки DDoS .............................................................................................. 323 14.5.4. Привязка к производителю ................................................................... 323 14.6. Опробование! ....................................................................................... 325 В заключение ................................................................................................ 325 Глава 15. Примеры из практики ..................................................................327 15.1. CodePen ................................................................................................. 328 15.1.1. До перехода на бессерверные вычисления ........................................... 328 15.1.2. Миграция на бессерверные вычисления .............................................. 329 15.1.3. Затраты на инфраструктуру................................................................... 332 15.1.4. Тестирование и проблемы ..................................................................... 333 15.2. MindMup ................................................................................................ 333 15.2.1. До перехода на бессерверные вычисления ........................................... 334 15.2.2. Миграция на бессерверные вычисления .............................................. 337 15.2.3. Затраты на инфраструктуру................................................................... 338 15.2.4. Тестирование, журналирование и проблемы ....................................... 340 В заключение ................................................................................................ 341 Приложение A. Установка и настройка .......................................................343 A.1. Установка Claudia ................................................................................... 343 A.1.1. Настройка зависимостей Claudia ............................................................ 344 A.1.2. Создание профиля AWS и получение ключей ........................................ 345 A.1.3. Установка Claudia API Builder .................................................................. 348 A.1.4. Установка Claudia Bot Builder .................................................................. 348 A.2. Установка AWS CLI ................................................................................. 348 Приложение B. Настройка Facebook Messenger, Twilio и Alexa..............350 B.1. Настройка Facebook Messenger ............................................................. 350 B.1.1. Создание страницы Facebook .................................................................. 350 B.1.2. Создание приложения Facebook ............................................................. 352 B.1.3. Создание чат-бота Facebook Messenger с использованием Claudia Bot Builder ..................................................................................... 354 B.1.4. Подключение встроенного механизма NLP ........................................... 361 B.2. Настройка Twilio .................................................................................... 361 B.2.1. Создание учетной записи Twilio ............................................................. 362
Стр.11
Оглавление  11 B.2.2. Получение номера Twilio ......................................................................... 363 B.2.3. Настройка службы Twilio Programmable SMS ......................................... 364 B.3. Настройка Alexa ..................................................................................... 366 Приложение C. Настройка Stripe и MongoDB ............................................373 C.1. Настройка учетной записи Stripe и получение ключей Stripe API ..... 373 C.1.1. Создание учетной записи Stripe ............................................................. 373 C.1.2. Получение ключей Stripe API .................................................................. 373 C.2. Установка и настройка MongoDB .......................................................... 375 C.2.1. Создание учетной записи ........................................................................ 375 C.2.2. Настройка кластера .................................................................................. 377 Приложение D. Рецепт пиццы ......................................................................383 Предметный указатель .................................................................................385
Стр.12

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст