Groovy - Obter uma página de uma lista sem lançar exceção caso a lista seja menor que o tamanho da página
List listaPequena = [1, 2, 3, 4, 5, 6]
int tamanhoDePaginaDesejada = 10
def x = listaPequena.take(tamanhoDePaginaDesejada)
println x // [1, 2, 3, 4, 5, 6]
//listaPequena.subList(0, tamanhoDePaginaDesejada) //java.lang.IndexOutOfBoundsException: toIndex = 10
//listaPequena[0..tamanhoDePaginaDesejada-1] //java.lang.IndexOutOfBoundsException: toIndex = 10
Related cards:
Mudar o rótulo e o ponto de montagem de uma partição no Ubuntu
Para ilustração deste card consideraremos os seguintes nomes de exemplo
- Nome antigo da partição a ser alterado: work
- Nome novo da partição a ser montada: WORK
Observação inicial
- Este card ilustra os passos necessários para mudar o...
Criando um repositório npm para armazenar seus módulos privados
Para executar os passos a seguir é necessário que você possua instalado o git, node e o npm.
Se você ainda não instalou existe um card que pode te ajudar: [instalação do node no linux](https://makandracards.com/zeroglosa/24014-configuracao-do-am...
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ç...
org.apache.http.NoHttpResponseException
Eu tinha um cenário em que precisava verificar de tempos em tempos, se uma determinada tarefa havia concluído, numa implementação como a do código a seguir:
int qtdSegundosEspera = 20
while (tarefaEmExecucao) {
registreEventoTarefaEmExecu...
Subir aplicação no tomcat sem ter que dar stop na que está rodando
Configuração
Algumas aplicações de produção não podem ser paradas, pois o sistema precisa estar disponível 100% do tempo, ou pode ser necessário atualizar a versão de um cliente, mas o cliente nunca fica satisfeito de ter sua aplicação interro...
Coersão pra Boolean
Existem basicamente duas perguntas que justifiquem a conversão de um objeto qualquer pra boolean:
- esse é um objeto "válido"?
- esse é um objeto que representa um boolean serializado?
O caso [2] só se aplica a inteiros (0
ou 1
), strings (`...
Desfazer alterações no metaclass em testes de unidade
ASSUNTO
Continuando e completando o assunto do card de 11 meses atrás Desfazer alterações no metaclass em testes de unidade (leia-o primeiro):
...
RECUPERANDO BASES POSTGRES COM TUPLAS CORROMPIDAS
PROBLEMA
Durante o backup de um banco ocorre:
pg_dump: Cópia do conteúdo da tabela "TABELA_EXEMPLO" falhou: PQgetResult() falhou.
pg_dump: Mensagem de erro do servidor: ERRO: compressed data is corrupt
pg_dump: O comando foi: COP...
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...
[Tomcat] Restartar apenas aplicação travada com dezenas de Requests acumulando no Server Status
Recentemente uma aplicação estava super travada no Servidor, e olhando o "Server Status" do tomcat encontramos dezenas e dezenas de requisições se acumulando sem nenhuma receber resposta. Usar o "Stop" para depois dar o "Start" não representou ava...