Skip to content

a186r/studygolang

Repository files navigation

该怎样才能成为一个go的开发者

保持学习

Go

  • Go命令行操作
  • 变量、常量、类型、函数、包等等
  • 数组 & 切片
  • 指针、结构、方法
  • 接口
  • 协程(Goroutine)、信道、缓冲区、选择(Select)、互斥锁(Mutex)
  • 延迟(Defer)机制、错误、严重(Panic)异常、恢复(Recover)

Dep工具,Go模组

  • 学习Go依赖管理工具
  • 语义版本控制(Semantic Versioning)
  • 版本、脚本、存储库及其他特性

SQL基础原理

  • 基础Sql语法

基本开发技能

  • Git
  • HTTP/HTTPS
  • 数据结构和算法
  • Scrum、看板或者其他项目策略
  • 基本Authentication、OAuth、JWT等
  • SOLID、YAGNI、KISS

命令行界面

  • cobra
  • urfave/cli

数据库

  • 关系数据库
    • SQL Server
    • MySql
    • MariaDB
    • PostgreSQL
  • 云数据库
    • Azure CosmosDB
    • Amazon DynamoDB
  • NoSQL
    • MongoDB
    • Redis
    • LiteDB
    • Apache Cassandra
    • RavenDB
    • CouchDB
  • 搜索引擎
    • ElasticSearch
    • Solr
    • Sphinx

网页框架+路由

  • Echo
  • Beeo
  • Gin
  • Revel
  • Chi

对象关系映射(ORMs)

  • Gorm
  • Xorm

高速缓存(Caching)

  • 分布式缓存(Distributed Cache)
    • Go-Redis
    • GoMemcache
  • GCache

日志框架(Log Framework)

  • Zap
  • ZeroLog
  • Logrus
  • 日志管理系统(Log Management System)
    • Sentry.io
    • loggly.com

实时通讯

  • Melody
  • Centrifugo

API客户端

  • GraphQL
  • REST
    • Gentelman
    • GRequests
    • Heimdall

测试

  • 单元测试(Unit Testing)
    • 模拟(Mocking)
      • GoMock
    • 框架/断言
      • Testify
      • Ginkgo
      • GoMega
      • GoCheck
  • 行为测试(Behavior Testing)
    • GoDog
    • GoConvey
    • GinkGo
  • 集成测试(Integration Testing)
    • Testify
    • GinkGo
  • 端对端测试(E2E Testing)
    • Endly
    • Selenuim

微服务

  • 消息代理
    • RabbitMQ
    • Apache Kafka
    • ActiveMQ
    • Azure Service Bus
  • RPC
    • Protocol Buffers
    • gRPC-Go
    • gRPC-gateway
  • 框架
    • Go-Kit
    • Micro
  • 消息总线(Message-Bus)
    • Message-Bus

Go模式

  • Creational
  • Structrul
  • Behavioral
  • synchronization
  • Concurrency
  • Messaging
  • Stability

About

GoLang学习笔记~

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages