Fazendo o deploy de uma aplicação Django no Dreamhost

No post anterior, foi mostrado como instalar uma versão mais recende do Python e do Django no Dreamhost. Nesse post será demonstrado como fazer o deploy de uma aplicação Django utilizando o virtualenv.

O Dreamhost utiliza o Passenger WSGI para servir aplicações escritas em Python, por isso, o processo aqui descrito é referente ao deploy utilizando o Passenger WSGI. Continue reading

Instalação do Python 2.7.2 e Django 1.3.1 no Dreamhost

Em servidores compartilhados normalmente não é possível ter a versão do Python ou mesmo do Django de acordo com as necessidades do projeto. Porém, tendo um acesso SSH, é possível instalar, no diretório home, a versão requerida para rodar o projeto.

Como exemplo, será demonstrado como instalar uma versão do Python e do Django diferente da oferecida pelo serviço de hospedagem compartilhada do Dreamhost. No momento da escrita do post as versões do Python e do Django oferecidas são, respectivamente, 2.5.2 e 1.2.1. Serão instaladas as versões atuais que são 2.7.2 para o Python e 1.3.1 para o Django. Continue reading

Como aprender Node.js

O que é Node.js?

Node.js é um âmbiente JavaScript que roda do lado do servidor e utiliza um modelo assíncrono orientado à eventos.

Sua engine utiliza a V8 JavaScript Engine do Google, que roda utilizando apenas uma thread, porém, toda operação de I/O é assíncrona oferecendo, assim, nenhuma espera para as operações de I/O de outras requisições.

Um aplicação Node.js pode gerenciar milhares de conexões concorrentes utilizando uma quantidade mínima de recursos do sistema.

Como aprender Node.js?

Atualmente, existe uma quantidade boa de materia a respeito do Node.js. Segue uma lista com alguns materiais muito bons para iniciar os estudos:

Caso você tenha mais alguma sugestão de material para iniciar o estudo sobre o Node.js, deixe um comentário.

Promote JS!

Promote JS! é um movimento para ajudar a disseminar uma documentação atual sobre a linguagem JavaScript. A documentação que está sendo divulgada nesse movimento é a documentação encontrada no Mozilla Developer Center e pode ser acessada clicando na imagem abaixo.

JavaScript Reference, JavaScript Guide, JavaScript API, JS API, JS Guide, JS Reference, Learn JS, JS Documentation

No site do movimento é possível fazer um tweet para ajudar a divulgar.

A documentação é bem completa com explicações, exemplos, dicas e muito mais.

Python para Desenvolvedores – Segunda Edição

A segunda edição do livro Python para Desenvolvedores de Luiz Eduardo Borges está disponível para download. Confira a nota de lançamento:

A segunda edição do livro (ISBN 978-85-909451-1-6, 360 páginas), voltado para desenvolvedores que já tem conhecimento de programação, incluindo desde a criação de interfaces com usuário, computação gráfica, aplicações para internet e sistemas distribuídos.

Você pode fazer o download ou ir para a página oficial.

Boa leitura!

Django no Dreamhost, agora é “oficial”!

O Dreamhost anuncia que “oficialmente” está suportanto aplicações Django. Para ter sua aplicação rodando basta a simples execução de um script que fará todo o trabalho pesado para que sua aplicação Django seja implantada no servidor.

Para execução do script, primeiramente será necessário editar algumas configurações no dominio hospedado.

Configuração do dominio

Será necessário ativar o passenger para seu dominio, para isso basta seguir esses passos:

  1. Abra a página de configuração dos domínios do painel de controle e edite o domínio desejado.
  2. Vá até a seção “Users, Files, and Paths”, e assegure que o web direcotry do seu dominio termine com “/public”, por exemplo, “/home/usuario/elyezer.com/public”.
  3. Após a modificação anterior, vá até a seção “Web Options” e marque o checkbox para ativar o “Passenger”.

Após as modificações anteriores, basta executar o script para poder fazer o deploy de sua aplicação.

Utilizando o script para o deploy da aplicação Django

Agora será necessário que você acesse seu servidor via SSH, e após entrar no diretório da sua aplicação, execute os seguintes comandos:

wget http://wiki.dreamhost.com/django-setup.py
python django-setup.py

O script irá orientá-lo durante o restante do processo de configuração de sua aplicação. Para maiores informações, visite a página do wiki do Dreamhost sobre o Django.

Conclusões

Para quem já havia feito o deploy anteriormente de uma aplicação Django no Dreamhost perceberá que o processo de configuração está muito mais simples, quase como um One Click Install. Com isso o Dreamhost anuncia que está suportando “oficialmente” aplicações em Django em sua hospedagem.

Ainda não tem um servidor de hospedagem?

Aproveite esse novo recurso oferecido pelo Dreamhost e cadastre-se agora mesmo. Utilize o código promocional DHDJANGO para obter um desconto de até $90 dólares ao se cadastrar.

TextFlow 0.2.9 Lançado

A versão 0.2.9 do TextFlow foi lançada! Além de novos recursos para o editor, este lançamento traz como novidade o site oficial do projeto que pode ser acessado em http://textflowproject.org.

No site do projeto você poderá saber mais sobre os recursos do editor, o time de desenvolvimento, como fazer o download e também sua documentação que pode ser encontrada em http://docs.textflowproject.org.

Confira as novidades:

Novo navegador de arquivos: mais organizado e com alguns recursos extras.

Goto line: uma barra, semelhante a barra de pesquisa, para posicionar o cursor em uma linha escolhida.

Mais snippets: novos snippets incluídos.

