sexta-feira, 25 de novembro de 2016

Javascript: Substituir todas ocorrências de uma expressão numa string

Para substituir todas as ocorrências de uma expressão dentro de uma string, você pode utilizar a função replace da seguinte forma:

var str = "Gato rato gato rato gato rato gato rato";
str.replace(/gato/g, "rato");

No exemplo acima, usamos uma expressão regular para reconhecer a palavra gato, e o "g" após o fechamento da "/" vai indicar que vai ser aplicado todas as palavras "gato". Entretanto, a expressão é case-sensitive, portanto não irá se aplicar a palavra "Gato", por causa do caractere "G" ser maiúsculo. Se quiser ser indiferente para maiúsculo ou minusculo, use o exemplo abaixo:

str.replace(/gato/gi, "rato");

Aí vai pegar todas as palavras "gato" indiferente da letra ser maiúscula ou minúscula.

sexta-feira, 18 de novembro de 2016

C# - Entity Framework: System.TypeLoadException

Estava eu precisando fazer o deploy de um site num servidor e eis que o site veio com este erro: "System.TypeLoadException: Could not load type 'System.Data.Entity.Infrastructure.TableExistenceChecker'".

Foi difícil entender o que aconteceu, mas esse é um erro que ocorre muito comum quando se usa a Entity Framework de diversas versões. No meu caso, aconteceu que o framework instalado no servidor era de uma versão diferente das que eram usados no projeto, e isso causava este erro.

quinta-feira, 10 de novembro de 2016

MySQL: Limite dos 838:59:59 nas Operações de Tempo

Um caso que aconteceu é que eu precisava fazer uma operação em que precisava ver a duração de tempo entre dois tempos, e não pensei duas vezes em usar a função TIMESTAMPDIFF() no MySQL. Só que percebi que algumas linhas me apresentava este valor específico: 838:59:59. Achei muita coincidência ter várias linhas com a mesma duração e descobri o que temia: a função tem esse limite de quase 35 dias.