Adicionando suporte a PostgreSQL na QT p/ windows

Para quem seguiu as minhas dicas sobre como usar a QT OpenSource no Visual Studio e quer habilitar o suporte a banco de dados PostgreSQL na QT. Após instalar o PostgreSQL com os seus arquivos de desenvolvimento (headers, bibliotecas, etc), basta fazer o seguinte:

1) Abra o arquivo C:\Program Files\Micorsoft Visual Studio 8 Express\Common7\Tools\vsvars.bat e adicione o caminho para os includes na variável INCLUDE. Ela deverá ficar mais ou menos assim:

@set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include;C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\PostgreSQL\Include;%INCLUDE%

2) Faça o mesmo para a variável LIB, obviamente adicionando o caminho para as bibliotecas dos PostgreSQL. Deverá ficar mais ou menos assim:

@set LIB=C:\Program Files\Microsoft Platform SDK\Lib;C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\PostgreSQL\Lib;%LIB%

Ao recompilar a QT, informe o parâmetro -plugin-sql-psql.

Gentoo/*BSD

O ezine Daemon News fez uma interessante entrevista com Diego Pettenò, atual lead do Gentoo/ALT, sobre o Gentoo/*BSD e os sub-projetos relacionados (Gentoo/FreeBSD, Gentoo/OpenBSD e Gentoo/NetBSD). Se você, assim como eu, é um fã de desses sistemas e também gosta de Gentoo, convém dar uma olhada na entrevista para ficar mais por dentro do assunto.

Pessoalmente fico um pouco chateado por não ter o tempo necessário para poder ajudar o projeto, como já ajudei anteriormente, então deixo meu apoio e desejos de sucesso para todos eles.

OpenSSL

Depois de alguns anos sem precisar usar a SSL, tive que usa-la esta semana, e pude notar uma coisa que antigamente não tinha sido tão clara para mim: a openssl, enquanto biblioteca, é bastante concisa para se utilizar. Definitivamente não é uma biblioteca simples (mesmo porque o campo de atuação dela – criptografia – também não é), e ainda assim é divertido utiliza-la.

Mudança de paradigma

Hoje, lendo uma mensagem da QT-Interest foi repassado um link para um artigo no site de Herb Sutter, Guru Of The Week, explicado as razões pelas quais é desnecessário checar por uma falha do “new” na maioria dos casos.
Embora seja um artigo interessante ele tem uma pequena falha ao afirmar que a alocação de memória no Linux sempre tem sucesso. A alocação de memória no Linux pode falhar se você tentar alocar uma quantidade de memória que for igual ou maior a quantidade de memória disponível menos a quantidade de memória usada pelo kernel para mapear a memória do processo.
Embora eu concorde com o autor de que a checagem no new é, certas vezes desnecessária, é importante checar quando você está tentando alocar uma quantidade razoável de memória, já que isso pode lhe permitir alocar uma quantidade menor ou liberar alguns recursos e seguir adiante.

Navegando pelas tags XML usando a QT

Uma dica que, talvez, seja simples para os iniciados na QT, mas que me fez perder algum tempo raciocinando a respeito da solução …

O problema: navegar entre itens irmãos em um arquivo Xml, usando um objeto QDomElement. Por exemplo, você tem um arquivo Xml parecido com isto:

Continue reading “Navegando pelas tags XML usando a QT”

Verificando a senha do usuário no sistema

Bem diz o ditado que a necessidade é a mãe da invenção do conhecimento … Hoje, precisei fazer um programinha que, fornecido um usuário e senha, este retornava “OK.” se a senha estivesse correta ou “ERR.” caso ela estivesse errada (semelhante ao ncsa_auth, porém autenticando no shadow ao invés de um arquivo próprio). Para isso usei a funcão crypt(3). Como ela é um pouco “estranha” para usar e não contém nenhum exemplo decente, vou demonstrar rápidamente a sua utilização

Continue reading “Verificando a senha do usuário no sistema”