Sempre que é feito um job,uma das preocupações do lado da aplicação é em como não levar todos os registros necessários para a memória. Existem algumas maneiras para se fazer isso, sendo que as duas mais comuns que vejo são queries limitadas e queries paginadas. Além dessas duas formas existe uma terceira que é limitando […]
Autor: fabio
Algum tempo atrás me deparei com uma situação onde uma aplicação começava a utilizar muita CPU, o load da máquina física subia demais e o tempo de resposta da aplicação acabava piorando junto com o uso de cpu / load da máquina. Para identificar o que estava causando, colocamos um script na máquina física que […]
Um dos problemas vistos num banco Oracle com muitos DML’s concorrentes é o evento de espera “enq: TX – allocate ITL entry”. O problema com esse evento é que as sessões fazendo os comandos de alteração nos registros demoram para executar, causando mais espera na aplicação. Existem alguns jeitos de resolver esse evento de espera, […]
Access vs Filter Predicate
A maioria das aplicações desenvolvidas atualmente utilizam um banco de dados relacional para armazenar e recuperar os seus dados. Para que o tempo de resposta e escalabilidade de aplicação não seja prejudicado, é necessário que o banco de dados consiga recuperar as informações necessárias da maneira mais rápida e fácil possível. Os índices em banco […]
Um dos problemas que vejo acontecendo em diversos sistemas de produção é o pool de conexões com o banco de dados esgotar, através da exception abaixo: Geralmente, a primeira solução proposta é aumentar o pool de conexões. Só que após algum tempo o problema volta a ocorrer novamente. Olhando à partir do banco de dados […]
git svn rebase e fatal: bad object
Ao tentar atualizar um repositório do svn através do git na minha máquina recebi o seguinte erro: Para resolver esse problema entre no diretório .git e rode o seguinte comando: No meu caso o comando acima retornou apenas 1 arquivo: Binary file ./svn/.caches/lookup_svn_merge.db matches Apague o arquivo e rode novamente o comando git svn rebase
Hoje precisei gerar o diff do svn de alguns arquivos cujo nomes estavam armazenados dentro de um arquivo. Para gerar o diff no svn de cada um desses arquivos basta fazer o seguinte: cat arquivos.txt | xargs -I {} svn diff -r 39177:HEAD https://svn/projeto{} > diff.txt Onde o arquivo arquivos.txt contém o nome dos arquivos […]
Para excluir arquivos não versionados no SVN você pode utilizar o seguinte comando: A primeira parte desse comando lista todos os arquivos alterados no SVN (modificados, adicionados, excluídos e não versionados), a segunda parte do comando filtra as linhas que começam com “?” (arquivos não versionados). A terceira parte elimina o “?” e os espaços […]
Repositório Git no Apache2
Algum tempo atrás eu coloquei um repositório Git disponibilizado através do Apache2 + WebDAV utilizando a seguinte configuração do apache: Após algum tempo comecei a receber erros ao tentar fazer o push de muitas alterações. Se eu tentasse realizar vários push’s com erro, uma hora o push funcionava. Fui procurar outras formas de disponibilizar o […]
O Guia de Dez Minutos de diff e patch
O seguinte texto foi traduzido e adaptado de: http://jungels.net/articles/diff-patch-ten-minutes.html Primeira situação: você está tentando compilar um pacote à partir do código fonte e descobre que alguém já o modificou para compilar na sua plataforma. Ele disponibilizou o seu trabalho como um “patch”, mas você não tem certeza de como utilizá-lo. Para utilizá-lo você deve aplicar […]