sábado, 24 de novembro de 2012
Instalando MongoDB no windows
É um fato que os "bancos de dados" chamados NoSQL(Not only Sql) estão ganhando cada vez mais destaque, pela sua versatilidade e performance. São implementações para armazenar tipos de dados específicos como: key-value (redis, riak), document(CouchDB, MongoDB), column family(Cassandra, H-Base), graph(Neo4j).
Eu optei por experimentar o MongoDB, pois além de ser um dos mais populares,
Eu optei por experimentar o MongoDB, pois além de ser um dos mais populares,
domingo, 23 de setembro de 2012
Instalando Indy 10 no Delphi 7
Olá, recentemente surgiu a necessidade de consumir recursos REST utilizando o Delphi, no caso a versão XE2, mas muitos projetos ainda utilizam delphi 7. O Delphi XE2 vem com a versão 10 da biblioteca Indy, e funcionou muito bem, e quando fui testar no Delphi 7, que vem com Indy 9, surgiram vários problemas na manipulação dos códigos de retorno HTTP, e para resolver isso decidi atualizar a versão da biblioteca indy do Delphi 7, da versão 9 para a versão 10.
Para começar baixe a versão mais recente através do endereço http://indy.fulgan.com/ZIP, no momento desta publicação, a última versão disponível é o build 4782.
No Delphi 7, vá na opção Component\Install Packages, localize a biblioteca Indy conforme a imagem abaixo, e remova a biblioteca clicando no botão Remove.
Feche o Delphi, pois é preciso remover as referências do Indy 9 na pasta de instalação do delphi. Vá até a pasta onde o delphi está instalado, por padrão "C:\Program Files\Borland\Delphi7". Renomeie os arquivos do Indy adicionando o sufixo indy9, caso você queirar restaurar em outro momento, ou apague os arquivos se sentir a vontade. Deve ficar conforme segue:
Remova também todos os dcu's existentes dentro das pastas Lib e Lib\Debug, que tenham o nome iniciado com "id", por exemplo, "IdBaseComponent.dcu".
Descompacte o arquivo que você baixou. Dentro há uma pasta Lib e um arquivo Fulld7.bat que compila e instala para você, mais preferi fazer a instalação manualmente, para isso, é preciso compilar e instalar os seguintes pacotes, na sequência que segue:
Agora só falta adicionar os novos arquivos ao LibraryPath do delphi:
Era isso, agora seu Delphi 7 pode usufruir das melhorias e correção de bugs adicionadas ao Indy 10.
Qualque dúvida ou problema durante a atualização deixe um comentário.
Para começar baixe a versão mais recente através do endereço http://indy.fulgan.com/ZIP, no momento desta publicação, a última versão disponível é o build 4782.
No Delphi 7, vá na opção Component\Install Packages, localize a biblioteca Indy conforme a imagem abaixo, e remova a biblioteca clicando no botão Remove.
Feche o Delphi, pois é preciso remover as referências do Indy 9 na pasta de instalação do delphi. Vá até a pasta onde o delphi está instalado, por padrão "C:\Program Files\Borland\Delphi7". Renomeie os arquivos do Indy adicionando o sufixo indy9, caso você queirar restaurar em outro momento, ou apague os arquivos se sentir a vontade. Deve ficar conforme segue:
- Bin\indy70.bpl para Bin\indy70_indy9.bpl
- Bin\indy70.map para Bin\indy70_indy9.map
- Bin\dclindy70.bpl para Bin\dclindy70_indy9.bpl
- Bin\dclindy70.map para Bin\dclindy70_indy9.map
- Lib\indy.dcp para Lib\indy_indy9.dcp
- Lib\indy.dcu para Lib\indy_indy9.dcu
- Lib\dclindy.dcp para Lib\dclindy_indy9.dcp
- Lib\dclindy.dcu para Lib\dclindy_indy9.dcu
- Source\Indy para Source\Indy_9
Remova também todos os dcu's existentes dentro das pastas Lib e Lib\Debug, que tenham o nome iniciado com "id", por exemplo, "IdBaseComponent.dcu".
Descompacte o arquivo que você baixou. Dentro há uma pasta Lib e um arquivo Fulld7.bat que compila e instala para você, mais preferi fazer a instalação manualmente, para isso, é preciso compilar e instalar os seguintes pacotes, na sequência que segue:
- IndySystem70.dpk (in Lib\System) --> Apenas Compila
- IndyCore70.dpk (in Lib\Core) --> Apenas Compila
- IndyProtocols70.dpk (in Lib\Protocols) --> Apenas Compila
- dclIndyCore70.dpk (in Lib\Core) --> Compila e Instala
- dclIndyProtocols70.dpk (in Lib\Protocols) --> Compila e Instala
Agora só falta adicionar os novos arquivos ao LibraryPath do delphi:
- C:\Indy10\Lib\System
- C:\Indy10\Lib\Core
- C:\Indy10\Lib\Protocols
Era isso, agora seu Delphi 7 pode usufruir das melhorias e correção de bugs adicionadas ao Indy 10.
Qualque dúvida ou problema durante a atualização deixe um comentário.
segunda-feira, 6 de agosto de 2012
Primeiros passos com git
Depois de uma pausa, retomarei o assunto sobre git. Hoje vou mostrar como criar um novo repositório e efetuar as operações básicas. Se você não sabe o que é git ou ainda não tem o git instalado, leia o post anterior: Instalando e Configurando git no windows
Para começar, abra o Git Bash no diretório onde você vai criar seu projeto, para efeitos de exemplo vou manter o projeto na raiz do drive C.
Para começar, abra o Git Bash no diretório onde você vai criar seu projeto, para efeitos de exemplo vou manter o projeto na raiz do drive C.
$ mkdir learning-git $ cd learning-git $ git init Initialized empty Git repository in c:/learning-git/.git/ $ touch README.md
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.
EDIT:
Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo,
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.
Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo.
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.
Como podem ver a definição da classe é bastante simples e possui apenas funções de classe, nada de parser's de sql complicados.
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.
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.
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.
quinta-feira, 19 de janeiro de 2012
Integração Contínua - Instalando as ferramentas(Java JRE, TomCat e Hudson)
Já faz algum tempo desde o último post, o tempo está curto, mais dando continuidade a série sobre Integração Contínua, hoje vou mostrar como instalar e configurar as ferramentas que iremos utilizar: Java JRE, Tomcat, Hudson e VisualSVN Server.
Java
Como servidor de aplicação utilizarei o Tomcat e para isso, precisamos do Java Runtime Edition (JRE) (ou Java Development Kit(JDK) caso já tenha instalado). Você pode obter o instalador nesse link Java SE Downloads. Escolha a opção JRE. A instalação é no estilo next, next, finish.
Java
Como servidor de aplicação utilizarei o Tomcat e para isso, precisamos do Java Runtime Edition (JRE) (ou Java Development Kit(JDK) caso já tenha instalado). Você pode obter o instalador nesse link Java SE Downloads. Escolha a opção JRE. A instalação é no estilo next, next, finish.
Marcadores:
Hudson,
Integração Contínua,
Subversion,
Tomcat
Assinar:
Postagens (Atom)