A Semana Go - Edição Nº 80
Nesta edição os resultados da pesquisa sobre a comunidade Go, uma introdução a arquitetura orientada a eventos e posts sobre testes de integração e de goroutines. E mais uma chance de comprar o ingresso para a Gophercon Brasil 2024!
Links
Go Developer Survey 2024 H1 Results
Em Janeiro e Fevereiro o time que mantém a linguagem executou a pesquisa recorrente que eles fazem para entender os desejos da comunidade de desenvolvimento e estes são os resultados.
Event-Driven Architecture in Go
Neste post o autor mostra um exemplo de como usar a arquitetura orientada a eventos em Go, com muito, muito código. Ótima forma de começar a se aprofundar nesta forma de projetar aplicações.
Secure Deployments, Confident Teams: The Power of Integration Testing
Um guia prático mostrando como criar testes de integração para aumentar a confiança do time no código sendo escrito. Sou grande fã do uso de testcontainers para este fim, como mostrado no texto.
Go performance from version 1.0 to 1.22
O autor do texto vem fazendo testes de benchmark com as versões de Go conforme elas são lançadas e com isso podemos ver a evolução dos esforços da comunidade em tornar a linguagem cada vez mais performática.
OpenTelemetry Trace Context Propagation with Message Brokers and Go
Fazer o trace de aplições distribuídas é um desafio que pode ser bem complexo e neste post o autor mostra uma forma de fazer a propagação do contexto das aplicações usando um message broker.
How to Test Goroutines in Go
Sem dúvida as goroutines são um dos maiores atrativos da linguagem. Mas ao mesmo tempo que são poderosas elas trazem alguns desafios, como mostrado neste post onde o autor apresenta formas de escrever testes levando em consideração esta feature.
Gophercon Brasil 2024
Atendendo a pedidos, a organização da Gophercon Brasil aumentou o prazo para inscrições! O evento acontece mês que vem, nos dias 09 e 10 de maio. São mais de 21 palestras de alto nível, selecionadas pelo comitê de curadoria de devs. Garanta seu ingresso agora mesmo!
Desculpe a franqueza mas essa semana senti que deveria opininar sobre a (falta de) qualidade de alguns artigos;
Primeiro sobre o artigo de event driven, a solução proposta é extremamente "Javesca", o autor até propõe fazer getter e setter em Go (???) além de organizar o código explicitamente numa arquitetura hexagonal o que não faz sentido (recomendação de leitura: https://robertoplazaromero.medium.com/why-you-shouldnt-use-hexagonal-architecture-with-go-a58bc9fcd2a3).
Minha segunda observação é sobre o artigo de testes de integração, o setup e teardown em uma struct OK, faltou só o essencial, como organizar/colocar os testes em diferentes pacotes ou ter pelo menos um exemplo de teste.
Na minha experiência do mundo real o que facilitou essa abordagem foi usar o Gink (https://github.com/onsi/ginkgo) e os containeres Ordered e Serial dele...