Slide 1

Slide 1 text

Por que e como usamos Go na Codenation?

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

O que? Por que? Como?

Slide 4

Slide 4 text

O que?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Uma linguagem open source

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Por que uma nova linguagem?

Slide 9

Slide 9 text

Muitos problemas com software em grande escala

Slide 10

Slide 10 text

Velocidade de compilação

Slide 11

Slide 11 text

Sistemas distribuídos Multicore

Slide 12

Slide 12 text

Objetivos

Slide 13

Slide 13 text

Semântica simples

Slide 14

Slide 14 text

Tipagem estática

Slide 15

Slide 15 text

Programação concorrente

Slide 16

Slide 16 text

Por que?

Slide 17

Slide 17 text

Performance?

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Pedigree?

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Hype?

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Custos?

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Produtividade!

Slide 26

Slide 26 text

Como?

Slide 27

Slide 27 text

APIs

Slide 28

Slide 28 text

Codenation CLI

Slide 29

Slide 29 text

Utilitários para a equipe

Slide 30

Slide 30 text

Migrations

Slide 31

Slide 31 text

Lambda functions

Slide 32

Slide 32 text

Mas isso tudo é graças apenas ao Go?

Slide 33

Slide 33 text

• Equipe • Clean Architecture • Processo maduro

Slide 34

Slide 34 text

Alguns links sobre nossas experiências com Go

Slide 35

Slide 35 text

• 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

Slide 36

Slide 36 text

• 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

Slide 37

Slide 37 text

No content