Offtopicamente<br>vocês sabiam, que o criador do TT anda de skate e outros esportes de prancha, e até parece ser socialmente aceito, que quebra de paradigma nerd não? :P<br>Site dele <a href="http://www.andywardley.com/">http://www.andywardley.com/
</a><br><br><div><span class="gmail_quote">On 6/7/07, <b class="gmail_sendername">Luis Motta Campos</b> <<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Jun 7, 2007, at 2:30 AM, Donato Azevedo wrote:<br>> On 6/5/07, Luis Motta Campos <<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>> wrote:<br>[snip]<br>>> Vamos ver: você tem um problema, tem uma restrição de modelagem
<br>>> sobre uma interface muito ruim. Fica esperto com race-conditions,<br>>> elas vão aparecer conforme o volume de operações cresça o bastante.<br>><br>> A principio nao pensei em ser thread safe, mas vou dar uma olhada
<br>> pra melhorar,<br>> conheço um pouco sobre locking em perl, mas nada muito evoluido (uso o<br>> flock com handles para arquivo para criar exclusão mútua.. fiz isso<br>> num aplicativo e funfou beleza..)<br>
<br> Se você tem um problema do tipo Produtor-Consumidor onde múltiplos<br>agentes trabalham ao mesmo tempo para obter qualquer objetivo que<br>seja, PRECISA ser THREAD SAFE.<br><br> Mas note que isso não é o fim do mundo. :-)
<br> Por exemplo, você pode implementar um sistema de locking<br>colaborativo, em que as pessoas respeitam os locks sem que a gente<br>precise chutar programas mal-comportados. Isto é normalmente o<br>bastante para resolver seu problema.
<br><br> Das varias implementações disponíveis no CPAN, a que eu achei mais<br>interessante é a IPC::Lock [<a href="http://search.cpan.org/~earl/IPC-">http://search.cpan.org/~earl/IPC-</a><br>Lock-0.14/lib/IPC/Lock.pm]. Mas você vai precisar implementar seu
<br>mecanismo de locking por sua conta. :-)<br><br>>> Sua aproximação ainda tem mais código do que eu acho que deveria,<br>>> mas está boa. Não vejo grandes comentários para fazer em termos de<br>>> modelagem. Tente escrever perl mais como perl e menos como java...
<br>>> talvez ajude a enxugar um pouco seu código. Mas isto é estilo, não<br>>> tem nada a ver com a solução do problema em si.<br>><br>> Tou aprendendo... mas java??? Luis, vou ficar ofendido heim!!!<br>
> brincadeira,<br>> Eu acho que tou pensando muito em C++...<br><br> Sim, seu Perl parece com alguma coisa assim.<br><br>> Quando voce diz escrever mais como perl, voce diz, tentar usar mais<br>> mágica?<br>
<br> NÃO. Siga os Best Practices, meu caro... ;-) depois, a coisa flui<br>naturalmente.<br><br>> Preciso de ver código pra absorver mais, vou dar uma olhada em<br>> coisas da CPAN...<br><br> Hum. Cuidado com o que você vai olhar.
<br> Não olhe para o CGI, DBI, DBD::*. Todos estes são péssimos exemplos.<br> Eu recomendo que você veja o código do FGlock, e recomendo as<br>classes de XML::Compiler implementadas pelo Mark Overmeer (MARKOV).<br>Também gosto do que o Andy Wardley escreve, como as classes do
<br>Template Toolkit.<br><br> Alguém mais sugere bons exemplos de código estéticamente<br>apresentável no CPAN?<br><br> Putamplexos!<br>--<br>Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,<br>Perl fanatic evangelist, and amateur {cook, photographer}
<br><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">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br></blockquote></div><br><br clear="all"><br>-- <br>Lindolfo "Lorn" Rodrigues<br>- <a href="http://www.slackwarezine.com.br">www.slackwarezine.com.br</a><br>- <a href="http://lornlab.org">http://lornlab.org
</a><br>- <a href="http://sao-paulo.pm.org">http://sao-paulo.pm.org</a><br>use Catalyst;