Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Por que e como usamos Go na Codenation?

Por que e como usamos Go na Codenation?

Nesta palestra falo os motivos pelos quais escolhemos a linguagem Go e como estamos usando para desenvolver nosso produto

Elton Minetto

May 27, 2020
Tweet

More Decks by Elton Minetto

Other Decks in Programming

Transcript

  1. Por que e como
    usamos Go na
    Codenation?

    View full-size slide

  2. Contato
    [email protected]
    https://eltonminetto.dev
    https://codenation.dev
    http://twitter.com/eminetto

    View full-size slide

  3. O que?
    Por que?
    Como?

    View full-size slide

  4. Uma linguagem open source

    View full-size slide

  5. Por que uma nova linguagem?

    View full-size slide

  6. Muitos problemas com software em grande escala

    View full-size slide

  7. Velocidade de compilação

    View full-size slide

  8. Sistemas distribuídos Multicore

    View full-size slide

  9. Semântica simples

    View full-size slide

  10. Tipagem estática

    View full-size slide

  11. Programação concorrente

    View full-size slide

  12. Performance?

    View full-size slide

  13. Produtividade!

    View full-size slide

  14. Codenation CLI

    View full-size slide

  15. Utilitários para a equipe

    View full-size slide

  16. Lambda functions

    View full-size slide

  17. Mas isso tudo é
    graças apenas ao
    Go?

    View full-size slide

  18. • Equipe
    • Clean Architecture
    • Processo maduro

    View full-size slide

  19. Alguns links sobre nossas
    experiências com Go

    View full-size slide

  20. • Golang, por onde começar?
    • Clean Architecture using Golang
    • Golang: usando build tags para armazenar
    configurações
    • Integração contínua em projetos usando
    monorepo
    • Monitorando uma aplicação Golang com o
    Supervisor
    • Migração de dados com Golang e MongoDB

    View full-size slide

  21. • Object Calisthenics em Golang
    • Usando Golang como linguagem de script
    • Processando arquivos parquet em Go
    • Criando mocks para testes usando GoMock
    • Usando Prometheus para coletar métricas de
    aplicações Golang
    • Fazendo profiling de aplicações Golang
    usando pprof
    • Testando APIs em Golang usando apitest

    View full-size slide