Skip to content

Latest commit

 

History

History
347 lines (293 loc) · 17.9 KB

README_ptbr.md

File metadata and controls

347 lines (293 loc) · 17.9 KB

English

A intenção deste guia é dar uma ideia sobre o ecossistema Go e ajudar a orientar seu aprendizado se você estiver confuso. Ele é focado principalmente em apresentar as ferramentas e conceitos ultilizados no desenvolvimento web.

Go Roadmap

Roadmap Go

This browser does not support PDFs. Please download the PDF to view it: Download PDF.

Sumary

GO Básico e Intermediário

  1. Conceitos Básicos e Intermediários

    Variáveis, Tipos e Operadores
    - genéricos
    - constantes

    if/else, switch
    - switch
    - if/else

    Loops (for, range)
    - for
    - range

    Funções e Métodos
    - funções
    - funções variádicas
    - return
    - closures/funções anônimas
    - métodos
    - defer

    Estruturas de Dados (array, slice, map, struct)
    - array
    - slice
    - make
    - new
    - maps
    - structs

    Ponteiros
    - ponteiros

    Tipos
    - tipos
    - interface de tipo
    - interface{}

    Inicialização
    - iota
    - func init

    Erros e Panic/Recover
    - erro
    - panic
    - recover

Goroutines em Go

  1. Goroutine
    - canal
    - buffer de canal
    - select
    - sync.Mutex
    - sync.Map
    - sync.WaitGroup
    - sync.Pool

Runtime

  1. Runtime
    - runtime.GOMAXPROCS
    - runtime.NumCPU()
    - runtime.NumGoroutine()

Go

  1. Go Test
    - go test
    - go test -bench . -benchmem
    - go test -coverprofile
    - go test -fuzz=Fuzz
    - [go test -run ^NameFunc$]
    - [go test -v]

    Go Build & Go Run
    - [CGO_ENABLED=0 go build]
    - [go build -buildmode=plugin]
    - [go build -gcflags -S]
    - [go build -gcflags '-m -l']
    - [go build -ldflags="-s -w"]
    - [GOOS=linux GOARCH=amd64 go build]
    - [go build GOARCH=wasm GOOS=js go build]
    - [go help buildmode]
    - go run .
    - [go run -race .]

    Instalação
    - go install golang.org/x/website/tour@latest

Modules

  1. Pacote e Importação
    - importação
    - import "fmt"
    - import "meu-pacote/util"
    - pacote meu-pacote

    Recursos do Go Module
    - go.mod
    - go.sum
    - go mod init
    - [go mod tidy]
    - [go mod vendor]
    - [go mod download]
    - go env
    - GO111MODULE=on
    - GOARCH=amd64
    - GOPRIVATE
    - GOPROXY
    - GOSUMDB

Pattern

  1. Patterns
    - Build
    - Factory Method
    - Abstract Factory
    - Adapter
    - Bridge
    - Facade
    - Composite
    - Decorator
    - Prototype
    - Singleton
    - Template Method

Fasthttp

  1. Frameworks - Fiber
    - Gramework

    Middleware
    - Iu
    - fiber-middleware

    Routing
    - fasthttp-routing
    - atreugo

    Websocket
    - fast-http-socket
    - fastws

Net/Http

  1. Server
    - http.NewServeMux
    - http.Server
    - http.HandlerFunc
    - http.Handle
    - http.Handler
    - http.Status
    - next.ServeHTTP
    - ListenAndServe
    - ListenAndServeTLS
    - http.FileServer
    - http.Dir
    - http.StripPrefix
    - Embed
    - http.FS
    - html/template
    - template.ParseFiles
    - template.Parse
    - template.ParseFS
    - template.New
    - template.Must
    - template.Execute
    - template.ExecuteTemplate

    Cliente
    - http.Transport
    - http.Client
    - http.Get
    - http.Post
    - http.PostForm
    - ioutil.ReadAll(r io.Reader)
    - http.NewRequest
    - http.NewRequestContext
    - Context.WithCancel

    Frameworks Web
    - gin
    - echo
    - beego
    - iris
    - martini
    - gocraft
    - revel
    - buffalo
    - chi
    - macaron
    - webgo
    - quick

    Roteadores
    - alien
    - bellt
    - bone
    - bxog
    - goroute
    - httprouter
    - httptreemux
    - gorilla/mux
    - ozzo-routing
    - pure
    - siesta
    - vestigo
    - xmux
    - xujiajun/gorouter

    Middlewares
    - negroni
    - muxchain
    - go-wrap
    - interpose
    - rye

    Middeware Libs
    - CORS
    - rate limit
    - logging
    - metrics
    - auth
    - tracing
    - limiter
    - jwt
    - logger
    - cache
    - Instrumentation
    - Prometheus
    - Datadog
    - New Relic
    - loggly

Previous Knowledge

  1. Git
    - git
    - git init
    - git add .
    - git commit
    - git push
    - git merge
    - git rebase
    - git log
    - git diff
    - git show
    - git clone

    Docker
    - docker run
    - docker build
    - docker images
    - docker push
    - docker login
    - docker ps -a

    Relational
    - PostgreSQL
    - MySql
    - SqlServer
    - Oracle
    - MariaDB

    NoSql
    - MongoDB
    - Cassandra
    - RavenDB
    - RethinkDB
    - CouchDB
    - CockroachDB
    - Redis
    - Elasticsearch
    - ArangoDB

    Queue
    - RabbitMQ
    - KubeMQ
    - SQS Aws
    - Pub/Sub Google Cloud
    - Beanstalk
    - ActiveMQ

    Stream
    - Kafka
    - Redpanda
    - KubeMQ
    - Nats
    - Kinesis Aws

    Protocols
    - Applications
    - gRPC
    - rpc
    - xml-rpc
    - WebSocket
    - Serialization
    - Protobuf Buffer
    - gob
    - msgpack
    - bson
    - Avro
    - Thrift
    - json
    - xml
    - tcp
    - udp
    - http
    - http2
    - http3
    - MQTT