BOMBOLOM.COM

(ssh) Montar pastas remotas usando o ssh

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.

05.09.2009 | Ler mais | Comentários | Tags ,

(django) Criar um Template Context

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.

22.06.2009 | Ler mais | Comentários | Tags , ,

(oracle) Aceder ao Oracle a partir do Python

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.

18.06.2009 | Ler mais | Comentários | Tags ,

(django) Order_by usando case insensitive

Por José Lopes

Este artigo mostra como ordenar uma QuerySet usando case insensitive.

18.06.2009 | Ler mais | Comentários | Tags ,

(oracle) Instant Client e SQL*Plus com o Debian

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).

16.06.2009 | Ler mais | Comentários | Tags

(correio) IMAP sobre SSL ou TLS usando o Cyrus

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.

11.03.2009 | Ler mais | Comentários | Tags , ,

(mix) Gráficos de sistema

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.

25.02.2009 | Ler mais | Comentários | Tags ,

(correio) Diagnóstico de problemas SMTP

Por Helder Guerreiro.

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.

10.02.2009 | Ler mais | Comentários | Tags ,

(django) Relaccionar QuerySets

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.

06.02.2009 | Ler mais | Comentários | Tags ,

(python) Scanner de S-expressions em python

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.

28.01.2009 | Ler mais | Comentários | Tags

Página 1 de 9  >>
Voltar à Página principal | Made with PyBlosxom