Artigos e tutoriais sobre Golang
Golang é minha linguagem favorita já tem um bom tempo, fiz vários projetos interessantes nela.
Esses são alguns deles.
-
Subindo uma API via proxy reverso com Caddyserver e Go
Como subir uma API escrita em Go utilizando proxy reverso com o servidor HTTP Caddy.
-
Benchmark Retornos Nomeados vs Explicitos em Go
Comparação de desempenho entre retornos nomeados e retornos explícitos em Go. Descubra como medir a velocidade com benchmarks e interpretar os resultados.
-
Programação assistida por IA
Considerações e dicas sobre uso de IA auxiliando no desenvolvimento de software.
-
Escrevendo software para durar
Algumas dicas que considero importantes para escrever software resiliente, que dure por anos e seja fácil de manter.
-
Go e erros de arredondamento
Erros quando se converte de ponto flutuante para inteiro são comuns e não é um problema apenas do Go. Este é um exemplo clássico desse problema.
-
Go e a promessa de retrocompatibilidade
A maioria das linguagens cresce adicionando novos recursos, novas funcionalidades. Go foca em otimizar a base existente com um grande foco na retrocompatibilidade.
-
Cliente e servidor socket em Golang, um exemplo de chat.
Um exemplo de chat (socket TCP/IP) escrito em Go com goroutines e canais, dessa vez com um pouco de otimização para velocidade.
-
Cliente e servidor socket em Golang com tratamento de sinais.
Adiciona tratamento de sinais no exemplo de cliente/servidor socket TCP.
-
Cliente e servidor socket em Golang com ping e pong.
Um exemplo de cliente e servidor socket escrito em Go com conexões persistentes agora enviando e recebendo mensagens de ping/pong para garantir que a conexão esta ativa.
-
Cliente e servidor socket em Golang com goroutines e canais.
Um exemplo de cliente e servidor socket escrito em Go com conexões persistentes agora usando goroutines e canais.
-
Cliente e servidor socket em Golang.
Um exemplo de cliente e servidor socket escrito em Go com conexões persistentes.
-
Como diminuir o tamanho do container usando multi-stage builds.
Como Golang cria executáveis estaticos/monolíticos não precisamos de nada instalado no container, nem mesmo a libc, ou seja podemos usar imagem scratch e criar um container realmente pequeno.
-
Configurando timeout para requisições HTTP em Golang
Como configurar o tempo padrão para timeout para seu servidor HTTP em Go.
-
Controle de sessão em Golang como Gorilla sessions
Como criar um controle de sessão em Golang usando Gorilla sessions e mantendo dados em cookies de forma segura usando criptografia AES-256
-
Descobrindo ip com Golang
Como descobrir o ip tanto do cliente como do servidor usando Golang
-
Diferenças entre slice e array em Go
Diferenças entre slice e array em Golang e algumas dicas de utilização.
-
Os problemas programando em Golang
Nenhuma linguagem de programação é perfeita e nesse texto tento descrever tudo que pode dar errado usando Golang.
-
Shadow de variáveis em Golang
Como encontrar shadow de variáveis em golang usando go vet com um modulo experimental
-
Web Scraping com Golang
Exemplo de Web Scraping com Golang e Chrome DevTools Protocol
-
Erro difícil com interfaces e switch case em Go
Um erro difícil de depurar usando interfaces e switch case em Golang
-
Cobertura de testes unitários em Go
Script para visualizar a cobertura de testes unitários em HTML
-
Quine implementado em Golang
Como criar um programa que imprime a si mesmo em Go.
-
PostgreSQL via SSL com Golang
Configurando PostgreSQL para conectar usando SSL via Go
-
Unix Domain Socket com Golang
Como usar Unix Domain Socket com Go
-
Um JSON lint em Golang
Usamos o retorno de erro do json.Unmarshal para gerar uma mensagem de erro mais útil e completa com direito a indicar o erro com uma setinha e tudo.
-
Trafegando dados entre middleware http usando contexto em Golang
Como trocar informações entre os middlewares http do seu sistema usando contexto.
-
Como fazer HTTP middleware em Golang tanto usando Negroni como usando a biblioteca padrão
Exempos de como criar middleware para seus serviços HTTP mostrando exemplos com a bilioteca padrão e também com a dobradinha Negroni e Gorilla mux.
-
Usando goto e label em Go
goto é um recurso injustiçado e hoje vamos mostrar como usar goto no em Golang.
-
Um sistema de mensageria extremamente rápido com NATS e Golang
NATS é um sistema de mensagens escrito em Go, muito rápido e fácil de usar. Usado para conectar sistemas, seja IoT seja aplicações mobile ou onde precisar de grande desempenho na troca de mensagens.
-
Protocol Buffers
Primeiros passos usando Protocol Buffers com golang
-
JSON, criando seu próprio Marshal e Unmarshal
Tutorial de como ensinar o parser JSON para trabalhar com dados em novos formatos
-
interface como um contrato
Dicas de como usar interface em Golang como um contrato para structs
-
Interface vazia
Dicas de como usar interface vazia e seus riscos
-
JSON Dicas e Truques
Tutorial mostrando várias formas de manipular JSON usando funções recursivas e structs
-
Acessando Dropbox com Golang
Tutorial de como acessar o Dropbox e fazer upload, download e listar os arquivos
-
Compilação Estática Com Golang
Como compilar sem nenhuma dependencia externa seu código Go
-
Acessando a porta serial
Algumas formas que uso para acessar a porta serial
-
Golang brincando com bits
Como manipular bits usando Golang
-
Dicas de Golang defer
Defer ajuda muito mas também oferece algum risco veja algumas dicas de uso
-
Golang previnindo data race
Como detectar e prevenir data race com Golang
-
Golang carregando arquivos Sped Fiscal 95% mais rápido
Apenas uma manha de domingo e fizemos o sistema ganhar 95% de performace na leitura dos arquivos do Sped Fiscal
-
Golang percorrendo a árvore de diretórios
Com a ajuda do pacote path/filepath é fácil percorrer diretórios e arquivos.
-
go usando time e canais
Como usar o pacote time e canais para executar uma tarefa a cada X tempo, e aproveitamos para brincar um pouco com o terminal.
-
Golang plugins
Como criar e usar plugins em Go
-
Tratando sinais com Go
Como verificar se o usuário pressionou crtl+c
-
HTTPS com Golang no Linux
Um tutorial bem simples de como usar certificados HTTPS com Go
-
Redirect para HTTPS e proxy reverso
Servindo tudo com HTTPS e usando um proxy reverso acessar os serviços.
-
String aleatória segura em Golang usando crypto/rand
Gerando strings aleatórias com Golang