Por Helder Guerreiro
Utilizando o projecto FUSE (File System in User Space) é possível ao utilizador ter um sistema de ficheiros totalmente no espaço do utilizador. Estas caracteristicas deram origem a vários projectos, entre eles o sshfs, que permite a um utilizador final, sem previlégios especiais montar pastas remotas. O único pré-requisito importante é a máquina remota ter um servidor de ssh a funcionar o que em servidores linux é quase universal. Acresce a esta facilidade o facto de virtualmente não ser necessário qualquer tipo de configuração. Leia o resto deste post para ver como se instala e utiliza o sshfs.
Posted by José Lopes
Num projecto necessitei de utilizar uma constante definida no settings em vários templates. Eu queria utilizá-la da seguinte forma:
{{ MINHA_CONSTANTE }}
Inicialmente passei a constante pelo context de cada view mas depois, lembrando-me do princípio DRY (não nos repetirmos), fiz uso do TEMPLATE_CONTEXT_PROCESSORS para ter a constante disponível em qualquer template do projecto.
Este artigo mostra como criar um template context ou, como é mencionado na documentação do Django, Custom context processors.
Por Helder Guerreiro
A ligação ao Oracle a partir do python faz-se utilizado o módulo cx_Oracle. Este módulo tem de ser compilado dado que não existem binários disponíveis para o Debian. Neste artigo vou mostrar como isso se faz.
Por José Lopes
Este artigo mostra como ordenar uma QuerySet usando case insensitive.
Por Helder Guerreiro
Neste artigo vou mostrar como instalar o instant client e o SQL*Plus no Debian 5.0. O instant client, ao contrário do cliente normal de oracle é um download relativamente rápido e ficamos com uma instalação apenas com o mínimo necessário. Num artigo posterior mostrarei como instalar o módulo de Python cx_Oracle, sendo que o presente artigo é pré-requisito para instalar esse módulo de Python (ou de qualquer outra linguagem, de facto).
Se quisermos aceder a serviços remotos, passando por redes inseguras somos sempre obrigados a usar protocolos cifrados. Para o efeito podemos usar SSL ou o seu sucessor TLS (mais informação aqui).
Essencialmente, usando os métodos referidos, conseguimos estabelecer uma ligação cifrada entre o cliente de mail e o servidor IMAP. Para o efeito temos de criar um certificado digital e a seguir configurar o servidor de IMAP para usar este certificado. Nessa altura o Cyrus responderá usando qualquer um destes métodos.
Fazer tudo isto utilizando o Cyrus é trivial, como se pode ver a seguir.
Por Helder Guerreiro.
Existem muitas situações onde a visualização da informação sob a forma de um gráfico facilita a compreensão do que se está a passar. Por exemplo poderá ser normal termos a carga do sistema a 7.0 ou 8.0 durante breves períodos de tempo num servidor de base de dados, podemos estar a fazer a consolidação de dados diária, ou a extrair um dump da base de dados para backup. No entanto já não será normal termos valores de carga do sistema permanentemente neste valores. Se tivermos um gráfico com as variações nas últimas 24H da carga do sistema, facilmente se encontram estes tipos de problemas.
Neste artigo vou apresentar a ferramenta RRDtool que nos permite de uma forma rápida e prática fazer gráficos e não só de dados que variem no tempo.
Hoje em dia o mail é usado como ferramenta de comunicação para quase tudo dentro de uma empresa. Eu penso que muitas vezes o mail é abusado, mal utilizado e de uma forma geral usado de forma muito insegura e irrefletida. No entanto não é disso que quero falar hoje.
O facto é que ao ser tão utilizado, os problemas que surgem devido a não se conseguir enviar ou receber um mail tomam proporções deveras grandes. É claro que o utilizador raramente lê as mensagens de erro, quando o faz não as sabe interpretar ou então, pior ainda, está a utilizar o Outlook em cujo caso as mensagens estão para além de qualquer humano entendimento. Assim ficamos limitados a tentar simular o problema.
É claro que se devem de analisar todas as mensagens de erro, verificar os logs do servidor SMTP, IMAP, POP3, etc. No entanto, muitas vezes, é muito fácil descobrir o que se passa se olharmos directamente às respostas do servidor. O que quero mostrar neste artigo é como se processa uma conversa SMTP típica e como a podemos usar para resolver problemas.
Por José Lopes
Em algumas situações necessitamos de relaccionar dois QuerySets.
A solução depende se os QuerySets em causa são sobre o mesmo modelo ou não, e aqui neste artigo apresento ambos as soluções.
A informação aqui apresentada foi baseada neste thread.
Este é um post de Helder Guerreiro.
No último ano e meio tenho andado a fazer (lenta e vagarosamente) um cliente de mail em Python, cujo objectivo é ter mais ou menos o mesmo conjunto de características do Squirrelmail. Podem verificar o resultado do meu ligeiro esforço nesta matéria no site do WebPyMail (atenção este software está ainda longe de ser utilizável e só foi testado com o Cyrus IMAP). Este cliente utiliza um servidor de IMAP como backend. Como o IMAP compõe a suas respostas aos comandos enviados ao servidor como Expressões Simbólicas necessitava de ter um processo para fazer o parse destas respostas de uma forma rápida e eficiente dado que por vezes podemos ter respostas muito extensas e complexas.
Neste artigo mostro a minha solução para este problema.