Posts com o tag ‘django’

6jul2009

fisl10 – Por que Python?

(3) comentários

O palestrante Marco André Lopes Mendes iniciou a apresentação dizendo que iria tentar convencer quem estava assistindo a usar Python.

Ele mostrou dez razões (que viraram doze) para aprender Python.

1 – É legal
Simples, legível, clara, elegante e próxima da linguagem natural. Mesmo quem não tem conhecimento da linguagem, entende bem quando olha o código.
Abaixo um exemplo de manipulação de arquivos texto:

arquivo = open("emails.txt")
dominios = {}

for contato in arquivo:
    resto, dominio = contato.split("@")
    dominio = dominio.replace("\r\n", "")

    if dominio in dominios:
        dominios[dominio] += 1
    else
        dominios[dominio] = 1
arquivo.close()

arquivo = open("dominios.txt", "w")
print "%-30s - %-5s" %("Dominios", "Ocorrencias")
for dominio in dominios.keys()
    print "%-30s - %-5s" %(dominio, dominios[dominio])
    registro = "%s;%s\n" %(dominio, dominios[dominio])
    arquivo.write(registro)
arquivo.close()

.
2 – Já vem com acessórios
Uma analogia com um carro que já vem com opcionais de série. Os recursos que vêm com Python são poderosos: persistência de objetos, banco de dados, geração de arquivos PDFs, geração de gráficos, protocolos de rede, Web, criptografia, etc.
.
3 – É muito utilizado fora do Brasil
Casos de sucesso como Google, Industrial Light and Magic, DreamWorks e Nokia.
.
4 – É utilizado no Brasil com sucesso
Exemplos são Async – Stoq, LZT, Instituto Nokia de Tecnologia e InVesalius.
.
5 – É utilizado na Web fora do Brasil
Por exemplo, Novel e Cia, utilizando Django, um framework de desenvolvimento rápido para Web.
.
6 – É utilizado na Web no Brasil
IDG Brasil, Vencia, República Federativa do Brasil, Politec, SEBRAE, Varig.
.
7 – Há empregos para programadores Python no Brasil
Bons programadores Python não ficam sem emprego.
Meu comentário: bons programadores em qualquer linguagem, mas bons mesmos, não ficam desempregados.
.
8 – Conversa com outras linguagens
Se você possui bibliotecas em C e C++, pode utilizá-las integrando com Python. Há também implementações para Java (Jython) e .NET (IronPython).
.
9 – É multi-plataforma
Linux, Unix, Mac OS, Windows e plataformas diferentes das tradicionais, como celulares, dispositivos móveis e XO/OLPC.
.
10 – É multi-paradigma
Você pode utilizar com Programação Estruturada, Programação Orientada a Objetos e Programação Funcional. Veja os exemplos:

Programação Estruturada

import random

def jogaDados()
    dado1 = random.randrange(1, 7)
    dado2 = random.randrange(1, 7)
    somaTemp = dado1 + dado2
    print "Jogador tirou %d + %d = %d" %(dado1, dado2, somaTemp)
    return somaTemp

soma = jogaDados()
if soma == 7 or soma == 11:
    situacaoJogo = "GANHOU"
elif soma == 2 or soma == 3 or soma == 12:
    situacaoJogo = "PERDEU"
else:
    situacaoJogo = "CONTINUA"
    meuPonto = soma
    print "Ponto: ", meuPonto

while situacaoJogo == "CONTINUA":
    soma = jogaDados()
    if soma == meuPonto: situacaoJogo = "GANHOU"
    elif soma == 7: situacaoJogo = "PERDEU"

if situacaoJogo = "GANHOU": print "Jogador ganha"
else: print "Jogador perde"

.
Programação Orientada a Objetos

class Contador(object):
    def __init__(self):
        self.dic = {}

    def incluir(self, item):
        quantidade = self.dic.get(item, 0) + 1
        self.dic[item] = quantidade

    def contar(self, item):
        return self.dic[item]

>>> cont = Contador()
>>> palavra = 'inconstitucional'
>>> for letra in palavra:
...   cont.incluir(letra)
...
>>> for letra in sorted(set(palavra)):
...   print letra, cont.contar(letra)

