人生苦短,開發用雲 | 如何優雅完成程序員的俠客夢?

頭圖.png

做者 | 馬超
來源|阿里巴巴雲原生公衆號git

Coding 的魅力如此之強,引無數程序員競折腰,在今年由 CSDN 舉辦的 1024 程序員節上,中國初代程序員大宗師求伯君說,當年看到有人在用 WPS,可開心了,由於有不少人用。而後,也會去找看是誰破解的,因而就這麼認識雷軍的,目前我雖然退休了,還在寫代碼,寫遊戲代碼,不是商業軟件....實際上是寫外掛,這個很差意思拿出來炫耀但確實可讓遊戲簡單點嘛。讓本身的代碼、本身的項目普遍流傳,能夠說是每一位程序員的最高目標。程序員

工欲善其事,必先得其器。一款駕輕就熟的編程工具,對於程序員來講無疑是效率神器,能夠令開發工做事半功倍,在筆者親身試用了雲原生開發工具以後,能夠說目前以雲開發平臺爲表明的最新開發平臺,其帶來的效率提高加成,使人歎爲觀止了。github

在十年前業界廣泛流傳着一句話,叫作「代碼正在吞沒世界」,後來又說「互聯網世界的一切源自開源」,而直到最近,人們才真正醒悟:原來雲原生纔是背後的那個大 BOSS,凡是不使用雲的都將落後,都沒法作到敏捷,跟不上時代。雲開發平臺做爲雲原生工具的典範,在將來必然會成爲主流的編程神器。算法

1.png

下面咱們先盤點一下開發平臺的發展歷程,和各位讀者一塊兒讀懂雲原生與 DEVOPS 結合從而造成的大趨勢。開發平臺就像是程序員手中的劍,只是程序員手中的劍已經由從前只能隨身攜帶,變成了如今來自雲端的天外飛仙。編程

從本地化開發到在線開發

在高級語言出現之後,程序員就只須要關心核心的業務邏輯與代碼實現了,而再也不須要關心具體的彙編語言手冊,也沒必要再與寄存器打交道了。尤爲是 IDE 使程序員在代碼以外的配置調試等工做愈來愈少。本地化開發平臺如最先的 vim+gcc 到後來的 Borland 的 Powerbuilder,以及後來的本地 IDE 集大成者 Visual stuio 和 Eclipese,在推出之時也都曾經風靡一時。小程序

可是這樣的開發工具實際上是軟件時代的產物,當年的軟件公司僅提供編譯後的二進制可執行程序,而不提供源代碼,源代碼也是商業意義更重,甚至在公司內部都不會公開,在這樣的背景下本地化開發工具的確能夠完成他的使命。vim

可是開源基礎會 GNU 的興起和 Linux 的火爆,開源的理念也隨着互聯網時代逐漸深刻人心, IT 界傳奇人物 Eric Raymond 在其史詩級著做《大教堂和集市》(The Cathedraland the Bazaar)中講到,世界上的建築能夠分兩種:一種是集市,每天開放在那裏,從無到有,從小到大;還有一種是大教堂,幾代人嘔心瀝血,幾十年才能建成,投入使用。當你新建一座建築時,你能夠採用集市的模式,也能夠採用大教堂的模式。通常來講,集市的特色是開放式建設、成本低、週期短、品質平庸;大教堂的特色是封閉式建設、成本高、週期長、品質優異。在開源模式的推進下,以 Github 的 Web Ide 以及 kaggle 爲表明的在線開發平臺崛起。這也使萬千上人開發者同時開發開源項目成爲可能。後端

不過在線開發平臺雖然與代碼倉庫結合更爲緊密,可是也沒法作到徹底的敏捷,不能直接實現所見即所得式的測試,也沒法高效快速的發佈版本,能夠說這也不是開發平臺的最終形態。微信小程序

雲開發平臺零距離

將雲服務與開發平臺結合,開發時便可隨時調用 Serverless 服務,纔是真正的所見即所得。下面筆者就帶你們共同來零距離感覺一下雲開發平臺的魅力。api

目前人臉信息已是信息安全***的重點領域了,好比 Partialconv 模型能夠經過 AI 對於圖像進行修復(Partialconv 的論文地址Partialconv 的 Github 傳送門),即便圖像丟失了大面積的像素,他也能經過 AI 將損失進行修復,Partialconv 也是所謂的一鍵」去「衣、一鍵」去「碼之類應用的鼻祖,其效果圖以下:

