Arquivos da Categoria: Uncategorized

Hoje resolvi dar uma olhada na solução de cloud computer da Locaweb. Parece até piada, mas entrar na página do “Simule e contrate” eu recebi uma página de erro dizendo que o servidor estava muito ocupado. Realmente muito confiável.

Erro Locaweb

Essa história de “Em casa de ferreiro o espeto é de pau” não pega. Vou ficar mesmo com a Amazon EC2.

Nota: (também não ia doer nada se eles mudassem a página padrão de erro do IIS. Tarefa de 15 minutos que acaba com a reputação de alguns anos.)

Um recurso bacana da linguagem Python que facilita a vida um bocado e deixa o código mais legível são os Decorators. O seu uso é bem simples e sua implementação também.

Para mais informações dê uma olhada nesta página (foi a melhor referência que eu encontrei):

http://www.python.org/dev/peps/pep-0318/

Um exemplo:

import time
def imprime_tempo(func):
    def decorator(*arg, **kwargs):
        t1 = time.time()
        result = func(*arg, **kwargs)
        t2 = time.time()
        print '%s levou %0.3f ms' % (func.func_name, (t2-t1)*1000.0)
        return result
    return decorator
@imprime_tempo
def minha_funcao(x):
    print 'testando'
    x = x**2

Criei este exemplo com base no que está em:

http://www.daniweb.com/code/snippet368.html

Outro link:

http://www.phyast.pitt.edu/~micheles/python/documentation.html

Neste site são apresentados alguns problemas no uso de Decorators (basicamente a alteração da assinatura da função) e uma solução para o problema

Problema: alterar o locale do usuário para ISO8859-1 (poderia ser qualquer outro).

Solução: Edite o arquivo .bashrc e inclua as linhas:

export LANG=en_US.iso8859-1
export LC_CTYPE="en_US.iso8859-1"
export LC_NUMERIC="en_US.iso8859-1"
export LC_TIME="en_US.iso8859-1"
export LC_COLLATE="en_US.iso8859-1"
export LC_MONETARY="en_US.iso8859-1"
export LC_MESSAGES="en_US.iso8859-1"
export LC_PAPER="en_US.iso8859-1"
export LC_NAME="en_US.iso8859-1"
export LC_ADDRESS="en_US.iso8859-1"
export LC_TELEPHONE="en_US.iso8859-1"
export LC_MEASUREMENT="en_US.iso8859-1"
export LC_IDENTIFICATION="en_US.iso8859-1"
export LC_ALL="en_US.iso8859-1"

Nota:

  • Verificar se existe chamada ao script .bashrc à partir do .bash_profile. se não existir adicionar a linha:
    source ~/.bashrc