偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

開始使用Dark構(gòu)建Serverless后端

譯文 精選
開發(fā) 后端
Dark在2019年亮相之初就被稱為“一種用于構(gòu)建后端服務(wù)的整體編程語(yǔ)言,結(jié)構(gòu)化編輯器和基礎(chǔ)架構(gòu)”。雖然聽起來(lái)有點(diǎn)神秘,很明顯是為了談?wù)揜EST而設(shè)置的,換言之“Dark是一種構(gòu)建Serverless后端服務(wù)的新方法”。

譯者 | 胥磊

審校 | 孫淑娟

Serverless早期承諾之一就是更快的解決問(wèn)題,因?yàn)槟辉傩枰却罱ɑA(chǔ)設(shè)施就可以開始開發(fā)工作了。我是一年前在??changelog???上的一個(gè)播客中聽說(shuō)Dark的,并立即對(duì)它產(chǎn)生了興趣。Dark在2019年??亮相??之初就被稱為“一種用于構(gòu)建后端服務(wù)的整體編程語(yǔ)言,結(jié)構(gòu)化編輯器和基礎(chǔ)架構(gòu)”。雖然聽起來(lái)有點(diǎn)神秘,很明顯是為了談?wù)揜EST而設(shè)置的,換言之“Dark是一種構(gòu)建Serverless后端服務(wù)的新方法”。

Dark和薩爾薩舞課有點(diǎn)相似,你會(huì)覺得老師們都很棒而且非常有節(jié)奏感。處理HTTP和JSON和跳舞也沒什么區(qū)別,一樣有節(jié)奏和步驟。您發(fā)送一個(gè)請(qǐng)求,然后收到JSON格式的響應(yīng),這里面有些約定您已經(jīng)知道,有些您可以學(xué)習(xí)。對(duì)于本文我認(rèn)為您至少對(duì)音樂是熟悉的。

Dark操作界面的作用就是將一些單調(diào)乏味的交互自動(dòng)化,更重要的是您不必為此編寫任何代碼!某種程度上其為我們展現(xiàn)了一個(gè)不再需要編碼的未來(lái)發(fā)展趨勢(shì),而語(yǔ)音識(shí)別和完善的用戶界面使這種發(fā)展趨于大眾化。雖然這個(gè)未來(lái)還有些遙遠(yuǎn),但是能發(fā)現(xiàn)這種模式也是明智的。

現(xiàn)在讓我們直接進(jìn)入Dark的工作界面。您只需要在瀏覽器中基于您的用戶名簡(jiǎn)單聲明一個(gè)URL就可以立即創(chuàng)建一個(gè)畫布,隨后您就可以在上面開始工作了。下面我創(chuàng)建了一個(gè)“eastmad-thenewstack”的畫布,并在其上為“/greeting”端點(diǎn)寫了一個(gè) GET 響應(yīng)。

立即從“builtwithdark”域獲取到了響應(yīng)。

這是非常棒的并且響應(yīng)也很快。但我們要做的恰恰相反,用一個(gè)新的請(qǐng)求到一個(gè)沒有實(shí)現(xiàn)后端服務(wù)的終端:

回到我的畫布,Dark已經(jīng)將響應(yīng)跟蹤存儲(chǔ)為404列表了,這樣我們就可以快速使用它:

通過(guò)點(diǎn)擊GET旁邊那個(gè)+號(hào),我們將能夠用上面響應(yīng)”/greeting”的相同方式來(lái)響應(yīng)”/leaveing”的GET請(qǐng)求。這就是所謂的TDD( ??Trace Driven Development??,跟蹤驅(qū)動(dòng)開發(fā))。幾乎通過(guò)逆向工程跟蹤的工作都會(huì)讓您覺得有點(diǎn)像偵探 — 但我認(rèn)為這更像黑客,只不過(guò)我們監(jiān)視的是各種請(qǐng)求。

重新回到Dark,其現(xiàn)在已經(jīng)支持OAuth2,即資源所有者、客戶端應(yīng)用程序和以令牌語(yǔ)言表示的資源服務(wù)器之間的三向授權(quán)信任。Dark還提供了一個(gè)創(chuàng)建Slack APP后端服務(wù)的示例,一個(gè)可見的Slackbot。雖然示例復(fù)雜但讓我們有機(jī)會(huì)使用一些有用的技術(shù)組件,如OAuth。

即使您擁有Slack工作區(qū)的管理員權(quán)限,平臺(tái)的安全仍然得到謹(jǐn)慎的管理。通過(guò)快速瀏覽api.slack.com/app將向您展示一個(gè)“創(chuàng)建應(yīng)用”設(shè)置,通過(guò)查看基本屬性,您可以得到很多信息:

(注意:句號(hào)位于代表Client ID的數(shù)字中間位置,這表明其必須作為字符串進(jìn)行處理)