2.png

當 Partialconv 推出以後很多人都驚呼道之後頭像打碼也不保險了,甚至徹底沒有做何意義了。

基於自編碼技術的 AI 換臉項目 ALAE 成功登頂 Github,以後更是開啓了 AI 換臉的新時代,相比於以前的人臉圖像處理項目,ALAE 可謂是大 BOSS 的級別了,隨便貼幾張效果圖你們來感覺一下。

3.png

不但圖像分辨甩以前幾代的換臉模型幾條街,並且學習過程的可視化也更強。

4.gif

能夠說一旦面部信息丟失那麼後果將十分嚴重,而很多年輕人分享社交動態也就是爆照是一種剛需。那麼如何平衡就是一個問題了。

而這個問題的答案就是將自身的圖像卡通化,好比使用 UGATIT(論文地址Github 地址)模型,讓本身的頭像在各類卡通風格之間轉換。

5.png

不過使用這樣專業的 AI 模型安裝配置十分繁鎖複雜,一直都是專業人士才能作到的,普通人在以前很難用上這樣的 AI 服務,不過在雲開發平臺的加持下,這樣的應用變得十分簡單。

不過使用這樣專業的AI模型安裝配置十分繁鎖複雜,一直都是專業人士才能作到的,普通人在以前很難用上這樣的AI服務,不過在雲開發平臺的加時下這樣的應用變得十分簡單。

只須要注刪雲開發平臺服務,並開通相關服務,快速實現一個卡通頭像的轉換大概只須要幾分鐘的時間就能夠完成。

1. 請求參數

6.jpg

2. 返回數據

7.jpg

3. 示例

1)請求示例

http(s)://[Endpoint]/?Action=GenerateHumanAnimeStyle
&ImageURL=http://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/cartoon/test_data/g1.png
&<公共請求參數>

2)正常返回示例

  • XML 格式
<RequestId>59697D68-2A6E-4553-89BD-0FADD07881E8</RequestId>
<Data>
    <ImageURL>http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/person-image-cartoonizer/59697D68-2A6E-4553-89BD-0FADD07881E8_7ee5_20201027-070958.jpg?Expires=1603784400&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSR****&Signature=ut2kn46Lz%2FRwqJ9jWJ0RBDut12****</ImageURL>
</Data>
  • JSON 格式
{
    "RequestId": "59697D68-2A6E-4553-89BD-0FADD07881E8",
    "Data": {
        "ImageURL": "http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/person-image-cartoonizer/59697D68-2A6E-4553-89BD-0FADD07881E8_7ee5_20201027-070958.jpg?Expires=1603784400&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSR****&Signature=ut2kn46Lz%2FRwqJ9jWJ0RBDut12****"
    }
}

以上代碼在雲開發平臺上配置這樣的 HTTP 請求是很是簡單的,不但能夠快速調試:

8.png

甚至還有 10 萬次免費的生產環境調用額度:

9.png

固然若有讀者有微信小程序的需求,那麼其實現也很是的簡單快捷,只須要上傳人像圖,傳遞給後端,後端調用算法,返回結果

3. 小程序調用 API 示例

wx.chooseImage({
  success({ tempFiles }) {
    var files = tempFiles
    that.fileUpload(files[0].path);
    wx.request({
      url: '/api',
      method: 'GET|POST',
      data: {
        imageUrl: 'url'
      }
    })
  }
})

測試結果以下:

10.png
原圖

11.jpg
卡通結果圖

這樣的快速開發方式及功能實現,能夠稱得上很有過後拂袖去,深藏功與名的俠客之風了,雲原發平臺實際上是雲原平生臺,只要有想法就能夠迅速變成對應的功能快速上線,小白也能在雲開發平臺的加持下成爲一個武功高超的大俠,圓夢極客時代。IT 業與傳統行業最大的不一樣,就是其背後還隱藏着俠義江湖的影子,筆者相信阿里這次懷着巨大誠意的雲開發平臺,也必將能從技術社區中獲得中肯的意見與支持。雲開發平臺爲各路武林高手推出了快速伸展的途徑,而在這種不斷交流切磋的過程當中,必將提升各門派的武功水準。因此在此,筆者也由衷但願阿里從此可以推出更多優質的雲原生項目,推進行業良性發展。

相關文章
相關標籤/搜索