Postagens

Mostrando postagens de agosto, 2009

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ã

Falta de criatividade

Por que os nomes de sistemas, em sua grande maioria, são siglas e começam com a letra S? SCP (Sistema de Contas a Pagar), SCR (Sistema de Contas a Receber), SCE (Sistema de Controle de Estoque), SGE (Sistema de Gestão Empresarial), e por aí vai. Sejam criativos!

BlueScreenView

Imagem
O utilitário BlueScreenView , um freeware da NirSoft, mostra a mesma mensagem que você recebe na Blue Screen of Death (Tela Azul da Morte). É uma maneira muito mais prática e fácil de tentar resolver o problema, pois era comum ter que anotar os dados numa folha de papel ou tirar uma foto da tela.

Removendo caracteres especiais de uma string

Algumas vezes precisamos remover alguns caracteres especiais de uma string. A maneira mais fácil de fazermos isso é utilizando as expressões regulares. Seu uso não é nenhum bicho de 7 cabeças. Segue aqui, um exemplo em ColdFusion. texto = 'Somente_Numeros e Letras 123456*'; retorno = reReplace(texto, '[^[:digit:][:alpha:]]', '', 'all'); // resultado: SomenteNumeroseLetras123456