2021go开发者成长路线图

大家好,我是彼得。

之前老有群友问我是否有 Go 开发者成长路线图和对应的学习资源,所以趁着上周末我就总结了一下。

希望让朋友你不走弯路,学习效率提升50%以上。

学习资源导航网站为:https://www.bcnav.cn/

021go开发者成长路线图"

我自己开发的网站。

01

大纲

先看一下大纲缩略,整体了解一下学习Go语言的一个整体骨架,总共分为16个模块,分为必修和选修。

(只有必修内容才会有对应的学习资源。)

021go开发者成长路线图"

关于学习规划:

彼得给你肝的这份资料,要想通关,了解通关技巧必不可少,彼得建议:

一天至少拿出4个小时来学习,学2个小时的知识点,剩下2个小时练习代码。

那下面进入完整的学习路线细节规划。

02

先决条件

1. Go

  1. Go命令行操作

  2. 变量,常量,类型,函数,包等

  3. 数组 & 切片

  4. 指针,结构体,方法

  5. 接口

  6. 协程,管道,缓冲区,选择,互斥锁

  7. Defer,Error,Panci,Recover

2. Go模块

  1. Go依赖管理工具

  2. 语义版本号

  3. 版本,脚本,存储仓库及其他特性

3. SQL基础

  1. 基础SQL基础

学习资源指引:

  1. https://golangbot.com/

  2. https://www.w3schools.com/sql/default.asp

03

通用开发技能

  1. Git版本控制

  2. 了解HTTP/HHTPS协议

  3. 数据解构和算法

  4. Scrum,Kanban或者其他项目策略

  5. 基于Authentication,OAuth,JWT等

  6. SOLID,YAGNI,KISS

04

命令行工具

  1. cobra

  2. urfave/cli

学习资源指引:

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

05

前端基础知识

  1. html+css入门

  2. JavaScript进阶

  3. Vue基础知识

学习资源指引:

  1. https://www.runoob.com/

06

网页框架+路由

  1. Echo

  2. Beego

  3. Gin

  4. Revel

  5. Chi

学习资源指引:

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

07

网页框架+路由

  1. 关系型

    1. SQL Server

    2. PostgreSQL

    3. MariaDB

    4. MySQL

    5. CockroachDB

  2. 云数据库

    1. CosmosDB

    2. DynamoDB

  3. 搜索引擎

    1. ElasticSearch

    2. Solr

    3. Sphinx

  4. NoSQL

    1. MongoDB

    2. Redis

    3. Apache Cassandra

    4. RavenDB

    5. CouchDB

学习资源指引:

  1. https://www.postgresql.org/

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

  3. https://www.elastic.co/cn/

  4. https://www.mongodb.com/

  5. https://redis.io/

08

对象关系映射框架

  1. Gorm

  2. Xorm

学习资源指引:

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

09

高速缓存

  1. GCache

  2. 分布式缓存

    1. Go-Redis

    2. GoMemcached

学习资源指引:

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

  2. https://github.com/go-redis/redis

10

日志

  1. 日志框架

    1. Zap

    2. ZeroLog

    3. Logrus

  2. 日志管理系统

    1. Sentry.io

    2. Loggly.com

  3. 分布式追踪

    1. Jaeger

学习资源指引:

  1. https://www.jaegertracing.io/

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

11

实时通信

  1. Socket.IO

学习资源指引:

  1. https://socket.io/

12

API客户端

  1. REST

    1. Gentleman

    2. GRequests

    3. heimdall

  2. GraphQL

    1. gqlgen

    2. graphql-go

学习资源指引:

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

  2. https://github.com/spyoungtech/grequests

  3. https://github.com/heimdal/heimdal

13

建议了解的库

  1. Validator

  2. Glow

  3. GJson

  4. Authboss

  5. Go-Underscore

14

测试

  1. 单元、行为和集成测试

    1. GoMock

    2. Testify

    3. GinkGo

    4. GoMega

    5. GoCheck

    6. GoDog

    7. GoConvey

  2. 端对端测试

    1. Selenium

    2. Endly

学习资源指引:

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

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

  3. https://github.com/cucumber/godog

15

任务调度

  1. Gron

  2. JobRunner

学习资源指引:

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

16

微服务

  1. 消息代理

    1. RabbitMQ

    2. Apache Kafka

    3. ActiveMQ

    4. Azure Service Bus

  2. 构建事件驱动型服务

    1. Watermill

    2. Message-Bus

  3. 框架

    1. GoKit

    2. go-zero

    3. Micro

    4. rpcx

  4. RPC

    1. Protocol Buffers

    2. gRPC-Go

    3. gRPC-Gateway

    4. Twirp

学习资源指引:

  1. https://www.rabbitmq.com/tutorials/tutorial-one-go.html

  2. https://github.com/ThreeDotsLabs/watermill

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

  4. https://github.com/zeromicro/go-zero

  5. https://github.com/smallnest/rpcx

  6. https://github.com/asim/go-micro

16

Go-设计模式

设计模式https://github.com/tmrts/go-patterns

最后,祝君成功

举报/反馈

原创文章 2021go开发者成长路线图,版权所有
如若转载,请注明出处:https://www.itxiaozhan.cn/202210001.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注