發表文章

目前顯示的是有「Back-end Development」標籤的文章

AWS Serverless RESTful API

圖片
AWS Serverless RESTful APIs 近幾年在雲架構上討論熱度較高的 2 大主題分別是 容器化 (Containerize)與 無伺服器 (Serverless)架構。本篇文章會帶你瞭解什麼是 AWS 無伺服器架構,以及如何使用 Serverless Framework 這個框架,快速開發 RESTful APIs。 大綱 什麼是 XaaS? AWS 無伺服器架構 Serverless Framework CRUDable Service 基礎設施即程式碼 什麼是 XaaS? 馬雲說過一句話:「過去的一百年,我們把人變成了機器,未來的一百年,我們將會把機器變成人。」 人算不如天算,天算就是雲計算。 如果要用一句話來定義 XaaS(X as a Service)的話,那就是「 萬物皆服務 」。 舉凡 IaaS(基礎設施及服務)、PaaS(平台即服務)或 SaaS(軟體即服務)等⋯⋯,用一張圖來概括各個 XaaS 的關係: 坐在服務窗口後面的人最後都會變成 API。(via @legendtang ) — ruanyf (@ruanyf) 2016年8月26日 身為程式設計師,我們就是那個負責寫服務來取代人類的存在 。 所以能夠以最快速度開發出可驗證的服務原型,就成了開發者彼此之間的競爭條件之一,也是本篇文章的目的。 AWS 無伺服器架構 AWS 是目前雲技術的領頭羊,如果想要用 AWS 來開發 Serverless 的 RESTful APIs,主要會由 3 個核心服務所構成: AWS Lambda(Functions as a Service) Amazon API Gateway(REST API Endpoint as a Service) Amazon DynamoDB(NoSQL DB as a Service) 利用 3 個 XaaS 組成一個 BaaS(後端即服務) 這裡不會贅述如何操作這些 AWS 服務,如果你已經熟悉這些服務,可以直接前往下一章的 Serverless Framework;如果還不知道它們是怎麼運作的,強烈建議先跑過一遍官方的幾篇教學與實作,理解這 3 個傢伙為什麼這麼酷,也才能理解為什麼接下...

Mock Server&契約測試

圖片
Mock Server&契約測試 這篇文章會介紹如何運用 Mock Server 和 Integration Contract Test(契約測試)解決一些在前後端分離的開發環境底下會碰到的問題。 大綱如下: 什麼是 Mock Server? 為什麼需要 Mock Server? 如何使用 Mock Server? 什麼是契約測試? 為什麼需要契約測試? 什麼是 Mock Server? 下圖是傳統的前後端分離架構: 當後端 API 還沒開發完成的時候,前端會需要一個可以暫時回應假資料(mock data)的 mock server,如下圖: 等到後端的 API 開發完成之後,前端只需要將 API endpoint 從 mock server 切回 remote server 就可以使用真實資料,如下圖: 為什麼需要 Mock Server? 一句話,因為有了 Mock Server 之後,前後端就能夠並行開發。 如何使用 Mock Server? 這裡會介紹兩種方法: Postman Mock Service Puer Mock Server Postman Mock Service Postman 是前後端在開發上很常用到的一款 HTTP Client 應用程式,主要是拿來測試 API,除了有好用的 Collection Test Runner 之外(詳見《 基於 Postman 的 API 自動化測試 》),其實 Postman 還有提供 Mock Service 的功能,大致流程如下: 送出一個 request(R1) 儲存 R1 至 Collection(C1) 編輯 R1 的 response,儲存成為一個 example(P1) 建立一個 C1 的 Mock Server(M1) 再次向 M1 送出 R1,即會收到格式為 P1 的 response 詳細操作方法請見官方教學文章《 Mocking with examples 》。 但是使用 Postman Mock Service 會碰到一個問題,雖然 Postman 可以同時 mock 多筆 API,但是一個頁面可能會同時存在「需要 mock 的 API」和「後端已經寫好...