GoNotícias #21

Edição nº 21

Salve, galera da linguagem da marmota! Espero que a passagem para este novo ano tenha sido ótima, sem colocar em risco a saúde e vida de ninguém.

Começo esta edição com o agradecimento de sempre à você e todas as pessoas que assinam esta lista. São ao todo 607 pessoas! Muito obrigado!

E como foi feito na edição anterior, você pode acompanhar os resultados da pesquisa de opinião sobre a lista aqui. Muito obrigado a todas as pessoas que responderam, vocês ajudam a lista a ser cada vez melhor!

Nesta edição, bancos de dados, persistências em arquivos, invalidação de cache, conhecimentos sobre os comandos CLI da linguagem, posts sobre criar aplicações do zero, alocação de memória, meetups da comunidade, jogo de perguntas e respostas, sorteios, criação de senhas fortes, xadrez e pomodoro no terminal, dicas de context e Redis e muito mais.

Boa leitura!


Links

Diário de Bordo - #2
Neste texto, o Ismael Carvalho segue firme e forte na missão do 100 Days of Code registrando o que tem estudado. Aqui, tem um pouco da opinião dele sobre o Pixel, um pacote para criação de jogos feito em Go.

How to use the context.Done() method in Go to signal goroutine completion
Uma dica bem valiosa sobre o uso do pacote context para conclusão de goroutines.

Caching records by tag in Go
Este texto descreve uma implementação com Go e Redis para invalidação de cache através do uso de tags, na intenção de facilitar a invalidação de quantidades maiores de registros. Vale a leitura!

Go: comandos CLI, parte 1
Na intenção de reforçar o que venho estudando, decidi começar uma série de posts com o que aprendo. Neste aqui, temos um pouco sobre go bug, go build, go clean e go doc.

Introducing WTF Dial (again)
No artigo, o Ben Johnson retoma uma série de posts de como criar uma aplicação em Go do início ao fim. Uma abordagem interessante para quem está procurando exemplos para aprender!

Should I use go routine if I’m doing http call or db call?
Uma pergunta bem interessante! Muita gente vê goroutines e acha sensacional, porém é importante saber em quais cenários usar - e quais não. As respostas dessa discussão são interessantes e explicam como funcionam as chamadas envolvendo HTTP e banco de dados.

A few bytes here, a few there, pretty soon you’re talking real memory
Um daqueles artigos pra se pegar um momento especial para leitura. O Dave Cheney descreve aqui uma situação comum: alocação de memória. No caso, o texto explora alocação em uso de benchmark, que ocorre e não deve ser negligenciado, e uma sutil diferença nisso na versão 1.16.

GolangWeekly Searcher
Uma ferramenta para procurar links e materiais na Golang Weekly, uma das maiores listas de email sobre Go. Pensando aqui em como fazer uma para a GoNotícias, hehehe

Aprenda Go com Testes
Este link já foi compartilhado aqui, mas vale o lembrete: falta pouco para concluir o projeto! Fala com a Lauren e participe!

Que tal começar 2021 com uma licença Jetbrains?
Essa é para quem curte sorteio e não quer perder a oportunidade! O pessoal da GopherCon Brasil lançou o sorteio de algumas licenças, então não perde tempo e se inscreva!

Making SQLite faster in Go
O texto do Sandro Turriate descreve 4 princípios para tornar o uso de SQLite nos seus projetos de forma mais rápido, através de recursos tanto da linguagem como da ferramenta em si. Recomendo a leitura!

Vídeos

Go Panic! (Live at GopherCon)
Uma transmissão feita durante a GopherCon 2020, onde 4 participantes fizeram um jogo do tipo de perguntas e respostas sobre assuntos da linguagem da marmota.

Fazendo uma SDK simples para a Mundipagg em Golang
Novo video no canal do Programando na Facul! Na sequência de APIs de pagamentos, desta vez ele começa um novo projeto, um SDK para a API da Mundipagg.

Eventos

GoSheffield - February
O pessoal da GolangSheffield já tem agenda para um próximo encontro, e estão aceitando envio de palestras. Quer palestrar em inglês? Essa é a sua chance!

Projetos

m7shapan/querycsv
Uma ferramenta CLI que oferece uma forma de query language como SQL para ler o conteúdo de arquivos CSV.

tmountain/uchess
Um jogo de xadrez pelo terminal para jogar contra engines de UCI (Universal Chess Interface).

ssrathi/go-attr
Este pacote oferece uma forma de manipulação de campos de structs em execução.

quackduck/tii
Ferramenta CLI para usuários de Mac que sugere a instalação de programas que não foram encontrados no ambiente.

jhchabran/gistfs
Um pacote para leitura de arquivos em gist.github.com como se fosse um sistema de arquivos.

lucasepe/grasp
Ferramenta CLI para criação de senhas fortes.

matryer/is
Um mini-framework leve e simples para testes de aplicações.

kelson-martins/gomodoro
Uma versão de Pomodoro em CLI. Pode sincronizar entre máquinas usando Cassandra.

maja42/ember
Um pacote que permite embutir tipos diferentes de arquivos no seu binário, semelhante à go:embed mas depois da compilação.

geohot/minikeyvalue
Uma persistência simples do tipo chave e valor, feito em menos de 1k linhas.

barelyhuman/spotify-lite-go
Um simples cliente de Spotifai.

AndersonBargas/rainstorm
Um toolkit para uso do BoltDB, com melhorias de performance. Dica do Anderson Bargas!

thomaspoignant/go-feature-flag
Uma solução de feature flag para diversos serviços.


E por hoje é só! Até a semana que vem!