成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五大理由從Python轉到Go語言

大數據
我認為 Go 是很簡單的編程語言,并且適應任何的應用環境,甚至比 Javascript 編程還要簡單,這可能是 GO 編程語言能在這幾年很快流行起來的原因吧。

[[201452]]

“ Python 是非常強大的,特別是 Python3 有了異步功能,但是 GO 將完全取代它在大企業中的存在…”如果你真正理解了引號中的話,你可能會去嘗試 Go 編程語言。我認為 Go 是很簡單的編程語言,并且適應任何的應用環境,甚至比 Javascript 編程還要簡單,這可能是 GO 編程語言能在這幾年很快流行起來的原因吧。

我們在使用 Go 語言編程之前有什么呢?

網站 TreeScale.com 主頁和 API 都是基于一些分析工具的網絡應用。下面是我們的技術棧:

  • React.js 主頁前端
  • Django Python 主頁后端和認證服務
  • Node.js API 服務
  • PostgreSQL 數據庫、Cassandra 日志系統
  • 自定義容器注冊表是使用 Rust 語言

從上面你可以看到基礎的框架是完全的基于微服務和邏輯分離的(前后端分離),甚至說是完全不同的技術來實現的。

為什么我們開始整合 API 服務和后端到單個項目中,主要的原因是他們有很多地方是相似的而且通過多種語言或者技術編程,代碼存在很多重復的。最終我們需要花費很多時間在個性化的 Django’s API 服務,特別是在定制 JSON 的響應。

一個月之后我們用 Django 建立的 API 服務,我感覺當你開發一些普通的應用使用 Django 是非常棒的,但是當你需要更高的性能和一些個性化的模塊的東西的使用 Django 是會越來越復雜的。

為什么選擇 Go 語言編程?

#1 編譯成單一的二進制

Golang 是編譯型語言并且 Googe 的開發者花了很大的功夫在上面。它使用靜態鏈接實際上是基于操作系統類型和環境組合所有的依賴庫文件和模塊到一個單一的二進制文件中,這也意味著如果你想要編譯你的后端應用到你的 Linux 操作系統和 X86 架構的 CPU 中,你只要下載編譯好的二進制應用到服務器,然后可以后端應用可以工作了,這是不需要任何的依賴文件的。

#2 靜態類型系統

對于大規模應用來說類型系統是非常重要的。Python 是很棒的并且有趣的語言但是有些時候你會看到一些不尋常的異常因為當你嘗試將變量作為一個整型變量的時候結果它是一個字符串類型.

  1. # Django will crash process because of this def some_view(request): 
  2.  
  3. user_id = request.POST.get('id', 0) 

Go 在編譯的時候告訴你這是一個編譯器錯誤,這就是在愚蠢的問題上贏得時間的地方。

#3 優化

令人驚訝的是,在大多數的應用場景中,Go 語言比 Python(版本2或3)更快。Benchmarking Game 中可以看到對比的結果,當然這是不公平的,這依賴于應用類型和用戶用例。

對于我們的案例,Go 語言由于自己的多線程模塊和 CPU 可伸縮性獲得了較好的性能。無論什么時候我們需要執行一些內部的請求,我們可以使用 Goroutine 來分別執行,這個比 Python 中的 Threads 在資源開銷上要少上十多倍。由于這些內置的語言特性,我們可以節省大量的資源(內存和 CPU )。

#4 Go 不再需要 Web 框架

對于編程語言這是一件十分酷的事情。Go 語言的創造者和社區內置了很多原生的被核心語言支持的工具,在大多數情況下你都不再需要任何第三方類庫。比如它有內置的 http、json、html 模板,你甚至可以不用費心去 Github 上尋找第三方類庫就可以構建十分復雜的 API 服務。

當然,Go 也有很多類庫和框架用來構建 web 項目,但是我會建議你不使用第三方類庫來構建你的 web 項目或者 API 服務,因為在大多數情況下使用原生包會使你的生活更加輕松。

#5 更好的 IDE 支持和調試

IDE 支持是當你嘗試更改編程語言時最重要的考慮因素之一。友好的 IDE 平均可以節省你80%的編程時間。 Go Plugin For JetBrains IDEA ,同樣提供了其他支持,比如 (Webstorm、PHPStorm 等等…)。這個插件提供了任何你在項目開發中需要的服務,強大的 JetBrains IDEA ,可以讓你的開發如虎添翼。

基于我們的代碼統計,在用 Go 語言重寫項目后我們少寫了64%的代碼。

你不需要調試不存在的代碼。代碼越少,錯誤越少!

結論

Go 為我們提供了超強的靈活性,一種語言可以適用于所有的用戶場景,而且在所有的用戶場景都可以工作的很好。在我們的 Backend 和 API 服務中,我們得到了30%的性能優化。而且現在我可以實時處理日志,轉換到數據庫中,并且通過 Websocket 處理一個或多個服務!這就是 Go 語言特性所提供的的非常強大的功能。

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2013-07-17 17:21:49

避免代碼注釋移動開發移動互聯網

2014-07-11 13:56:16

2013-09-25 09:58:33

必應

2013-07-16 10:49:11

代碼注釋

2010-07-28 16:09:53

蘋果

2016-09-29 14:39:01

openSUSELinux版本

2011-02-15 08:39:49

2018-02-10 09:48:04

存儲軟件理由

2013-09-17 10:14:22

騰訊搜狗

2011-05-18 10:40:19

Windows 7

2011-04-15 10:38:27

VDI

2012-04-18 09:42:36

數據分析Hadoop

2016-06-30 09:21:33

WindowsLinux系統

2016-08-10 10:27:30

2011-05-19 10:20:49

2009-08-27 13:02:43

2010-09-02 15:58:46

2010-07-16 10:14:07

2010-07-16 11:02:06

中國科技

2013-07-04 10:01:57

升級服務器企業關鍵應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品二区 | 亚洲精品乱 | 国产片一区二区三区 | 国产精品一区二区三区久久久 | www.久久久.com | 亚洲高清中文字幕 | 日韩影院在线观看 | 日韩欧美成人一区二区三区 | 天堂精品视频 | 成人免费观看视频 | 国产精品1区 | 国产精品久久久久一区二区三区 | 亚洲欧美一区二区在线观看 | 日韩中出 | 亚洲欧洲精品在线 | 免费毛片网 | 高清一区二区三区 | 久久精品无码一区二区三区 | 久久久精品一区 | 久草资源在线 | 日韩一区二区免费视频 | 羞羞网站在线观看 | 欧美精品一区二区三区一线天视频 | 国产片网站 | 日韩精品免费视频 | 精品视频一区二区 | 亚洲国产成人精 | 午夜影院中文字幕 | 国产精品 亚洲一区 | 国产一区2区 | 久久久久九九九女人毛片 | 一区二区三区在线免费 | 91免费视频| 中文字幕一区二区三区四区 | 2019天天操 | 午夜精品久久久久久久99黑人 | av电影一区二区 | 欧美日在线 | 91视频精选| 亚洲国产成人精品女人久久久 | 欧美中文字幕在线 |