Node.js無伺服器應用實戰:使用AWS Lambda和 Claudia.js

Node.js無伺服器應用實戰:使用AWS Lambda和 Claudia.js
定價:588
NT $ 488
 

內容簡介

雲託管無伺服器Web應用的優勢是不可否認的:與傳統的依賴於伺服器的設計相比,複雜性更低,上市時間更短,可擴展性更強。緣於AWSLambda中的JavaScript支援和強大的無伺服器API工具(如Claudia.js庫),可以在不學習新語言的情況下從頭到尾地構建和部署無伺服器應用。《Node.js無伺服器應用實戰使用AWSLambda和Claudia.js》將教你使用JavaScript、Node.js禾口Claudia.js在AWS上設計和構建無伺服器Web應用。
 
你將掌握編寫AWSLambda函數的基礎知識,以及APIGateway等核心的無伺服器模式。在此過程中,你可通過使用AmazonAlexa構建聊天機器人和語音助手來練習新技能。你還將學習一些將現有應用遷移到無伺服器平臺的技術。

 

作者介紹

"Slobodan Stojanovi和Aleksandar Simovi是AWS Serverless Heroes和Claudia.js專案的核心貢獻者,是Claudia Bot Builder的主要開發人員和維護人員,以及Node.js的無伺服器應用的共同作者。Aleksandar已經擔任不錯軟體顧問和工程師超過七年,主攻但不限於JavaScript。他還涉足Swift、Python和Rust。他在貝爾格勒工作,是JS貝爾格勒會議的共同組織者。 Slobodan是Cloud Horizon的首席技術官,Cloud Horizon是一家位於蒙特利爾的軟體發展工作室。他在貝爾格勒工作,是JS貝爾格勒會議的共同組織者。 "

 

目錄

第Ⅰ部分 無伺服器比薩店
第1章 使用Claudia的無伺服器架構介紹 3
1.1 伺服器和洗衣機 4
1.2 核心概念 4
1.3 無伺服器的工作方式 6
1.4 無伺服器實踐 6
1.4.1 Maria姨無伺服器比薩店應用 7
1.4.2 一種常見的方法 7
1.4.3 無伺服器方法 9
1.5 無伺服器基礎設施——AWS 10
1.6 什麼是Claudia,應如何配置 14
1.7 何時以及在何處使用無伺服器 16
1.8 本章小結 17
第2章 構建你的個無伺服器API 18
2.1 製作比薩原料: 構建API 18
2.1.1 能買到哪種比薩 20
2.1.2 構建你的API 24
2.1.3 創建比薩訂單 28
2.2 Claudia如何部署 你的API 32
2.3 流量控制:API Gateway 的工作原理 34
2.4 當無伺服器API不是解決 方案時 35
2.5 試一試 35
2.5.1 練習 35
2.5.2 解決方案 36
2.6 本章小結 40
第3章 實現非同步工作很容易,我們有.promise()方法 41
3.1 存儲訂單 41
3.2 承諾在30分鐘內交付 46
3.3 試用你的API 49
3.4 從資料庫獲取訂單 54
3.5 試一試 56
3.5.1 練習 56
3.5.2 解決方案 57
3.6 本章小結 60
第4章 比薩遞送:外部連接 61
4.1 連接外部服務 61
4.2 連接到遞送API 62
4.2.1 Some Like It Hot
Delivery API 63
4.2.2 創建個交付請求 64
4.3 非同步通信的潛在問題 70
4.3.1 忘記返回Promise 71
4.3.2 不傳遞Promise的值 72
4.3.3 不將外部服務包裝在Promise中 72
4.3.4 長非同步作業的超時問題 73
4.4 試一試 75
4.4.1 練習 75
4.4.2 解決方案 75
4.5 本章小結 77
第5章 程式出錯 79
5.1 調試無伺服器應用 79
5.2 調試Lambda函數 81
5.3 剖析應用 84
5.4 試一試 87
5.4.1 練習 88
5.4.2 解決方案 88
5.5 本章小結 88
第6章 升級你的API 89
6.1 無伺服器認證和授權 89
6.2 創建使用者池和標識池 93
6.3 試一試 99
6.3.1 練習 99
6.3.2 解決方案 100
6.4 本章小結 102
第7章 處理文件 103
7.1 在無伺服器應用中存儲靜態檔 103
7.2 生成縮略圖 107
7.3 試一試 114
7.3.1 練習 115
7.3.2 解決方案 115
7.4 本書第Ⅰ部分結束:特殊練習 117
7.5 本章小結 117