.
Programação Funcional

# Fibonacci: 10 primeiros números
print map(lambda x,f=lambda x,f:(x<=1) or (f(x-1,f)+f(x-2,f)): f(x,f),range(10))

.
11 – É boa como primeira linguagem
Se você está aprendendo a programar, pode escolher Python sem receios.
.
12 – Existe uma comunidade forte no Brasil
O Python Brasil reune grupos de usuários em todo o Brasil interessados em difundir e divulgar Python. A sua lista de discussões é bastante movimentada.
.
Marco André também disse que Python é muito utilizado na automatização de processos. Na Locaweb, Python é extensamente utilizado em ambientes Unix-like, sendo a linguagem padrão para a equipe de Linux, onde são desenvolvidas aplicações para linha de comando e para Web também.

No final da palestra, várias pessoas com conhecimento em Python comentaram que poderia ser mostrado mais recursos da linguagem que a diferencia das outras. Eu particularmente nunca desenvolvi nada em Python, mas considero ser uma ótima escolha no intuito de você se tornar um programador poliglota.

Os slides da palestra você encontra nesse link.
.

8dez2008

Hospedagens Linux: tudo novo desde agosto!

(6) comentários

Linux é na Locaweb!Nossa hospedagem compartilhada funciona atualmente da seguinte forma: cada servidor tem centenas de clientes. Quando a máquina “enche”, cria-se uma nova máquina e assim por diante.

Isso tem diversas consequências, a primeira é que as máquinas cheias vão ficando para trás em termos de atualização. Tudo que se faz de novo tende a aparecer primeiro nas máquinas mais novas (e hoje instalamos servidores novos literalmente toda semana). Dependendo do que estamos fazendo, podemos replicar na maioria das máquinas antigas também. Porém, nem sempre isso é possível pois clientes que já estão com tudo funcionando, de repente podem ter seu site quebrado se atualizamos o PHP de 4 para 5 nas máquinas antigas, por exemplo. É um processo que precisamos sempre tomar muito cuidado.

Desde agosto deste ano, fizemos um grande esforço e colocamos várias novidades, mas fico surpreso que muitas pessoas ainda não notaram essa diferença. Dentre as principais novidades estão:

  • - Suportamos ambos PHP 4 e PHP 5. Mais do que isso, nas máquinas novas os clientes agora podem editar seus próprios arquivos .htaccess e php-cgi.ini. Ou seja, você pode configurar o PHP como quiser na sua conta. Isso permite que praticamente toda aplicação PHP como WordPress, Joomla, Drupal e outros mais rodem sem problemas.
  • - Acho que esse é o que mais apareceu, mas suportamos Ruby on Rails e Merb via o módulo Phusion Passenger. Tudo que você precisa para subir seu website em Ruby está disponível. Aliás, sempre estamos atualizando todas as nossas RubyGems, ou seja, neste momento já temos o novíssimo Rails 2.2 instalado em nossas hospedagens.
  • - Mais do que isso, a idéia é que você possa rodar tudo que há de mais moderno em termos de open source e nesse caso Python também entrou na lista faz algum tempo. Com a configuração de WSGI você pode colocar suar aplicações em Django, Pylons, etc.
  • - Por incrível que pareça, muita gente não sabia, mas faz tempo que nossas hospedagens já suportam SSH (e SFTP, e SCP). Portanto, sempre use SSH para gerenciar sua conta e sempre use SCP para transferir arquivos. Tudo criptografado e seguro.
  • - Outra coisa que pouca gente viu é que todas as máquinas novas já vem pré-instaladas com GIT, o mais moderno versionador de código-fonte distribuído. Como GIT pode ser facilmente exposto via SSH, a configuração necessária é basicamente zero. Apenas adicione a chave pública de SSH no arquivo ~/.ssh/authorized_keys de sua conta e pronto.
  • - Também já suportamos Subversion. Esse de fato é culpa minha porque ainda não fiz um blog post explicando como usar. Mas sim, já suportamos faz algum tempo.
  • - Além disso contamos também com o Instalador de Aplicativos, para instalar de forma trivial aplicativos famosos como WordPress, Drupal, Joomla e muitos outros. Basta acessar pelo seu Painel de Controle e com poucos cliques sua aplicação já estará instalada e pronta para usar.
  • - E para o acabamento final, ainda temos ferramentas de SEO para ajudar ainda mais o sucesso da sua aplicação.

