Achei o texto muito interessante e estou repassando…..

Java - Chega, encontra o dragão, desenvolve um framework para aniquilamento de dragoes em multiplas camadas, escreve varios artigos sobre o framework mas nao mata o dragao

.NET – Chega, olha a ideia do Javanes e a copia, tenta matar o dragao, mas é comido pelo reptil

C – Chega, olha para o dragao com olhar de desprezo, puxa seu canivete, degola o dragao, encontra a princesa, mas a ignora para ver os ultimos checkins no cvs do kernel do linux

C++ – cria um canivete basico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender … mata o dragao mas trava no meio da ponte por causa dos memory leaks

COBOL – Chega, olha o dragao, pensa que ta velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora

Pascal - Se prepara durante 10 anos para criar um sistema de aniquilamento de dragao … chegando lá descobre q o programa só aceita lagartixas como entrada

VB – monta uma arma de destruição de dragoes a partir de varios componentes, parte pro pau pra cima do dragao e, na hora H, descobre que a espada só funciona durante noites chuvosas…

PL/SQL – Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos complexidade ternaria, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica

Ruby - chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragao … o dragão come ele de tédio

Smalltalk – chega, analisa o dragao e a princesa, vira as costas e vai embora, pois eles sao muito inferiores.

shell - cria uma arma poderosa para matar os dragoes, mas, na hora H, nao se lembra como usá-la

shell(2) – o cara chega no dragão com um script de 2 linhas que mata, corta, stripa, empala, pica em pedacinhos e impalha o bicho, mas na hora q ele roda o script aumenta, engorda, enfurece, e coloca alcool no fogo do dragão

ASSEMBLY – acha que ta fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão

Fortran – Chega desenvolve uma solução com 45000 linhas de codigo, mata o dragão vai ao encontro da princesa … mas esta o chama de tiuzinho e sai correndo atras do programador java que era elegante e ficou rico

FOX PRO – Desenvolve um sistema para matar o dragão, por fora é bunitinho e funciona, mas por dentro está tudo remendado, quando ele vai executar o aniquilador de dragoes lembra que esqueceu de indexar os DBF

CLIPPER: Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um “Bound Error: Array Access” e o dragão come ele com farinha.

Chega os Analistas de Processos…
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele, e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, qdo na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

Retirado de http://cachina.wordpress.com/

Bem, simplesmente coragem para estudar…

As pessoas vem mal acostumadas com a forma que se vem trabalhando com Web, linguagens como HTML, PHP, asp, .net, passaram por várias tranzições destas a internet sofreu e muita das veses o usuário sem nem perceber foi quem sentiu o maior impacto. Páginas que não abrem, links quebrados, entre outros problemas.

A muito se vinha falando em padronização, mais nada se resolvia, até que o modelo de Orientção a Objetos propos o modelo Model-view-controller(MVC) é um padrão de arquitetura de software. Com o aumento da complexidade das aplicações desenvolvidas torna-se fundamental a separação entre os dados (Model) e o layout (View) então é introduzindo um componente entre os dois: o Controller. Desta forma, alterações feitas no layout não afectam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout.

Então, para pode desenvolver com python em ambiente web, inicialmente precisamos de coragem, muita coragem, se você nunca escreveu nada para web, fique feliz, caso contrário fique tabém, pois agora você realmente ira se surpreender. Várias linguagens de programação nos dias de hoje tem um otimo suporte a ambiente web.

Abaixo uma sequência exemplos de Frameworks para desenvolvimento Agil na WEB.

ActionScript 3

Java

Perl

PHP

Python

Ruby

Neste artigo estaremos dando referência apenas ao Django já que falaremos de desenvolvimento com python. Django é um framework web para desenvolvimento ágil de software(é um conjunto de metodologias de desenvolvimento de software. O desenvolvimento ágil, tal como qualquer metodologia de software, providencia uma estrutura conceitual para reger projetos de engenharia de software.), onde predomina a simplicidade no código, reutilização de código, mais fácil de definir uma documentação por trabalhar com componentes separados.

O Django funciona basicamente em 3 camadas, uma interface de modelagem de dados(Model), uma interface de visualização(Templates) responssável por colocar os dados na tela do usuário e por fim uma de controle na qual trata os dados e informações, operações(metodos) entre as duas outras camadas, dessa forma acaba ficando mais conhecido como MTV(Model-Template-Views).

Como trabalhar com Django?

Ola,

bem percebi que em pouco tempo e o pouco que escrevi já serviu para algumas pessoas, fiquei um pouco assutado com as estatisticas que este blog tomou, desta forma vou esclarecer algumas coisas para que este possa ser melhor aproveitado.

