Lista de strings com alto potêncial de causar problemas
The Big List of Naughty Strings is an evolving list of strings which have a high probability of causing issues when used as user-input data
Lista com várias string que tem alto potêncial de causa problemas quando usadas como input de usuário.
Related cards:
Minimizar problemas por uso de swap com compressão de RAM
Passo 1 - Instalar
Ubuntu 12.04 em diante:
sudo apt-get install zram-config
(Para outras versões, consultar link)
Passo 2 - Reiniciar o computador
Auto-explicativo
Passo 3 - Garantir que está rodando
O primeiro comando garante...
Eficiência String com Java e Groovy
Existe uma diferença considerável na execução de concatenação/construção de Strings por diferentes métodos:
- Uso de StringBuilder e seus "append"s
- Uso de String.concat, como em x.concat(':').concat(y)
- Uso de leftShift, como em x << ":" <<...
Resumo-Guia de Artigo "Substituir Throw com Notification Pattern"
Explicação
- Exception's deveriam ser usadas para exceções de fato, e não para a logica tradicional da aplicação, como é comumente usada em validações
- No contexto de validações é ruim para o usuário ter de ficar obtendo os erros um a um. É pr...
Melhorias de performance atacando apenas os mapeamentos do hibernate
Um dos grandes problemas de desempenho que uma aplicação pode enfrentar é o de acesso ao banco, pois como bem sabemos o acesso ao disco é muito mais lento que o acesso à memória.
Um ponto que pode ser atacado para prover mais performance à aplicaç...
Groovy - Criar Map diretamente com uma chave String
Quando queremos usar o valor de uma variável como a chave do nosso mapa
String key = 'KEY CERTA'
Naturalmente, todos sabem que temos a possibilidade de fazer esta operação em dois passos: (1) Criar mapa + (2) Acrescentar chave-valor
SAXParseException ao realizar o parse de um html/xml com o XmlSlurper
Na chamada
new XmlSlurper().parseText(codigoFonte)
o parser dispara a exceção SAXParseException
com a seguinte mensagem:
The reference to entity "XXXX" must end with the ';' delimiter.
Isto se dá pois o caracter & é tido como ...
Diferenças entre o tokenize() e o split() de uma String
Split
- Aceita regex como parâmetro;
- Retorna String[];
- Quando não houver conteúdo entre os delimitadores retorna uma String vazia, ou seja, o Array sempre terá o tamanho igual a (quantidade de delimitadores + 1);
Tokenize
- Cada c...
Trabalhando com arquivos temporários em ambiente de produção com o tomcat
Muitas vezes precisamos trabalhar com arquivos temporários em ambiente de produção e é muito complicado definir onde estes arquivos deverão ser armazenados, visto que dependendo da pasta escolhida você terá que entrar no servidor e dar permissão d...
Problema ao executar testes com cobertura no Grails 2.2.0
Alguns projetos feitos no Grails 2.2.0, lançam o seguinte erro ao executar os testes com cobertura(plugin test ":code-coverage:1.2.5")
Execução dos testes:
grails test-app -coverage -xml
Erro que acontece antes mesmo de executar os testes, na ...
Cuidado com o operador * de listas aplicado em objetos !
class Arquivos {
List<String> arquivosValidos = []
}
Arquivos arquivo = new Arquivos()
arquivo*.arquivosValidos.empty // retorna **false**
Porque? Vide abaixo:
arquivo*.arquivosValidos // retorna **[[]]**
arquivo*...