sábado, 19 de maio de 2012

Instalando e Configurando git no windows

Olá pessoal, hoje vou falar um pouco sobre git e github. Git é um sistema de controle de versão distribuído (DVCS) free e open source, para saber mais sobre o mesmo, acesse o site. Github é um serviço de hospedagem de código fonte que utiliza o git como sistema de controle de versão, possuí planos gratuítos e comerciais, e é amplamente utilizado pela comunidade open source. O Github pode se considerado como uma rede social, onde você pode ser seguido e seguir os projetos de outras pessoas, pode facilmente enviar contribuições à projetos open source, e também há empresas, pelo menos lá fora, que tem utilizado o github como forma de avaliar a contratação de programadores.

terça-feira, 20 de março de 2012

Consultando e eliminando sessões ativas no PostgreSQL

Já mostrei como listar/matar as sessões ativas no oracle, hoje vou mostrar essa mesma funcionalidade acessando o banco de dados PostgreSQL. O sql a seguir lista todas as sessões ativas.

select datname, 
       procpid, 
       usename, 
       application_name, 
       client_addr, 
       client_hostname, 
       backend_start 
  from pg_stat_activity

EDIT:
A coluna procid foi renomeada para pid a partir da versão 9.2 do PostgreSQL

Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo,

quarta-feira, 14 de março de 2012

Consultando e eliminando sessões ativas no Oracle

Hoje vou deixar uma dica rápida, como listar as sessões ativas no oracle, isto é, os usuários que estão conectados através de alguma aplicação cliente. O sql a seguir lista todas as sessões ativas excluindo os processos do próprio oracle.

SELECT s.username,
     s.osuser,
     s.sid,
     s.serial#,
     p.spid,
     s.status,
     s.machine,
     s.program,
     TO_CHAR(s.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
   FROM v$session s
  inner join v$process p
     on s.paddr = p.addr
  WHERE s.status = 'ACTIVE' 
    and s.type <> 'BACKGROUND'


Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo.

quinta-feira, 16 de fevereiro de 2012

Delphi SqlBuilder

Olá, há algum tempo eu havia desenvolvido uma rotina para modificar a cláusula Where de sql statements(pelo menos dos mais simples). Agora surgiu a oportunidade de compartilhar a solução, então aqui está.

Logo abaixo podemos ver a definição da classe.

TSqlBuilder = class
  private
  public
    class function AddWhere(ASql, AWhere: String; AMainTable: String = ''): String;
    class function ChangeOrdeBy(ASql, AOrderFields: String): String;
  class function RemoveOrderBy(ASql: String): String;
  end;

Como podem ver a definição da classe é bastante simples e possui apenas funções de classe, nada de parser's de sql complicados.

quarta-feira, 15 de fevereiro de 2012

Criando um CustomAppender para JTextArea com Log4j

Recentemente estavámos trabalhando em um projeto de migração de dados em Java, e foi criada uma pequena interface para interagir com o usuário utilizando Swing. Em dado momento, decidimos incluir um JTextArea para mostrar ao usuário as informações emitidas pelo log do programa, no caso, utilizando Log4j, para que o mesmo pudesse acompanhar com mais detalhes o que o conversor estava fazendo no momento.

Foi então que pesquisando um pouco no google vimos que há como criar nossos próprios Appender's do Log4j, e é sobre isso que eu vou falar hoje.

segunda-feira, 13 de fevereiro de 2012

Serviços da Google Maps API de Geocodificação

Olá, hoje vou mostrar um exemplo de como consumir o serviço do Google Maps API de geocodificação. A definição de geocodificação eu extraí do próprio site do google:

"Geocodificação é o processo de conversão de endereços (como "1600 Amphitheatre Parkway, Mountain View, CA") em coordenadas geográficas (como latitude 37.423021 e longitude -122.083739), que você pode usar para colocar marcadores ou posicionar o mapa. A Google Geocoding API fornece uma maneira direta de acessar um geocodificador por meio de uma solicitação HTTP. Além disso, o serviço permite que você realize a operação inversa (transformar coordenadas em endereços); esse processo é conhecido como "geocodificação reversa"."

sexta-feira, 3 de fevereiro de 2012

Simplificando o merge no TortoiseSVN com DiffMerge

Muitos de vocês já devem ter se aborrecido com a ferramenta de diff(comparação entre arquivos) que vem junto com o TortoiseSVN. Ela não consegue resolver sozinha vários tipos de conflitos e a resolução manual é complicada.

Procurando uma ferramenta melhor tempos atrás, encontrei esse post do Erick Sasse onde ele recomendava a ferramenta DiffMerge que é gratuita e funciona no Windows, Mac OS X e Linux.