[SP-pm] CGI

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Maio 1 00:57:57 PDT 2007


On Apr 28, 2007, at 6:30 PM, André Walker wrote:
> Luis Motta Campos escreveu:
>> CGI é a sigla para Common Gateway Interface. Na lista, chamamos  
>> "CGI" qualquer programa que implemente este padrão.
> Bom, que CGI é Common Gateway Interface eu já sabia, mas o que  
> exatamente é isso era o que eu queria saber... hehe

   CGI é um "padrão de comunicação" que estabelece um "protocolo" que  
permite a um programa (o webserver - apache, por exemplo) chamar  
outros programas, passar um conjunto de parâmetros (pelo STDIN e  
variáveis de ambiente) e recolher o resultado (presumivelmente uma  
página HTML) no STDOUT.

>> Você deve conhecer muitos (...) cada uma das 12(?) etapas de um  
>> request, como você já deve saber.
> $email_do_champs =~ s/deve (saber|conhecer)/deveria $1/g;
> Só pra esclarecer, sou estudante, não trabalho com perl, não  
> trabalho at all, passo meus dias estudando entediosamente java,  
> criação de sites, e outras coisas muito mais chatas do que perl,  
> porque achei que entrando pra um curso técnico de informática seria  
> tão legal quanto estudar perl por conta... é a vida né...

   Ninguém nasce sabendo. Aqui: http://perl.apache.org/ divirta-se,  
eles falam tudo sobre ModPerl. Em inglês, claro. ;-)

   Sobre Java: a linguagem é um lixo, os programadores não costumam  
aprender nada e nem compreendem mais como deveria funcionar um  
computador, mas é o que o Mercado Brasileiro oferece de melhor. Te  
desejo boa sorte.

>> Não, isso não é o "contrário" de coisa nenhuma, isto não pode ser  
>> enunciado como uma Álgebra... ;-) ModPerl é um conjunto de  
>> bibliotecas (para Perl e para o Apache) que permite que se  
>> escrevam extensões para o Apache em Perl,
> Humm, eu achava que era... Achava que no ModPerl o Perl vinha  
> embutido no apache, ou algo do tipo... já vi comparações de  
> velocidade entre php, mod_perl e perl/cgi, e no artigo tinha  
> entendido algo assim... mas enfim, acho que agora estou só um pouco  
> mais perdido, haha...

   É mais complicado do que isso, e agora não vale à pena te explicar  
completamente. Sim, o interpretador Perl está "embutido" no Apache,  
através de dynamic linking (uma técnica de construção de programas  
muito antiga mas muito utilizada até hoje). Procure sobre isso na  
WikiPedia se quiser saber mais.

   Sobre as comparações de velocidade: esquece, isso é merda. Ninguém  
pode comparar pêras e bananas para saber qual é a fruta "mais  
gostosa": se bem usadas, todas as ferrametas vão resolver seu problema.

>> O CGI::Application é interessantinho, mas é uma classe de muito  
>> baixo nível. Você precisa extender ele bastante para que ele  
>> comece a dar bons resultados. Na mão de um novato, é desastre na  
>> certa. Agora, se você tem uns anitos de estrada, sabe quem são os  
>> "Quatro Amigos", conhece RUP e usa Test-Driven development, vai  
>> conseguir usar isto sem grandes dificuldades.
> Uns anitos? Serve dois? Hahaha, acho que na minha mão isso é um  
> desastre na certa então...
> Não faço a menor idéia de quem são os Quatro Amigos, nem RUP, e já  
> ouvi falar em Test-Driven development, e o nome já indica alguma  
> coisa...

   Gang of Four (or GoF) are Erich Gamma, Richard Helm, Ralph Johnson  
and John Vlissides, authors of the seminal book Design Patterns.
   http://en.wikipedia.org/wiki/Erich_Gamma
   http://en.wikipedia.org/wiki/Richard_Helm
   http://en.wikipedia.org/wiki/Ralph_Johnson
   http://en.wikipedia.org/wiki/John_Vlissides

   RUP: http://en.wikipedia.org/wiki/RUP
   Design Patterns: http://en.wikipedia.org/wiki/Design_Patterns
   E você já conhece Test-Driven development, então deve saber onde  
estão os links ;-)

> E quanto ao Catalyst obrigar a modularizar, talvez realmente seja  
> melhor... tenho um arquivo com 1339 linhas... já é demais né?  
> huaihaiha

   Eu tenho arquivos de mais de 1000 linhas, mas 80% é  
documentação... :-P

   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




Mais detalhes sobre a lista de discussão SaoPaulo-pm