go2019

Go開發(fā)者路線圖2019,請收下這份指南

原創(chuàng): Rachel? AI科技大本營? 今天

整理 | Rachel

責(zé)編 | 阿司匹林

出品 | AI科技大本營(ID: rgznai100)

Go是Google開發(fā)的一種靜態(tài)、強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的類C編程語言。2009以開源項目的形式發(fā)布,2012年發(fā)布1.0穩(wěn)定版本,距今已經(jīng)十年了,其性能類似于Java和C++,但速度極快,適合搭載于web服務(wù)器,用于高性能分布式系統(tǒng)開發(fā)。

作為熱門的編程語言之一,Go語言吸引了很多關(guān)注。根據(jù)TIOBE編程排行榜,2016年,Go語言成為年度最受歡迎的編程語言;2019年,Go語言的熱度不減,仍穩(wěn)居排行榜前20名。在基于云的服務(wù)中,Go語言因其在編譯速度和執(zhí)行性能上的優(yōu)越性,具有其他編程語言無法比擬的優(yōu)勢。隨著云計算的迅速發(fā)展,更多基于Go語言的項目正在不斷涌現(xiàn)。

今天,營長就為大家推薦了一份來自Github的2019年Go開發(fā)者指南,幫助大家快速入門Go語言。

圖片發(fā)自簡書App

該指南提供了詳細(xì)的進(jìn)階路線圖,列出了學(xué)習(xí)Go開發(fā)所需的各類知識和技能,而且每個知識點也附上啦相應(yīng)的學(xué)習(xí)資源。相信無論是零基礎(chǔ)的新手,還是對Go語言有一定了解的開發(fā)者,都能夠有所收獲。

Go開發(fā)者路線圖

學(xué)習(xí)資源整理

1、先決條件

1)Go:https://golangbot.com/

2)Dep工具,Go模組:https://github.com/golang/dep

3)SQL:https://www.w3schools.com/sql/default.asp

2、基本開發(fā)技能

1)學(xué)習(xí)Git,在GitHub上建立一些倉庫,與他人分享你的代碼:https://www.w3schools.com/sql/default.asp

2)了解HTTP(S)協(xié)議,request方法(GET,POST,PUT,PATCH,DELETE,OPTIONS)

3)不要害怕使用Google——Google搜索的力量:http://www.powersearchingwithgoogle.com/

4)看一些和數(shù)據(jù)結(jié)構(gòu)及算法有關(guān)的書

5)學(xué)習(xí)關(guān)于認(rèn)證的基礎(chǔ)實現(xiàn)

6)學(xué)習(xí)面向?qū)ο笤瓌t

3、命令行工具

1)cobra:https://github.com/spf13/cobra

2)urfave/cil:https://github.com/urfave/cli

4、網(wǎng)絡(luò)框架/路由

1)Echo:https://github.com/labstack/echo

2)Beego:https://github.com/astaxie/beego

3)Gin:https://github.com/gin-gonic/gin

4)Revel:https://github.com/revel/revel

5)Chi:https://github.com/go-chi/chi

5、數(shù)據(jù)庫

1)關(guān)系型

SQLServer:https://www.microsoft.com/en-us/sql-server/sql-server-2017

PostgreSQL:https://www.postgresql.org/

MariaDB:https://mariadb.org/

MySQL:https://www.mysql.com/

2)云數(shù)據(jù)庫

CosmosDB:https://docs.microsoft.com/en-us/azure/cosmos-db

DynamoDB:https://aws.amazon.com/dynamodb/

3)搜索引擎

ElasticSearch:https://www.elastic.co/

Solr:http://lucene.apache.org/solr/

Sphinx:http://sphinxsearch.com/

4)NoSQL

MongoDB:https://www.mongodb.com/

Redis:https://redis.io/

ApacheCassandra:http://cassandra.apache.org/

LiteDB:https://github.com/mbdavid/LiteDB

RavenDB:https://github.com/ravendb/ravendb