O que?

Este blog foi criado por Cleyton Fábio “aka pixies” estudante de Sistemas de Informação da UFRPE(www.ufrpe.br) campos de Serra Talhada/PE, membro ativo da comunidade de Software Livre em Pernambuco, na qual eu e alguns amigos demos o ponta pé inicial para o antigo Projeto Software Livre Pernambuco (PSL-PE) que hoje tomou outros rumos, ou seja, cresceu!!! Hoje Pernambuco conta com grande força com os GUS(Grupos de Usuários) Debian-PE, Ubuntu-PE, Slackware-PE(qual faço parte), sou usuário Linux a quase 10 anos(aniverssário em dezembro :) ) e tenho envestido meu tempo em estudar. Atualmente tenho trabalhado com projetos paralelos(não comerciais) como o Projeto Rede de Servidores Livre(aletta.descentro.org).

E depois de um bom tempo não querendo embarcar mais não tendo como correr acabei entrando no mundo do desenvolvimento, passei por linguagens como C, PHP, Java e hoje me vejo trabalhando de forma academica com Python(linguagem que me apaixonei) e agora venho tentando me aperfeiçoar. Estou trabalhando atualmente em dois projetos: Aimirim(Sistema de Gestão de Projetos) uma ferramenta Web utilizando python com django e num projeto de Programação/Computação distribuida na área de Bio Informática onde utilziaremos C+Python+Linux(cluster).

O que é este blog?

Bem este blog é um espaço criado por mim, onde resolvi abrir para alguns amigos que depois se apresentarão, o seu conteudo será bem diverso, porem, o seu foco será desenvolvimento, como sofri para conseguir documentação boa em lingua portuguesa iremos documentar nosso trabalho e aqui poderá ser encontrado tutoriais(formais ou informais).

Tabém utilizaremos o repositório do Grupo Slackware PE(www.slack-pe.org/pub) para armazenarmos documentos(manuais, tutoriais mais rebuscados). Em alguns momentos de nostalgia entrará conteudo disprovido de muita informação afinal somos humanos e aqui acola queremos apenas falar bobagem.

Para que?

Então concluindo a minha faladeira, quero dizer que este espaço é para aqueles que simplesmente querem aprender algo ou estão afim de copiar codigos :) sem a preocupação de irmos artaz de alguem por usar meu codigo.

Resumindo é um espaço para todos, e também, quem tiver afim de mandar ver no material e tiver afim de contriuir manda o material para pixies.cflb@gmail.com que eu posto aqui…

Bem vou terminar por aqui se não perco o onibus para a faculdade…

pixies

Bem,

Vou lafar um pouco dos problemas que estou tendo com o Ubuntu 8.04 no desenvolvimento web com Django.

O primeiro é que a versão do Django que esta no repositorio apt dele não é a mais nova, dessa forma se você é um dev das antigas fique tranquilo, mais se esta iniciando no universo maravilhoso do django tera probleminhas(na realidade tera mais dores de cabeça do que problemas mesmo), eu preferi fazer o download no site oficial do projeto www.djangoproject.org.

Bem abaixo um tutorial rapido para instalação:

faça o download do django usando subversio(sistema de controle de versões)

$ svn co http://code.djangoproject.com/svn/django/trunk/

quando terminar de baixar entre no diretorio “trunk”

$ cd trunk

mude suas permissões para administrador “root” execultando “$ su", no ubuntu execulte "$ sudo su" perceba que o indicador da sua shell ira mudar de $ para # mostrando que agora esta como Super Usuário. Desta forma vamos instalar o django, é necessário utilizar root por que na instalação o sistema escreve dentro de diretorio que o usuario comum não pode escrever, então execulte:

$ sudo su

# python setup.py install

testando se a instalação do django foi feita.

# exit

$ django-admin.py startproject seuprojeto

$ cd seuprojeto

$ ls

__init__.py manage.py settings.py urls.py
__init__.pyc settings.pyc urls.pyc

$

Observe se o conteudo for este ae, fica tranquilo tudo deu certinho…

Um problema observado:

quando instalei o django com o apt-get do ubuntu 8.04 foi tranquilo tambem, criei meu projeto e tudo parecia bem, so que a versão não é a mais nova, desta forma alguns problemas na propria sintax do codigo vão lhe encomodar.

QUE FIQUE CLARO: ISSO NÃO É UM PROBLEMA DO UBUNTU, MAIS DA VERSÃO DO DJANGO

Passado por esta fase de instalação temos outra bronca, que é no intanto bem legal ;)