第Ⅱ部分 來聊天吧
第8章 訂購比薩只需要一條資訊:聊天機器人 121
8.1 流覽器之外的比薩訂購 121
8.2 來自Facebook Messenger的問候 122
8.3 你們有什麼比薩 125
8.4 加快部署速度 128
8.5 Messenger範本 129
8.6 Claudia Bot Builder的工作方式 132
8.7 試一試 133
8.7.1 練習 134
8.7.2 解決方案 134
8.8 本章小結 134
第9章 非同步和延遲回應 135
9.1 使聊天機器人具有交互性 135
9.2 增強聊天機器人結構的可擴展性 141
9.3 將聊天機器人連接到DynamoDB資料庫 146
9.4 從聊天機器人獲取用戶位置 149
9.5 安排交付 153
9.6 集成簡單的NLP 158
9.7 試一試 159
9.7.1 練習 159
9.7.2 解決方案 159
9.7.3 不錯練習 161
9.8 本章小結 162
第10章 Jarvis,我的意思是Alexa,請幫我點一份比薩 163
10.1 現在不能說話:用Twilio發送SMS短信 164
10.1.1 SMS比薩列表 165
10.1.2 訂購比薩 167
10.2 使用Alexa 172
10.2.1 準備skill 176
10.2.2 使用Alexa點比薩 180
10.3 試一試 183
10.3.1 練習 183
10.3.2 解決方案 184
10.4 第Ⅱ部分結束:特殊練習 184
10.5 本章小結 185

第Ⅲ部分 下一步
第11章 測試 189
11.1 測試伺服器託管應用和無伺服器應用 189
11.2 如何測試無伺服器應用 191
11.3 前期準備 192
11.4 單元測試 195
11.5 類比無伺服器函數 199
11.6 集成測試 205
11.7 其他類型的自動化測試 209
11.8 更進一步:編寫可測試的無伺服器函數 210
11.9 試一試 214
11.9.1 練習 214
11.9.2 解決方案 215
11.10 本章小結 216
第12章 為比薩付款 217
12.1 付款交易 217
12.2 實現支付服務 222
12.3 有人能攻擊支付服務嗎 228
12.3.1 標準 229
12.3.2 許可權 230
12.4 試一試 230
12.4.1 練習 230
12.4.2 解決方案 230
12.5 本章小結 232
第13章 將現有的Express.js應用程式遷移到AWS Lambda 233
13.1 Roberto叔叔的計程車應用 234
13.2 在AWS Lambda中運行Express.js應用 234
13.2.1 代理集成 237
13.2.2 serverless-express模組的工作方式 238
13.3 提供靜態內容 239
13.4 連接到MongoDB 241
13.5 無伺服器Express.js應用的限制 245
13.6 試一試 246
13.6.1 練習 247
13.6.2 解決方案 247
13.7 本章小結 248
第14章 遷移到無伺服器 249
14.1 分析當前的無伺服器應用 249
14.2 將現有應用遷移到無伺服器 251
14.3 擁抱平臺 253
14.3.1 提供靜態檔 254
14.3.2 存儲狀態 254
14.3.3 日誌 255
14.3.4 持續集成 256
14.3.5 管理環境:生產和開發 257
14.3.6 分享機密 258
14.3.7 VPC(虛擬私有雲) 260
14.4 優化應用 261
14.4.1 捆綁或單用途功能 261
14.4.2 為Lambda函數選擇合適的記憶體大小 261
14.5 面對挑戰 262
14.5.1 處理超時 262
14.5.2 冷開機 263
14.5.3 DDoS攻擊 264
14.5.4 廠商綁定 265
14.6 試一試 266
14.7 本章小結 266
第15章 實際案例研究 267
15.1 CodePen 267
15.1.1 無伺服器之前 268
15.1.2 無伺服器遷移 269
15.1.3 基礎設施成本 271
15.1.4 測試與挑戰 272
15.2 MindMup 272
15.2.1 無伺服器之前 273
15.2.2 無伺服器遷移 275
15.2.3 基礎設施成本 277
15.2.4 測試、日誌和挑戰 277
15.3 本章小結 279
附錄A 安裝和配置 281
附錄B 配置Facebook Messenger、Twilio和Alexa 287
附錄C 設置Stripe和MongoDB 309
網路書店 類別 折扣 價格
  1. 新書
    83
    $488