CouchDB:http://couchdb.apache.org/

6、對象關(guān)系的映射框架

Gorm:https://github.com/jinzhu/gorm

Xorm:https://github.com/go-xorm/xorm

7、高速緩存

GCache:https://github.com/bluele/gcache

分布式緩存

Go-Redis:https://github.com/go-redis/redis

GoMemcached:https://github.com/bradfitz/gomemcache

8、日志

1)日志框架

Zap:https://github.com/uber-go/zap

ZeroLog:https://github.com/rs/zerolog

Logrus:https://github.com/sirupsen/logrus

2)日志管理系統(tǒng)

Sentry.io:http://sentry.io/

Loggly.com:https://loggly.com/

9、實時通訊

Socket.IO:https://socket.io/

10、客戶端

1)REST

Gentelman:https://github.com/h2non/gentleman

GRequests:https://github.com/kennethreitz/grequests

heimdall:https://github.com/heimdal/heimdal

2)GraphQL:https://graphql.org/

11、最好知道的庫

Validator:https://github.com/chriso/validator.js/

Glow:https://github.com/pytorch/glow

GJson:https://github.com/tidwall/gjson

Authboss:https://github.com/volatiletech/authboss

Go-Underscore:https://github.com/ahl5esoft/golang-underscore

12、測試

1)單元,行為,集成測試

GoMock:https://github.com/golang/mock

Testify:https://github.com/stretchr/testify

GinkGo:https://github.com/onsi/ginkgo

GoMega:https://github.com/onsi/gomega

GoCheck:https://github.com/go-check/check

GoDog:https://github.com/DATA-DOG/godog

GoConvey:https://github.com/smartystreets/goconvey

2)端對端測試

Selenium:https://github.com/tebeka/selenium

Endly:https://github.com/viant/endly

13、任務(wù)調(diào)度

Gron:https://github.com/roylee0704/gron

JobRunner:https://github.com/bamzi/jobrunner

14、微服務(wù)

1)消息代理

RabbitMQ:https://www.rabbitmq.com/tutorials/tutorial-one-javascript.htmlhttps://www.npmjs.com/package/kafka-node

ApacheKafka:https://www.npmjs.com/package/kafka-node

ActiveMQ:https://github.com/apache/activemq

AzureServiceBus:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview

2)消息總線

Message-Bus:https://github.com/vardius/message-bus

3)框架

GoKit:https://github.com/go-kit/kit

Micro:https://github.com/micro/go-micro

4)RPC

ProtocolBuffers:https://github.com/protocolbuffers/protobuf

gRPC-Go:https://github.com/grpc/grpc-go

gRPC-Gateway:https://github.com/grpc-ecosystem/grpc-gateway

5、Go模式:https://github.com/tmrts/go-patterns

以上就是本期營長為大家推薦的《2019年Go語言開發(fā)者指南》,最后為大家獻(xiàn)上傳送門,預(yù)祝大家五一學(xué)習(xí)愉快,peace~

GitHub項目地址:

https://github.com/Alikhll/golang-developer-roadmap/blob/master/i18n/ReadMe-zh-CN.md

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    小邁克閱讀 3,130評論 1 3
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007閱讀 2,347評論 0 3
  • 3歲左右的孩子便知道爸爸是男的,媽媽是女的,所以這個時候,不要給男孩子穿裙子。 4歲時,孩子會像觀察小動物一樣,觀...
    春草公子閱讀 3,485評論 0 2
  • 屬性 contents該屬性可通常指定一個CGImage,代表圖層要顯示的圖片。 contentGravity該屬...
    低吟淺唱1990閱讀 149評論 0 0
  • 為了表示我對簡書『飽醉豚』事件的不滿,簡書不再更新,后續(xù)有文章只更新 個人博客和 掘金 歡迎移步 個人博客或者 掘...
    eagleyz閱讀 7,405評論 0 4

友情鏈接更多精彩內(nèi)容