Clean Architecture, 2 anos depois

Em Fevereiro de 2018 escrevi aquele que viria a ser o mais relevante texto que já publiquei: Clean Architecture using Golang. Com mais de 105 mil views o assunto gerou apresentações em alguns eventos de Go e PHP, além de me proporcionar a oportunidade de conversar sobre o assunto com várias pessoas. Conforme fomos usando esta arquitetura para o desenvolvimento dos produtos da Codenation fomos ganhando experiência, resolvendo problemas e também gerando novos posts:...

June 29, 2020 · Elton Minetto

E-book PHP Mentors

O amigo Flávio Augusto da Silveira acaba de lançar um projeto muito legal, que tive a honra de participar. Ele convidou diversas personalidades da comunidade PHP para darem dicas de carreira, ferramentas e técnicas usadas no dia a dia. Fiquei muito honrado de ter sido convidado e ter meu nome perto de personalidades como Michelangelo van Dam, Rafael Dohms, Lorna Mitchell, Taylor Otwell, Pablo Dall’Oglio, Paul M Jones , entre outros....

April 20, 2020 · Elton Minetto

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