Abrir arquivos em novas abas diretamente do Nautilus: se o Textflow já estiver aberto novos arquivos serão abertos em novas abas no editor que estiver executando.

Mais ferramentas para edição: converter tabs em espaços e vice-versa e mover linhas para cima ou para baixo.

Gerenciador de Linguagens: nessa versão foram incluídos os primeiros recursos para linguagens específicas. Agora não só os snippets são separados por linguagens, qualquer funcionalidade pode ser customizadas para funcionar apenas em um tipo de arquivo. O TextFlow identifica qual a linguagem da aba atual e consegue alterar seu estado para que determinados recursos fiquem disponíveis para o usuário.

Nas próximas versões cada vez mais linguagens deverão ganhar novos recursos e também será possível no futuro a criação de plugins para as linguagens pelos usuários.

Documentação: está disponível a documentação do TextFlow para que o usuário conheça suas funcionalidades e possa aprender e tirar algumas dúvidas sobre o editor.

Faça o donwload do editor e confira você mesmo as novidades.

Pra mim o IE6 já morreu!

Um pouco de história antes só pra começar o post bem contextualizado. O IE6 foi lançado em 27 de agosto de 2001 com suporte parcial ao CSS 1. Bom acho que com essa longa história já da pra comentar algo em cima.

Vou citar alguns pontos:

  • O browser foi lançado em 2001, disso podemos tirar as seguintes comparações: a primeira especificação a tornar recomendação oficial pelo W3C foi o CSS 1 em dezembro de 1995, para completar temos que o CSS 2 foi oficialmente especificado pelo W3C em maio 1998, com isso já podemos perceber que, em agosto de 2001, o IE6 tinha suporte parcial ao CSS 1 isso 3 anos depois da especificação do CSS 2. A segunda comparação, em 2005 o termo AJAX foi firmado o que resultou na melhoria da experiência de uso dos aplicativos web, porém, já fazia 4 anos que o IE6 havia sido lançado. A terceira (a melhor) comparação: hoje já faz 8 anos que o IE6 foi lançado e, até hoje, não fornece suporte completo ao CSS (já existe a especificação do CSS 2.1 ainda não ofical), e já estão comentando de CSS 3. Para completar o IE7 (lançado em 2006) ainda não está com suporte aos padrões assim como Firefox, Safari, Opera, Chrome e outros oferecem.
  • Não tem suporte à imagens PNG transparentes, para que um site exiba PNG transparentes no IE6 precisa ficar usando Javascript para corrigir esse problema, ou seja, código executando em sua maquina para trazer uma experiência melhor de navegação.
  • Todo, e qualquer desenvolvedor web, odeia fazer com que o site seja compatível com o IE6 por conta dos pontos anteriormente citados. Temos que ficar encontrando hacks e outras maneiras para driblar os problemas por conta do suporte parcial ao CSS e, consequentemente, ao padrões web.
  • Hoje em dia existem muitos browsers de excelente qualidade, rápidos e cheios de recursos, complementos e, de quebra, porém não menos importante com ótimo suporte aos padrões web. Mesmo o IE7 já está de bom tamanho. Por que não se atualizar? Ou mesmo quebrar paradigmas?

Agora que temos alguns pontos para debater, vamos lá. O número de usuários do IE6 vem diminuindo, e isso não está bom? Não, a quantidade de usuários que ainda utilizam essa versão do IE ainda é muito grande para que simplesmente os desenvolvedores, conscientes como devem ser, abandonem essa porção de usuários. E isso acarreta no seguinte problema, enquanto os desenvolvedores preocupados em manter o site acessível para todo mundo, ficam gastando energia e esforço na correção de problemas e procurando soluções e hacks para melhorarem a experiência do usuário que usa o IE6, eles poderiam estar buscando melhores formas de usar as tecnologias atuais e oferecerem serviços ainda melhores para todos os usuários de aplicativos web.

Eu gostaria de entender os motivos e o porquê, ainda hoje, usuários continuam a usar o IE6. Com tantos recursos e novidade surgindo, por quê ainda insistem em não experimentar uma melhor navegação? Eu realmente não consigo navegar como há alguns anos atrás, para mim esse tipo de navegação que tínhamos antigamente não dá mais!

Por isso resolvi tomar a seguinte decisão, a partir de hoje, não vou mais procurar em atender mais os usuários do IE6. Mas espera aí, você não disse que os desenvolvedores web são preocupados com a experiência do usuário? E vai simplesmente ignorar esses usuários que ainda insistem a usar um navegador mais antigo? Sim, mas não totalmente, assim como a Apple já está fazendo, e como sou alguém que preza pela boa experiência de uso dos sites que desenvolvo, vou gentilmente sugerir que eles atualizem ou troquem (melhor opção pra mim) seu navegador web, quando o site for acessado por algum usuário do IE6. E como cada um sabe o que quer, vou deixar uma versão mais básica para que o usuário não fique insatisfeito ao visitar o site e deseja continuar usando o IE6. Caso ele prefira usar um navegador com melhor suporte, buscarei implementar a melhor experiência possível para que o usuário não saia assim tão triste por trocar de navegador, já que ficou usando ele por 8 anos. Não sou tão ruim assim. :)

O computador veio pra facilitar a vida de muita gente, por isso sempre existe algo sendo inventado e melhorado. Mas isso só ocorre quando os usuários realmente desejam. Não adianta nada fazermos um aplicativo web bem acabado, procurando a melhor experiência para o usuário se ele não pode ter isso, consequentemente, temos que procurar uma solução não completa.

Com diz uma frase: “Me ajuda a te ajudar!” Isso que vim pedir aqui hoje.

Referências:

Mais informações sobre o assunto:

Até a próxima.