iMaster Developers

Tiago Temporin

Tiago Temporin

SRE na Único, criador do Material Community Components & GoSOAP, mantenedor do NGX-Translates e contribuidor do pREST.
  • Publicou
    15
    Artigo(s)
    book
  • Visualizados
    22500
    Vezes
    eye
  • Desde
    2010
    clock
awardArtigos Publicados
Tiago Temporin
Desenvolvimento
Como implementar uma função utilizando context

Nesse post vamos implementar uma função que utiliza context. No exemplo de chamada, vou utilizar o context WithTimeout. Dessa forma, conseguiremos fazer a função ser cancelada automaticamente, caso o tempo de execução dela ultrapasse o tempo estipulado no context. Vamos iniciar criando uma função com o nome doSomeHeavyWork. Para simular um processamento longo, vamos adicionar…

Tiago Temporin
Go Golang
Como fazer fuzz test em requests HTTP (parte 1)

Na edição de 2022 da GopherCon Brasil, tive o prazer de palestrar sobre Fuzz Test. Foi muito bacana, pois durante a palestra, assim como nos corredores do evento, fizeram vários questionamentos que eu ainda não tinha feito sobre essa feature do Go. Se você ainda não conhece esse tipo de teste, convido você a ler…

Tiago Temporin
Software
O que é SOLID?

SOLID é um acrônimo que representa cinco princípios no design de softwares orientados a objetos, sendo: Single Responsability Open-Closed Liskov Substitution Interface Segregation Dependency Inversion Principle Embora Go não seja uma linguagem orientada a objetos, ainda assim conseguimos utilizar os princípios de SOLID. Abaixo, vamos ver com mais detalhes cada um dos princípios. Single Responsability…

Tiago Temporin
Go Golang
Como resolver memory leaks em maps

Uma das formas mais comuns de se fazer cache em aplicações Go é utilizando um map. Se você já fez isso, deve ter notado um aumento gradual no consumo de memória, e que normalmente após um restart da máquina ou pod volta ao “normal”. Isso acontece devido a forma como o map funciona. Por isso,…

Tiago Temporin
código
O que é e como utilizar Dependency Injection

Se você já ouviu falar mas não sabe ao certo o que é Dependency Injection ou como a utilizar em Golang, nesse artigo espero te ajudar a sanar as duas dúvidas. Para que todos estejam na mesma página, antes de ver como utilizar, vamos falar um pouco sobre o que é essa tal Dependency Injection…

Tiago Temporin
Go Golang
Onde e qual Context utilizar

O package Context do Go é algo que vemos sendo cada vez mais utilizados por grandes packages. No entanto, não é nada estranho ver pessoas sem saber qual context utilizar dentre os diferentes tipos disponíveis. Nesse post, vou falar sobre os diferentes tipos de context que temos, como fazemos para obtê-los e onde normalmente são…

Tiago Temporin
Go Golang
Quais as diferenças entre goroutines e threads

Um pensamento muito comum para quem está chegando na linguagem Go, ou só conhece a linguagem pelo o que “ouviu na rua”, é achar que as goroutines são threads. Acontece que na prática, goroutines e threads, embora parecidas, são coisas bem diferentes. Vejamos. Uma thread, nada mais é do que um espaço que o sistema…

Tiago Temporin
Go Golang
Go: Entenda o que são os arquivos go.mod e go.sum

Entenda mais sobre Go. Se já conhece outras linguagens, podemos comparar o arquivo go.mod ao package.json do JS ou composer.json do PHP.

Tiago Temporin
Go Golang
Mutex ou channels? Como resolver race condition

Existem basicamente duas formas para resolver problemas de race condition. Mutex e Channels. Se você não está familiarizado com o termo race condition, não se preocupe. Esse termo é utilizado para descrever um pedaço do código que será executado por múltiplas goroutines e que, a cada execução, seu resultado pode variar devido a forma como…

Tiago Temporin
Go Golang
Como fazer teste unitário no GORM com testify e sqlmock

No último final de semana, eu passei praticamente a tarde toda do domingo tentando escrever testes unitários para o GORM utilizando sqlmock. O problema é que todos os tutoriais que eu encontrei eram de versões antigas, tanto do GORM, quanto do sqlmock. Somente na segunda-feira, depois de mais umas 2h tentando entender como eles funcionavam…

visualizando 10 de 15
Publicidade