Postagens

Mostrando postagens de dezembro, 2022

Postagem em destaque

A incrível velocidade do Go

Imagem
Um dos motivos que gosto do Go (a linguagem de programação, não o jogo), é que ele é extremamente rápido. E não estou falando de utilizar goroutines pois aí é covardia. Estamos migrando um sistema de Coldfusion para Go e PHP e uma das rotinas insere um registro no banco de dados no início e outra no fim do processo. Pense como se fosse um log, mas um log específico para essa rotina. Dessa forma: 2023-05-18 17:45:03. 687     ... [processaImagem] Incorporando imagem 2023-05-18 17:45:03. 688     ... [processaImagem] Imagem incorporada Entre o inicio e o final do processamento levou 1ms. Até aí, tudo bem, se não fosse o fato dessa tabela ter o campo timestamp como parte da chave primária. Se reparar, o tempo é definido em milissegundos. Com o Coldfusion esse processo dura cerca de 20ms. Simplesmente migrando para Go, o tempo caiu muito, para menos de 1ms e assim, começou a dar erro de chave duplicada. A solução? Depende, sempre depende. No nosso contexto, a mais simples foi feita, pois nã

Falha ao acessar a API da Binance

De uns tempos pra cá, meu programa que monitora o preço de ações e criptomoedas (tenho um post sobre isso), passou a receber a mensagem:  "Service unavailable from a restricted location according to 'b. Eligibility' in https://www.binance.com/en/terms. Please contact customer service if you believe you received this message in error."  Depois de muito pesquisar, descobri o problema: meu programa fica hospedado nos EUA, e eu uso o endereço base https://api.binance.com . A solução é bem simples, troque o endereço base por https://api.binance.us . O único porém é que alguns assets não existem no novo endereço. Por exemplo:  https://api.binance.us/api/v3/ticker/24hr?symbol=ETHBRL . Nesse caso, a única solução é trocar o ETHBRL por ETHUSD.