現(xiàn)在我們必須更多地了解Dark的復(fù)雜性。我們需要在 Slack 中創(chuàng)建一個(gè)重定向 URL,它將啟動(dòng)我們的跟蹤過(guò)程(查看“OAuth 和Permissions”)。

Dark 希望用戶使用“/oauth-redirect”作為到畫布的路徑,通過(guò)Slack去管理分發(fā)和復(fù)制可共享的URL。最后我們還需要有一些請(qǐng)求用來(lái)調(diào)用后端服務(wù),我們將通過(guò)點(diǎn)擊Dark的畫布來(lái)調(diào)用請(qǐng)求并開始追蹤。

實(shí)際上,它已經(jīng)在我們畫布的404列表中等待了,我們現(xiàn)在可以創(chuàng)建其對(duì) GET 的響應(yīng):

目前為止一切正常,我們已經(jīng)觸發(fā)了重定向并且可以看到Dark獲取的完整請(qǐng)求。那我們返回什么呢?從Slack上面,我們得到了“Client Id”和“Client Secret”,所以我們可以在Dark中創(chuàng)建一個(gè)POST并返回。

現(xiàn)在,我們需要?jiǎng)?chuàng)建一個(gè)POST報(bào)文主體,這里就是您需要考慮JSON格式化的地方—盡管Dark有些忽略這點(diǎn)。當(dāng)我們選擇發(fā)送響應(yīng)時(shí),Dark會(huì)像其他優(yōu)秀的IDE一樣把相關(guān)參數(shù)展示給我們。Slack API的URL,報(bào)文主體和兩組本身就是字典類型的鍵值對(duì)。

在示例中展示了報(bào)文主體的真實(shí)格式,其中client_id和client_secret 可以作為您能直接使用的字符串。

我們可以直接與Slack的OAuth API通信,需要注意的是“code”的值取自Dark收到的請(qǐng)求(在上圖的底部)并且支持JSON解析,所以您可以輸入“request.queryParams.code”。當(dāng)發(fā)送POST請(qǐng)求時(shí),我們希望得到的是正確的訪問(wèn)令牌。

本文到此將終止后續(xù)的跟蹤工作,如果您想繼續(xù)該示例,請(qǐng)按照上面的鏈接進(jìn)行后端演練,用以創(chuàng)建一個(gè)簡(jiǎn)單的Slackbot。上述工作無(wú)法確保每次都成功,但是一定會(huì)有反饋信息。所以即使失敗了也相當(dāng)有啟發(fā)性的。

結(jié)論

我們從中學(xué)到了什么呢?

  • 智能的用戶界面可以很好地適用于熟悉的模式,那些IDE和靜態(tài)語(yǔ)言的用戶多年來(lái)一直在使用的模式。
  • REST 仍然是實(shí)現(xiàn)和理解 API 的最好方式。更復(fù)雜的場(chǎng)景應(yīng)該鼓勵(lì)更多使用像Dark之類的工具協(xié)助探索服務(wù)產(chǎn)品。
  • 在各種獨(dú)立的信任機(jī)構(gòu)或他們的模擬中工作是理解它的好方法,雖然它仍然很復(fù)雜。這就像拿著幾串叮當(dāng)響的鑰匙和門禁卡,但是仍然需要知道它們的使用順序。
  • 不要停止實(shí)踐。

譯者介紹

胥磊,51CTO社區(qū)編輯,某頭部電商技術(shù)副總監(jiān),關(guān)注Java后端開發(fā),技術(shù)管理,架構(gòu)優(yōu)化,分布式開發(fā)等領(lǐng)域。

原文標(biāo)題:??How to Get Started Building Serverless Backends with Dark??,作者:David Eastman

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2013-09-22 10:15:01

Spring DataJPA

2019-09-30 10:51:11

Markdown標(biāo)記語(yǔ)言

2017-08-25 14:29:43

機(jī)器學(xué)習(xí)Java

2021-02-14 10:05:54

PowerCLI虛擬化語(yǔ)言

2022-11-17 07:57:34

2020-03-25 09:53:33

人工智能AI技術(shù)

2019-12-23 13:20:34

LinuxLumina

2011-06-24 17:22:29

Qt Quick QML

2024-05-24 10:01:12

2012-03-17 21:45:02

JavaScript

2017-06-27 14:58:21

備份數(shù)據(jù)庫(kù)Oracle

2018-05-09 20:08:09

人工智能深度學(xué)習(xí)Python

2023-06-21 08:00:00

微服務(wù)架構(gòu)

2010-05-25 10:17:37

云計(jì)算

2022-01-24 07:35:39

XLL網(wǎng)絡(luò)攻擊惡意軟件

2015-02-03 14:56:55

2021-04-21 20:42:42

Nadam梯度優(yōu)化

2022-07-24 00:09:11

安全SSE TechT技巧

2011-04-12 10:00:41

SPDYSPDY協(xié)議

2010-11-19 13:36:47

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)