[SP-pm] Software livre em Perl

Andre Carneiro andregarciacarneiro at gmail.com
Thu Oct 6 06:46:36 PDT 2011


Pelo que eu entendi o Mantovani estava generalizando o problema de
paralelizar coisas, substituindo threads pelo AnyEvent. Eu só lembrei que
compartilhar variáveis com o AnyEvent exige mais esforço do que com
threads(até onde eu sei). Nesse caso eu estava sim me referindo ao fork_call
do AnyEvent::Util. Eu tentei sem muito sucesso usar o SysV para resolver
isso, mas tive vários problemas porque me faltam alguns conceitos do próprio
SysV. Como eu não tive tempo de resolver isso, e não vi outra solução eu
continuo dizendo que não rola compartilhar variáveis entre processos de
maneira tranquila como quando se usa threads.



Cheers!





2011/10/6 Stanislaw Pusep <creaktive at gmail.com>

> Ué, que tipo de problemas? Você deve estar se referindo ao
> AnyEvent::Util::fork_call(); mas aí é *OUTRA* história... Se for usar
> AnyEvent para paralelizar I/O (afinal, AnyEvent serve primeiramente para
> isso), jamais se esbarra nisso... Já para paralelizar processamento, a
> situação mais comum é mandar lote de tranqueira para processar, fritar CPU e
> retornar resultado. Ou seja: também não requer compartilhar variáveis, a
> princípio.
>
> ABS()
>
>
>
>
> 2011/10/6 Andre Carneiro <andregarciacarneiro at gmail.com>
>
>> Não, Mantovani.
>>
>> Quase tudo! Se você precisar compartilhar variáveis, terá problemas!
>>
>> Cheers!
>>
>>
>> 2011/10/6 Daniel de Oliveira Mantovani <
>> daniel.oliveira.mantovani at gmail.com>
>>
>>> Só mais uma coisa,
>>>
>>> 6º Se fosse *eu* abstrairia tudo o que você usou threads com Any::Event,
>>> as pessoas geralmente não tem o compilador com a opção de threads porque
>>> deixa o compilador mais lento[1] :S. Com Any::Event você faria o que você
>>> fez mais sem usar threads, o Any::Event se viraria. Olha esse artigo,
>>> http://sao-paulo.pm.org/equinocio/2011/set/13
>>> Mas assim, é só a minha opinião.
>>>
>>> [1] http://www.perl.com/pub/2002/09/04/threads.html
>>>
>>>
>>>
>>> 2011/10/6 Daniel de Oliveira Mantovani <
>>> daniel.oliveira.mantovani at gmail.com>
>>>
>>>> s/bani/bati/;
>>>>
>>>>
>>>> 2011/10/6 Daniel de Oliveira Mantovani <
>>>> daniel.oliveira.mantovani at gmail.com>
>>>>
>>>>> Parabéns \o!
>>>>>
>>>>> Li o seu código fonte e tenho algumas dicas essenciais para o seu
>>>>> software,
>>>>>
>>>>> 1º Não use expressões regulares para lidar com o html.
>>>>> https://metacpan.org/module/HTML::TreeBuilder::XPath
>>>>> Você pode reescrever todo o seu Uniscan::Crawler usando 90% do código
>>>>> que você usou. ;)
>>>>>
>>>>> 2º Use o https://metacpan.org/module/Config::Any para parsear o seu
>>>>> arquivo de configuração.
>>>>>
>>>>> 3º Você escreveu a classe Uniscan::HTTP atoa,
>>>>> https://metacpan.org/module/WWW::Mechanize
>>>>>
>>>>> 4º Você está usando Moose nas classes, evite usar variáveis globais
>>>>> para instanciar classes, crie atributos. Olha um exemplo
>>>>> no Unican::Stress:
>>>>> our $func = Uniscan::Functions->new();
>>>>> has 'functions' => (is => 'ro', isa => 'Object', default => sub {
>>>>> Uniscan::Functions->new });
>>>>>
>>>>> 5º No seu script uniscan.pl você tem uma função chamada "background",
>>>>> você ignore alguns sinais e faz um fork da aplicação deixando deixando a
>>>>> criança viva e matando o pai.
>>>>> Acho que você deveria dar uma lida no meu artigo sobre daemons,
>>>>> http://sao-paulo.pm.org/artigo/2011/DivertindosecomDaemons
>>>>> Parabéns de ter setado o sinal CHLD para "null" mas você sabe o porque
>>>>> disso ?
>>>>> http://www.win.tue.nl/~aeb/linux/lk/lk-5.html ( 5.5 Voodoo: wait and
>>>>> SIGCHLD )
>>>>>
>>>>> Pelo que eu bani o olho foi isso que eu encontrei, boa sorte!
>>>>>
>>>>> []'s!
>>>>>
>>>>> 2011/10/5 Junior Moraes <juniiior182 at gmail.com>
>>>>> >
>>>>> > Fala, poerschke! Você por aqui hahahah.
>>>>> >
>>>>> > O projeto evoluiu muito desde que comentei sobre ele lá no
>>>>> forum-invaders. Parabéns! :-)
>>>>> > Coloca no github pra galera poder forkar.
>>>>> >
>>>>> > Mais uma vez, parabéns. Evoluiu muito mesmo desde a última vez que o
>>>>> vi!
>>>>> >
>>>>> > []'s
>>>>> >
>>>>> >
>>>>> > Em 5 de outubro de 2011 11:02, Thiago Rondon <thiago at aware.com.br>
>>>>> escreveu:
>>>>> >>
>>>>> >> On Wed, Oct 05, 2011 at 11:04:37AM -0300, Douglas Poerschke Rocha
>>>>> wrote:
>>>>> >> >    Ola pessoal,
>>>>> >> >    Em junho deste ano criei o meu primeiro projeto de software
>>>>> livre
>>>>> >> >    (Uniscan), o Uniscan e um scanner de vulnerabilidades
>>>>> multi-threaded
>>>>> >> >    escrito em Perl para ser executado a partir do linux(nao testei
>>>>> em outras
>>>>> >> >    plataformas).
>>>>> >> >    Estou enviando este e-mail para que voces possam conhecer, dar
>>>>> dicas e
>>>>> >> >    sugestoes para melhoria da ferramenta.
>>>>> >> >    Segue o link para o projeto: www.uniscan.com.br
>>>>> >>
>>>>> >> Parabéns Douglas !
>>>>> >>
>>>>> >> Você não quer participar do YAPC::Brasil este ano ? Submeta uma
>>>>> palestra
>>>>> >> sobre o teu produto, seria muito bacana de aprendermos mais sobre
>>>>> ele lá!
>>>>> >>
>>>>> >> http://www.yapcbrasil.org.br/2011/
>>>>> >>
>>>>> >> abs!
>>>>> >> -Thiago Rondon
>>>>> >>
>>>>> >> =begin disclaimer
>>>>> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> >> =end disclaimer
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Junior "fvox" Moraes.
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > =begin disclaimer
>>>>> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> > =end disclaimer
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> http://noticiasglobal.com
>>>>>
>>>>> "If you’ve never written anything thoughtful, then you’ve never had any
>>>>> difficult, important, or interesting thoughts. That’s the secret: people who
>>>>> don’t write, are people who don’t think."
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> http://noticiasglobal.com
>>>>
>>>> "If you’ve never written anything thoughtful, then you’ve never had any
>>>> difficult, important, or interesting thoughts. That’s the secret: people who
>>>> don’t write, are people who don’t think."
>>>>
>>>
>>>
>>>
>>> --
>>> http://noticiasglobal.com
>>>
>>> "If you’ve never written anything thoughtful, then you’ve never had any
>>> difficult, important, or interesting thoughts. That’s the secret: people who
>>> don’t write, are people who don’t think."
>>>
>>> =begin disclaimer
>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> André Garcia Carneiro
>> Analista/Desenvolvedor Perl
>> (11)82907780
>>
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
André Garcia Carneiro
Analista/Desenvolvedor Perl
(11)82907780
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20111006/477acf49/attachment.html>


More information about the SaoPaulo-pm mailing list