Seja um Perl core hackeré (muito) mais fácil do que você pensa!
Breno G. de Oliveira@garu_rj
Rituais de Passagem
Rituais de Passagem
“Alo, Mundo!”
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPAN
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templates
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templatesFazer seu próprio framework web
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templatesFazer seu próprio framework webFazer seu próprio tratamento de exceções
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templatesFazer seu próprio framework webFazer seu próprio tratamento de exceçõescontribuir com o código do perl em si
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templatesFazer seu próprio framework webFazer seu próprio tratamento de exceçõescontribuir com o código do perl em si
Perl Core Hacking
Mitos do Core Hacking
Exige conhecimentos avançados de PerlPrecisa saber programar em CPrecisa dominar as entranhas do códigoPrecisa fazer parte do “clube”
FUD
7.6%
21.5%
0.6%5.1%
65.2%
Severidade dos tiquetes do Perl 5
baixa wishlist outras média alta
https://rt.perl.org/rt3/NoAuth/perl5/Overview.html
Inalcançável? Nem tanto ;-)
perl5160delta
Minha primeira contribuição:
commit 959e56628cef2f8ac6555eee22b57e3ce02d9c7fAuthor: Breno G. de Oliveira <[email protected]>Date: Sat May 19 09:29:11 2012 -0400
minor tag consistency fixes for perldelta.pod
Você também pode contribuir!
Você também pode contribuir HOJE!
Repositório oficial:
% git clone git://perl5.git.perl.org/perl.git perl
ou... “Fork us on Github”!
https://github.com/mirrors/perl% git clone [email protected]:mirrors/perl.git perl
% git pull% perldoc Porting/todo.pod
Algumas Tarefas (todo.pod)
Corrigir erros de POD na documentação oficial
Automatizar geração do perldelta
Refatorar testes no t/ para usar o t/test.pl
Escrever descrição para todos os testes
code profiling no script “installman”
configurar instalações Windows usando PowerShell
...MUITO mais!
http://tiny.cc/perl5
“tíquetes que não precisam experiênciacom C, perlguts ou sistemas operacionais”
Algumas Tarefas (RT)
Escrever diagnósticos não listados no perldiag.pod
registrar features experimentais no perlexperiment.pod
Escrever teste para cobertura do README
Criar hook no git commit para previnir mudanças na “esquerda” de um merge
Já sei o que fazer!Mas... e agora?
% git checkout blead% git pull
% git checkout blead% git pull% git checkout -b meunome/descricao
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
% ./Configure -des -Dusedevel% make test
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
% ./Configure -des -Dusedevel% make test
Continue até os testes passarem :)
É a sua primeira vez?Adicione-se no arquivo ‘AUTHORS’
% git diff AUTHORSdiff --git a/AUTHORS b/AUTHORSindex b448713..3a47bf2 100644--- a/AUTHORS+++ b/AUTHORS@@ -149,6 +149,7 @@ Bradley Dean <[email protected]> Bram <[email protected]> Brendan O'Dea <[email protected]> Brent B. Powers <[email protected]>+Breno G. de Oliveira <[email protected]> Brent Dax <[email protected]> Brooks D Boyd Brian Callaghan <[email protected]>
% make test_porting
% git commit -a% git format-patch -M origin..
isso vai gerar um arquivo .patch
Envie seu .patch em um email para [email protected] uma descrição (em inglês!) das mudanças
SEU NOME AQUI
Mais informações (perldoc)
perlgit- informações detalhadas sobre git e o repo Perl
perlhack- como fuçar e editar o Perl
perlsource- descreve a estrutura (árvore) do fonte do Perl
(bonus track)
Mergulhando de cabeça
perlinterp - visão geral do interpretador Perl
perlguts - introdução à API do Perl
suplemento: perlguts ilustrado:http://cpansearch.perl.org/src/RURBAN/illguts-0.42/index.html
perlhacktut - exemplo de um patch simples em C
perlhacktips - dicas para Perl core hacking em C
Atenção: contém código C!
Top Related