Postagens

Mostrando postagens de 2010

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ã

Ainda aqui

Apesar do aparente abandono, o blog ainda continua no ar. Espero voltar a postar novamente em breve.

Teste de Pendrive

Imagem
Semana passada estava com um pendrive de 16GB e o mesmo começou a apresentar erros de escrita/leitura. Formatei com HPUSBFW tanto como NTFS quanto FAT32 e não teve jeito: sempre apresentava problemas de escrita/leitura. Procurei na Internet algum programa que fizesse uma verificação do pendrive mas nenhum me agradou. Assim, resolvi criar meu próprio software para esse fim. O funcionamento é bem simples, depois de selecionar o drive onde está o pendrive a ser testado, basta clicar em "Testar". O programa irá então criar alguns arquivos de teste (TEST???.BIN) no pendrive, onde ??? é um número sequencial. Depois o programa lê os dados escritos e compara se a leitura foi bem sucedida. Em caso de erro, é apresentado uma lista com os erros encontrados. Depois de finalizado o teste, eu criei uma pasta chamada "BAD" e movi o arquivo danificado para esta pasta. Em seguida, setei os atributos de System e Hidden desta pasta. Assim, perdi somente 512MB do meu pendrive de 16GB.