Hospedagens compartilhadas funcionam todas mais ou menos da mesma forma. Mas a Locaweb está preparando grandes surpresas ainda para 2009 que vão melhorar ainda mais nossa plataforma e sua experiência de usuário. O objetivo é de criar no ano que vem a melhor hospedagem Linux/Open Source sem nenhuma margem para dúvidas.

Para saber se sua hospedagem já conta com todas essas novidades você pode fazer da seguinte maneira: faça login via SSH e digite “rails -v”. Se a resposta for “Rails 2.2.2″ ou superior, você já está na nova hospedagem. Ou digite o comando “cat /etc/redhat-release” se a versão for “5.2″ ou superior também já está nas máquinas novas.

Quem ainda está em máquinas antigas, pode pedir migração para máquinas novas, mas apenas caso realmente precise de algum dos novos recursos.

6dez2008

Hospedagens Linux: Tudo novo desde Agosto!

(5) comentários

Nossa hospedagem compartilhada funciona atualmente da seguinte forma: cada servidor tem centenas de clientes. Quando a máquina “enche”, cria-se uma nova máquina e assim por diante.

Isso tem diversas consequências, a primeira é que as máquinas cheias vão ficando para trás em termos de atualização. Tudo que se faz de novo tende a aparecer primeiro nas máquinas mais novas (e hoje instalamos servidores novos literalmente toda semana). Dependendo do que estamos fazendo, podemos replicar na maioria das máquinas antigas também. Porém, nem sempre isso é possível pois clientes que já estão com tudo funcionando, de repente podem ter seu site quebrado se atualizamos o PHP de 4 para 5 nas máquinas antigas, por exemplo. É um processo que precisamos sempre tomar muito cuidado.

Desde agosto deste ano, fizemos um grande esforço e colocamos várias novidades, mas fico surpreso que muitas pessoas ainda não notaram essa diferença. Dentre as principais novidades:

  • Suportamos ambos PHP 4 e PHP 5. Mais do que isso, nas máquinas novas os clientes agora podem editar seus próprios arquivos .htaccess e php-cgi.ini. Ou seja, você pode configurar o PHP como quiser na sua conta. Isso permite que praticamente toda aplicação PHP como WordPress, Joomla, Drupal e outros mais rodem sem problemas.
  • Acho que esse é o que mais apareceu, mas suportamos Ruby on Rails e Merb via o módulo Phusion Passenger. Tudo que você precisa para subir seu website em Ruby está disponível. Aliás, sempre estamos atualizando todas as nossas RubyGems, ou seja, neste momento já temos o novíssimo Rails 2.2 instalado em nossas hospedagens.
  • Mais do que isso, a idéia é que você possa rodar tudo que há de mais moderno em termos de open source e nesse caso Python também entrou na lista faz algum tempo. Com a configuração de WSGI você pode colocar suar aplicações em Django, Pylons, etc.
  • Por incrível que pareça, muita gente não sabia, mas faz tempo que nossas hospedagens já suportam SSH (e SFTP, e SCP). Portanto, sempre use SSH para gerenciar sua conta e sempre use SCP para transferir arquivos. Tudo criptografado e seguro.
  • Outra coisa que pouca gente viu é que todas as máquinas novas já vem pré-instaladas com GIT, o mais moderno versionador de código-fonte distribuído. Como GIT pode ser facilmente exposto via SSH, a configuração necessária é basicamente zero. Apenas adicione a chave pública de SSH no arquivo ~/.ssh/authorized_keys de sua conta e pronto.
  • Também já suportamos Subversion. Esse de fato é culpa minha porque ainda não fiz um blog post explicando como usar. Mas sim, já suportamos faz algum tempo.
  • Além disso contamos também com o Instalador de Aplicativos, para instalar de forma trivial aplicativos famosos como WordPress, Drupal, Joomla e muitos outros. Basta acessar pelo seu Painel de Controle e com poucos cliques sua aplicação já estará instalada e pronta para usar.
  • E para o acabamento final, ainda temos ferramentas de SEO para ajudar ainda mais o sucesso da sua aplicação.

