[SP-pm] [was: Validar session no Catalyst] Compartilhando experiências com frameworks web em produção

Eden Cardim edencardim at gmail.com
Fri Jul 15 07:02:40 PDT 2011


>>>>> "Nelson" == Nelson Ferraz <nferraz em gmail.com> writes:

    Nelson> Eu quero saber como é que o sujeito que *não* estudou computação e mal
    Nelson> sabe HTML -- ou seja, 99% da população -- vai usar o Catalyst.

    Nelson> Vamos fazer o seguinte exercício: uma página web simples, com um
    Nelson> formulário que ao ser enviado responda "Hello, $nome!". É assim que a
    Nelson> maioria das pessoas vai tomar o primeiro contato com o seu framework.

<modo aprendiz on>

Vamux!!

    Nelson> 1) PHP

    Nelson> Abra um editor de texto e salve estes dois arquivos, em qualquer lugar:

    Nelson> ==== index.php =====

    Nelson> <form method="post" action="hello.php">
    Nelson>   <input type="text" name="name">
    Nelson>   <input type="submit">
    Nelson> </form>

    Nelson> ==== /index.php =====


    Nelson> ==== hello.php =====

    Nelson> <h1><?php echo( $_POST["name"] ) ?></h1>

    Nelson> ==== /hello.php =====

    Nelson> Isso é tudo. Dois arquivos, em qualquer lugar, e está funcionando.

Coloquei os arquivus no pen e clk duas vezes, apareceu o word com os
codigus dentro. No internet explorar tb aparece só os codigus.

    Nelson> 2) Mojolicious::Lite

    Nelson> ==== hello.pl =====

    Nelson> #!/usr/bin/perl

    Nelson> use Mojolicious::Lite;

    Nelson> get '/' => 'index';

    Nelson> post '/hello' => sub {
    Nelson>     my $self = shift;
    Nelson>     my $name = $self->param('name');
    Nelson>     $self->stash( name => $name );
    Nelson> } => 'hello';

    app-> start();

    Nelson> __DATA__
    Nelson> @@ index.html.ep
    Nelson> <form method="post" action="/hello">
    Nelson>   <input type="text" name="name">
    Nelson>   <input type="submit">
    Nelson> </form>

    Nelson> @@ hello.html.ep
    Nelson> <h1>Hello, <%= $name %></h1>

    Nelson> ==== /hello.pl =====

    Nelson> Execute o programa com: ./hello.pl daemon

    Nelson> Isso é tudo. Um arquivo, em qualquer lugar, e está pronto.

Clk em iniciar e dps executar, digitei ./helo.pl daemon e naum aconteceu nada.

    Nelson> 3) Catalyst

    Nelson> Vou seguir o tutorial em
    Nelson> http://search.cpan.org/~bobtfish/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod

Naum sei ler ingleis, naum tem um link em portugueis?

<modo aprendiz off>

    Nelson> parâmetro do request ($c->req->params), pois a informação só aparece
    Nelson> duas páginas do tutorial adiante - WTF???? =====

    Nelson>     sub hello :Path :Args(0) {
    Nelson>         my ( $self, $c ) = @_;

    Nelson>         my $name = $c->req->params->{name};

    Nelson>         $c->stash(
    Nelson>             name => $name,
    Nelson>             template => 'hello.tt',
    Nelson>         );
    Nelson>     }

    Nelson> Create a root/index.tt template file (put it in the root under the
    Nelson> Hello directory that is the base of your application).

    Nelson>     <h1>Hello, [% name %]</h1>

Ok, deixa eu ver se entendi, a documentação está ruim. Mas hmmm, acho eu
já falei isso antes, e hmmm, foi nessa mesma thread! Documentação é só
escrever outra, não precisa re-escrever o framework inteiro.

    Nelson> Isso é tudo... pelo menos eu acho, pois não consegui instalar o
    Nelson> Catalyst no meu Mac [one dependency not OK
    Nelson> (MooseX::Role::WithOverloading)]. WTF?!?!?!?!?!!

Também não consegui instalar o mojolicious no windows, deu um erro
bizarro lá. A app em mojolicious que eu escrevi semana passada não
funciona mais. WTF?!?!?!!

    Nelson> Espero que vocês consigam entender a minha
    Nelson> frustração. Imaginem um usuário iniciante, com pouca
    Nelson> experiência em Perl!

Cara, não dá pra discutir quando você assume que o seu interlocutor é
imbecil. Pode ficar tranquilo, a gente já sabe qual é a reação de um
iniciante sem pré-requisito. Precisa mesmo ficar provando competência
aqui nessa lista? Todo mundo é crescidinho aqui já cara, fala o que tá
errado de forma objetiva e a gente vai lá e resolve.

Eu já te perguntei antes se você acha que tem problema com a
documentação. Era só responder "a documentação não é adequada pra
semi-analfabetos", que aí a gente escreve 2000 linhas de documentação e
resolve o problema. A gente tá numa comunidade onde os recursos são
escassos, então precisa otimizar a alocação.

Aliás, porque você não me dá um patch de documentação invés de ficar
enchendo o saco? O tempo que eu já joguei fora nessa thread marretando
tua cabeça dura dava pra ensinar um frequentador da crackolândia a
construir um foguete.

-- 
   Eden Cardim       Need help with your Catalyst or DBIx::Class project?
  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://blog.edencardim.com/            http://www.shadowcat.co.uk/servers/
http://twitter.com/#!/edenc


More information about the SaoPaulo-pm mailing list