Como o python não roda como PHP e afins, temos que criar hosts virtuais, cada vhost pode ser tambem um projeto, por exemplo, no apache todo diretorio criado dentro de /var/www/htdocs pode ser um projeto diferente, o problema é que não da pra você organizar de forma a simular realmente o seu trabalho, criando hosts virtuais isso fica mais tranquilo, quando começas a indicar diretorios externos do /var/www/htdocs melhorando a performace e escondendo seus codigos python de possiveis curiosos(isso não quer dizer que seu codigo é fechado :) ), o lance é se seus codigos ficarem expostos, qualquer um pode ler e por exemplo conseguir pegar informações como login e senha do banco de dados.

Então voltando ao problema…

Para instalar o mod_python no apache utilizei o apt-get ;) ja que estou usando ubuntu então usufruir do que eles te dizem que é bom… mais fique tranquilo vai funcionar.

Então, mod_python funcionando ta na hora de configurar o danado do vost.

$ sudo su

# nano /etc/apache2/apache2.conf

adicione no final do apache2.conf

Include /etc/apache2/vhost/vhost.conf

sauve e feiche o nano, admito que você ja sabe fazer isso ;)

perceba que voce adicionou um caminho no apache2, tranquilo, então entre no diretorio /etc/apache2 listando o conteudo do diretorio
observará que não existe o direotorio vhost vamos criar:

# pdw

/etc/apache2

# mkdir vhost

# cd vhost

# touch vhost.conf

note que o comando touch cria um arquivo de texto em branco, e é nele que vamos mostar nosso vhost.

# nano vhost.conf

<Location “/seuprojeto/”> # aqui ira o nome da localização do endereço, exe: localhost/seuprojeto
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE seuprojeto.settings # observe este indicara o setting no seu projeto
SetEnv PYTHON_EGG_CACHE /tmp
PythonInterpreter olga
PythonDebug Off # para testar deixe On mais depois deixe Off
PythonPath “['/home/usuario/'] + sys.path” # pronto aqui é que fica lindo… se o seu projeto estiver solto dentro da raiz do usuario, deixe apenas assim, se estiver dentro de uma outra pasta coloque o caminho certo, mais nunca coloque o nome do seu projeto aqui, pois não ira funcionar.

</Location>
BEM OUTRO PROBLEMA OBSERVADO

O mod_python ficou meio tosco “espero que vocês não tenham o mesmo problema que eu” mais hora funciona hora nao funciona, isso aqui no ubuntu 8.04, temos um servidor onde esta rodando aplicações django com slackware e nao da problemas aletta.descentro.org .

então sempre que tenho problemas com o mod_python ou seja, quando você abrir seu projeto no firefox e der erro 404 pode ser o mod_python.

COMO RESOLVER?

Como estou testando a ferramenta, não me preocupo muito com isso, dessa forma rodo o servidor de testes do django e fico tranquilo, pois não da erro algum ;)

$ python manage.py runserver

dentro do diretorio do projeto

da você acessa localhost:8000/seuprojeto

SIM MAIS UMA BRONCA

O Ubuntu 8.04 vem com o firefox 3beta5 e na boa ele não ta bom, remova usando o proprio apt-get e instale o firefox-2 “apt-get install firefox-2″

Espero ter ajudado, duvidas no não entendimento deste texto, nem eu seu se entenderia mande comentários com suas duvidas que no que poder ajudar to ae ;)

E outra coisa, todos os problemas que tive com o Ubuntu 8.04 não são broncas criticas do sistema, são na realidade problemas que te irritam mais todos passiveis a correção.

pixies @ slack-pe

www.slack-pe.org

quem madou eu ir usar ubuntu ;)

Bem,

estou tendo problemas com django, usando o notebook do meu irmão, e rodando ubuntu 8.04 tive uns probleminha. Rodei e por pregiça e achar q o apt-get facilita sua vida, fui la eu, e apetegetei no django:

#apt-get install python-django

até então foi tranquilo, dae fui configurar o apache entre outras coisas, acabei levando um tempo a mais e fui descanssar, quando de veras vim desenvolver acabei percebendo que o django não funcionava, o ubuntu garante que é a versão mais nova, mais ele da logo um problema que é referente a versão mais antiga quando vamos construir as tabelas no banco de dados, da erro no ‘max_length()’.

desta forma estou eu agora baixando o truck mais recente do svn do projeto.

qualquer bronca ou solução posto

Primeiro post

maio 1, 2008

Bem,

Hoje estou eu, começando no mundo django, e estou gostando, neste espaço eu e mais alguns amigos estaremos publicando informações sobre desenvolvimento, seja Estruturado, Orientado a Ganbiarra, Orientado a Objetos ou o que mais aparecer por ae…

Esta é a primeira publicação…