Hospedagens compartilhadas funcionam todas mais ou menos da mesma forma. Mas a Locaweb está preparando grandes surpresas ainda para 2009 que vão melhorar ainda mais nossa plataforma e sua experiência de usuário. O objetivo é de criar no ano que vem a melhor hospedagem Linux/Open Source sem nenhuma margem para dúvidas.

Para saber se sua hospedagem já conta com todas essas novidades você pode fazer da seguinte maneira: faça login via SSH e digite “rails -v”. Se a resposta for “Rails 2.2.2″ ou superior, você já está na nova hospedagem. Ou digite o comando “cat /etc/redhat-release” se a versão for “5.2″ ou superior também já está nas máquinas novas.

Quem ainda está em máquinas antigas, pode pedir migração para máquinas novas, mas apenas caso realmente precise de algum dos novos recursos. 

12set2008

Como habilitar aplicações Django na Locaweb

(24) comentários

Os clientes Locaweb, dos planos compartilhados Linux, já podem instalar suas aplicações desenvolvidas nos mais modernos frameworks Python que suportam WSGI, incluindo o novíssimo Django 1.0!

O Web Server Gateway Interface (WSGI) é o novo padrão de comunicação entre o Web Server, no caso o Apache, com suas aplicações Python. Dentre suas principais características está a simplicidade e facilidade de utilização.

Por que a Locaweb não utiliza mod_python: simples, é lento. mod_python funciona no estilo CGI, ou seja, para qualquer nova requisição ele precisa recarregar a aplicação inteira e depois descarregar. Aplicações pequenas, pouco acessadas de fato faz pouca diferença. Mas tente rodar algo mais pesado e logo o tempo por requisição ficará insuportável. Já o WSGI funciona em esquema persistente: ele carrega sua aplicação apenas uma vez e as requisições seguintes rodam todas mais rápidas. 

Por que outras hospedagens utilizam mod_python: para economizar recursos. WSGI consome mais RAM da máquina, uma vez que ela deixa o processo de pé em vez de descarregar o tempo todo de memória. Isso é bom para a hospedagem e ruim para o cliente. WSGI não é tão bom para a hospedagem mas é melhor para o cliente.

Contrate já!

Para saber se sua conta suporta Python, entre nela via SSH e digite o comando:

cat /etc/redhat-release

Se for RedHat 5 você já tem Python e já pode seguir este tutorial. Caso contrário será necessário abrir um chamado para pedir migração para uma máquina mais atualizada.

ler mais

7mai2008

Encontro: links da palestra “Tendências”

(0) comentários

Salve! Chegou o momento do nosso tradicional Encontro Locaweb de Profissionais de Internet.

Na minha palestra menciono uma série de links interessantes. Para que não tenham que tomar nota durante o evento, aí estão eles:

Try Ruby (in your browser)
Aprenda a Programar (Introdução a Ruby em português)
Agile Web Development with Rails 3rd. ed. Beta
Tutorial Rails Mac OS X
Rails 2.0 scaffolding step by step
Rails API – Referência Oficial
Django Project
ASP.NET MVC – site oficial da Microsoft
Using ASP.NET MVC From Visual Web Developer Express 2008
iUI – kit para web apps no iPhone
iPhone on Rails

Façam bom proveito!

7mai2008

Encontro: links da palestra "Tendências"

(9) comentários

Salve! Chegou o momento do nosso tradicional Encontro Locaweb de Profissionais de Internet.

Na minha palestra menciono uma série de links interessantes. Para que não tenham que tomar nota durante o evento, aí estão eles:

Try Ruby (in your browser)
Aprenda a Programar (Introdução a Ruby em português)
Agile Web Development with Rails 3rd. ed. Beta
Tutorial Rails Mac OS X
Rails 2.0 scaffolding step by step
Rails API – Referência Oficial
Django Project
ASP.NET MVC – site oficial da Microsoft
Using ASP.NET MVC From Visual Web Developer Express 2008
iUI – kit para web apps no iPhone
iPhone on Rails

Façam bom proveito!