Valeu, como eu disse, vou continuar tentando, mas nada de debugar erro aqui, deixa comigo.<br><br>Eu so queria saber mesmo se existe algum curso. Quando mandei os emais para ca ja tinha os dois livros, as duas listagens de codigos e ja tinha apanhado bastante sozinho aqui na minha e sei que na lista nao vai muda muito pq debugar coisas assim em lista e osso. Obrigado pela ajuda, de qualquer forma. Vou me virar aqui já que nada de curso.<br>
<br>Quando eu coloco as mensagens de erros em foruns e tudo mais eu consigo resolver os problemas, mas o problema é com os códigos que vem prontos pra baixar que não rodam de primeira. Fazendo passo a passo pelo livro funciona. Isso é que me preocupa. Um dia o meu programa vai estar pronto para baixar e o meu cliente não vai poder fazer tudo passo a passo numa instalação nova do catalyst para que funcione. Vai ter que baixar e instalar e fazer funcinar de primeira.<br>
<br><div class="gmail_quote">2010/5/17 breno <span dir="ltr"><<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Oi Glauber,<br>
<br>
Sei como é frustrante tentar aprender algo e ver outros te mandando<br>
RTFM. As vezes ficamos viciados em um código, bug ou conceito e<br>
bastariam 5 minutos conversando com alguém de verdade (e não com um<br>
livro ou tutorial) sobre o tema para clarificar tudo. Sobre cursos,<br>
realmente a maioria do treinamento é feito diretamente em empresas, e<br>
há uma deficiência em turmas públicas de Perl 5 moderno no Brasil.<br>
Mas, quanto aos problemas específicos, quanto ao falar com outra<br>
pessoa ou ter um outro par de olhos analisando o problema, é por isso<br>
que estamos aqui!<br>
<br>
Como a questão dos cursos já foi mencionada nessa e em outra thread,<br>
vou me concentrar na mensagem de erro que vc está recebendo. A<br>
primeira coisa que vale mencionar é que você precisa nos ajudar a te<br>
ajudar. Dizer apenas que "não está funcionando" é complicado e<br>
dificilmente trará respostas mais abrangentes do que "leia o manual X"<br>
ou "será que é typo? Baixe o código do site oficial". O que não<br>
funcionou? O que o livro diz que deveria acontecer e o que acontece em<br>
vez disso? Ou será que algum módulo deu erro durante a instalação?<br>
Quanto mais específica for sua mensagem, mais específica serão as<br>
respostas.<br>
<br>
O livro a que se refere, "Catalyst: Accelerating Perl Web Application<br>
Development", de 2007, não condiz inteiramente com o estado atual do<br>
Catalyst, que possui muitas novas features e práticas de<br>
desenvolvimento não abordadas nele. Mesmo assim, a comunidade de<br>
desenvolvimento do Catalyst tem uma **preocupação muito grande com<br>
compatibilidade para trás**, então isso não é desculpa para um exemplo<br>
no livro não funcionar. O problema é que o livro contém muitos erros,<br>
de digitação a código, atribuidos aos editores/revisores do material<br>
(e não ao autor) - basta olhar a página de "reviews" da Amazon sobre o<br>
livro para ver os detalhes sórdidos.<br>
<br>
A errata oficial do livro contém mais de 33 entradas e pode ser encontrada aqui:<br>
<br>
<a href="https://www.packtpub.com/support?nid=1092" target="_blank">https://www.packtpub.com/support?nid=1092</a><br>
<br>
Por favor veja se o seu erro é resolvido com o conteúdo do link acima.<br>
<br>
Particularmente, eu ignoraria esse livro completamente e iria para o<br>
<div class="im">"The Definitive Guide to Catalyst: Writing Extensible, Scalable and<br>
</div>Maintainable Perl–Based Web Applications", que é considerado de muito<br>
mais leitura e entendimento, com conteúdo atualizado e confiável<br>
(possui errata como qualquer outro livro, mas ela é bem menor :-).<br>
<br>
Mas voltando ao erro. O capítulo 6 tem dois exemplos,<br>
"chapter6-AddressBook" e "chapter6-Blog". Quando tentei rodar o<br>
primeiro, recebi o seguinte erro:<br>
<br>
---------8<---------<br>
$ perl script/<a href="http://addressbook_server.pl" target="_blank">addressbook_server.pl</a> -d<br>
Catalyst::Plugin::Authentication::Store::DBIC uses NEXT, which is<br>
deprecated. Please see the Class::C3::Adopt::NEXT documentation for<br>
details. NEXT used at<br>
/usr/local/share/perl/5.10.0/Catalyst/Plugin/Authentication/Store/DBIC.pm<br>
line 36<br>
Base class package "Catalyst::Model::DBI" is empty.<br>
(Perhaps you need to 'use' the module which defines that package first,<br>
or make that module available in @INC (@INC contains:<br>
/home/garu/Downloads/cat/0956_Code/chapter6-AddressBook/script/../lib<br>
/etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0<br>
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10<br>
/usr/share/perl/5.10 /usr/local/lib/site_perl .).<br>
at /home/garu/Downloads/cat/0956_Code/chapter6-AddressBook/script/../lib/AddressBook/Model/AddressDBI.pm<br>
line 4<br>
BEGIN failed--compilation aborted at<br>
/home/garu/Downloads/cat/0956_Code/chapter6-AddressBook/script/../lib/AddressBook/Model/AddressDBI.pm<br>
line 4.<br>
Compilation failed in require at<br>
/usr/local/share/perl/5.10.0/Catalyst/Utils.pm line 281.<br>
Compilation failed in require at script/<a href="http://addressbook_server.pl" target="_blank">addressbook_server.pl</a> line 53.<br>
--------->8---------<br>
<br>
A primeira mensagem é um aviso (warning) de que o módulo utilizado<br>
(Catalyst::Plugin::Authentication::Store::DBIC) usa o NEXT, que é<br>
considerado obsoleto hoje em dia. De fato, procurando por<br>
"Catalyst::Plugin::Authentication::Store::DBIC" no CPAN<br>
(<a href="http://search.cpan.org" target="_blank">http://search.cpan.org</a>), vemos que há uma mensagem de aviso de que<br>
este módulo é obsoleto e que devemos utilizar o<br>
Catalyst::Authentication::Store::DBIx::Class em seu lugar.<br>
<br>
A errata do livro acusa ausência da linha:<br>
<br>
password_field => 'password',<br>
<br>
que deve ser adicionada logo acima da linha 27 do lib/AddressBook.pm, que diz:<br>
<br>
password_type => 'clear', # use salted_hash for real applications<br>
<br>
A segunda mensagem diz:<br>
<br>
Base class package "Catalyst::Model::DBI" is empty.<br>
(Perhaps you need to 'use' the module which defines that package first,<br>
or make that module available in @INC (@INC contains:<br>
/home/garu/Downloads/cat/0956_Code/chapter6-AddressBook/script/../lib<br>
/etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0<br>
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10<br>
/usr/share/perl/5.10 /usr/local/lib/site_perl .).<br>
<br>
que significa que um módulo herda de Catalyst::Model::DBI, mas este<br>
útimo não está instalado. De fato, não tinha ele aqui e ele não está<br>
no Makefile.PL do exemplo (outra entrada para a errata do livro?)<br>
<br>
Depois de instalar o "Catalyst::Model::DBI" na minha máquina, o<br>
exemplo carregou, e parece funcionar sem maiores problemas (não testei<br>
mais a fundo).<br>
<br>
Ok, um a menos, vamos ao segundo exempo. Vale notar que rodei o<br>
segundo apenas depois das correções acima. A mensagem que recebi foi<br>
essa:<br>
<br>
---------8<---------<br>
$ perl script/<a href="http://blog_server.pl" target="_blank">blog_server.pl</a> -d<br>
Blog::Model::Filesystem uses NEXT, which is deprecated. Please see the<br>
Class::C3::Adopt::NEXT documentation for details. NEXT used at<br>
/home/garu/Downloads/cat/0956_Code/chapter6-Blog/script/../lib/Blog/Model/Filesystem.pm<br>
line 49<br>
Couldn't instantiate component "Blog::Model::Filesystem", "base<br>
/tmp/test does not exist at /usr/local/share/perl/5.10.0/Catalyst.pm<br>
line 2507"Compilation failed in require at script/<a href="http://blog_server.pl" target="_blank">blog_server.pl</a> line<br>
53.<br>
--------->8---------<br>
<br>
Ok, o primeiro é nosso warning sobre o NEXT. O segundo afirma que o<br>
caminho "/tmp/test" não existe, e o módulo do livro (o tal<br>
Blog::Model::Filesystem) usa esse diretório como base. Uma vez criado,<br>
o demo rodou sem problemas (supondo que o código inicial deva apenas<br>
exibir "Blog").<br>
<br>
Espero ter ajudado! Se tiver mais algum problema, por favor não hesite<br>
em perguntar.<br>
<br>
[]s<br>
<br>
-b<br>
<br>
2010/5/17 Glauber Machado Rodrigues (Ananda) <<a href="mailto:glauber.rodrigues@gmail.com">glauber.rodrigues@gmail.com</a>>:<br>
<div><div></div><div class="h5">> Confirmando, baixei os códigos de novo, deixe perl Makefile.PL neles, make e<br>
> run no exemplo do caplitulo 6 e nada. Isso me deixa em dúvida no quando os<br>
> scripts são portáveis por aí, mas whatever, eu só queria um curso e nego vem<br>
> me mandar fazer dever de casa. Que saco.<br>
><br>
> 2010/5/17 Glauber Machado Rodrigues (Ananda) <<a href="mailto:glauber.rodrigues@gmail.com">glauber.rodrigues@gmail.com</a>><br>
>><br>
>><br>
>> 2010/5/17 Lindolfo "Lorn" Rodrigues <<a href="http://lorn.br" target="_blank">lorn.br</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>><br>
>>><br>
>>> Glauber,<br>
>>> Acho que você não entendeu minha mensagem, a maioria dos livros tecnicos<br>
>>> costumam colocar o código fonte escrito no livro para download, o livro de<br>
>>> catalyst que você está lendo tem todo o código fonte<br>
>>> aqui: <a href="http://apress.com/book/downloadfile/4439" target="_blank">http://apress.com/book/downloadfile/4439</a><br>
>>> O outro eu deixo como lição de casa você baixar e usar :)<br>
>>> Aí não tem como errar.<br>
>><br>
>><br>
>> Acho que você não entendeu a minha. O código não funfou, o do livro, o do<br>
>> capítulo que eu falei. Não comigo.<br>
>><br>
>><br>
>> --<br>
>> Glauber Machado Rodrigues<br>
>> (Só mais um filho de Deus)<br>
>><br>
>> skype: glauber.rodrigues<br>
><br>
><br>
><br>
> --<br>
> Glauber Machado Rodrigues<br>
> (Só mais um filho de Deus)<br>
><br>
> skype: glauber.rodrigues<br>
><br>
</div></div><div><div></div><div class="h5">> _______________________________________________<br>
> Cascavel-pm mailing list<br>
> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
><br>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Glauber Machado Rodrigues<br>(Só mais um filho de Deus)<br><br>skype: glauber.rodrigues<br>