Testando APIs em Golang usando apitest

Uma das grandes vantagens da linguagem Go é sua biblioteca padrão, que contém muitas das funcionalidades que são úteis no desenvolvimento de aplicações modernas, como servidor e cliente HTTP, parser de JSON, e testes. É exatamente sobre esse último ponto que vou falar neste post. Com a biblioteca padrão é possível escrever testes para sua API, como no exemplo a seguir. Código da API No nosso arquivo main.go vamos criar uma API simples:...

April 10, 2020 · Elton Minetto

Fazendo profiling de aplicações Golang usando pprof

Nas últimas semanas a Codenation vem passando por um crescimento bem significativo. Confirmando a frase do grande Bruno Ghisi que fala que “na escala tudo quebra”, funcionalidades que sempre funcionavam perfeitamente começam a tornar-se problemáticas. Começamos a observar nas métricas do nosso Prometheus que um dos endpoints da nossa API estava consumindo muitos recursos. Conversando com a equipe chegamos a um motivo suspeito, mas antes de começar a refatorar o código achei melhor fazer uma análise mais “científica”....

April 8, 2020 · Elton Minetto

Usando Prometheus para coletar métricas de aplicações Golang

Este texto faz parte de uma série de posts que estou fazendo com exemplos de aplicações usando a Clean Architecture. Os outros posts que fazem parte desta série são: Clean Architecture using Golang Golang: usando build tags para armazenar configurações Integração contínua em projetos usando monorepo Migração de dados com Golang e MongoDB Usando Golang como linguagem de script Criando mocks para testes usando GoMock Neste post vou falar sobre uma funcionalidade muito importante nos projetos cada vez mais complexos com os quais trabalhamos no dia a dia: a coleta de métricas....

March 12, 2020 · Elton Minetto

Virei podcaster, de novo

2020 já começa com uma boa novidade. Depois de uma experiência bem legal com o podcast Biz and Code, finalmente consegui voltar a colocar em prática um velho objetivo: participar regularmente de um podcast. Desta vez contando com todo o suporte da equipe da Codenation, que ajuda com toda a parte de edição, divulgação e coordenação de pautas (obrigado especial ao Murilo e a Raquel), lançamos o Commit. Tem sido uma experiência incrível e esperamos poder contribuir com conteúdo útil para acelerar a carreira de devs, que é a missão da Codenation....

February 3, 2020 · Elton Minetto

Criando mocks para testes usando GoMock

O uso de mocks no desenvolvimento de testes é um conceito usado na grande maioria das linguagens de programação. Neste post vou falar sobre uma das soluções para implementar mocks em Go, o GoMock. Para demonstrar as funcionalidades do GoMock vou usar os testes criados no meu repositório sobre Clean Architecture. Como a Clean Architecture incentiva a criação de testes em todas as camadas é fácil perceber onde podemos usar mocks para facilitar o desenvolvimento....

December 19, 2019 · Elton Minetto

Processando arquivos parquet em Go

Neste post vou falar sobre um formato relativamente novo de arquivo de dados, e como usá-lo em Go. O formato chama-se Parquet, e atualmente é um projeto apoiado pela Apache Foundation. Trata-se de um formato binário de arquivos, com a finalidade de armazenar e facilitar o processamento de dados na forma de colunas. Ele suporta diferentes tipos de compressão e é bastante usado no ambiente de data science e big data, com ferramentas como o Hadoop....

December 9, 2019 · Elton Minetto

Twitter, uma ferramenta importante para devs

Recentemente tive a oportunidade de participar de um evento internacional, o WebSummit, em Lisboa. Assisti palestras de diversos assuntos, desde cloud, data science, robótica, empreendedorismo e liderança. Mas uma coisa a grande maioria das apresentações, especialmente as mais técnicas, tinha em comum: o palestrante estampava sua conta do Twitter nos slides. Eu fico surpreso como os devs brasileiros usam pouco esta relevante rede social. Alguns motivos pelos quais eu acredito que devs deveriam usar mais a rede do passarinho azul:...

November 23, 2019 · Elton Minetto

Golang, por onde começar?

De tempos em tempos algum amigo me manda uma mensagem parecida com essa: Fala meu querido! Tudo blz? Tava querendo iniciar no Go (influencia sua heheeh) Tu recomenda algum curso ou ir pela documentação mesmo? Resolvi transformar esta resposta em um post, no intuito de ajudar mais pessoas. Vamos lá. Sites A Tour of Go - Este é um bom lugar para começar pois é um passo a passo para iniciar na linguagem....

October 8, 2019 · Elton Minetto

Usando Golang como linguagem de script

Dentre as decisões técnicas que fizemos durante o desenvolvimento da Codenation, uma das mais acertadas foi a escolha de Go como linguagem principal. ...

August 8, 2019 · Elton Minetto

Object Calisthenics em Golang

O termo Object Calisthenics foi introduzido por Jeff Bay e publicado no livro Thought Works Anthology. Trata-se de um conjunto de boas práticas e regras de programação que podem ser aplicadas para melhorar a qualidade do código. ...

June 1, 2019 · Elton Minetto