seja um perl core hacker - é (muito) mais fácil do que você pensa
DESCRIPTION
Muitos acham que suas contribuições na comunidade resumem-se a subir módulos no CPAN e que colaborar com o "core", com o perl em si, é algo muito distante, quase inalcancável. Essa palestra mostra que, pelo contrário, pra contribuir com o core do Perl 5 você só precisa saber falar inglês. Aprenda como ter seu nome imortalizado numa versão do Perl 5 com contribuições simples e que fazem toda a diferença para quem está na trincheira.TRANSCRIPT
![Page 1: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/1.jpg)
Seja um Perl core hackeré (muito) mais fácil do que você pensa!
Breno G. de Oliveira@garu_rj
![Page 2: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/2.jpg)
Rituais de Passagem
![Page 3: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/3.jpg)
Rituais de Passagem
“Alo, Mundo!”
![Page 4: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/4.jpg)
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPAN
![Page 5: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/5.jpg)
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templates
![Page 6: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/6.jpg)
Rituais de Passagem
“Alo, Mundo!”Colocar um módulo no CPANFazer seu próprio sistema de templatesFazer seu próprio framework web
![Page 7: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/7.jpg)
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
![Page 8: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/8.jpg)
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
![Page 9: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/9.jpg)
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
![Page 10: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/10.jpg)
Perl Core Hacking
![Page 11: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/11.jpg)
Mitos do Core Hacking
Exige conhecimentos avançados de PerlPrecisa saber programar em CPrecisa dominar as entranhas do códigoPrecisa fazer parte do “clube”
![Page 12: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/12.jpg)
FUD
![Page 13: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/13.jpg)
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
![Page 14: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/14.jpg)
Inalcançável? Nem tanto ;-)
perl5160delta
![Page 15: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/15.jpg)
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
![Page 16: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/16.jpg)
![Page 17: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/17.jpg)
Você também pode contribuir!
![Page 18: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/18.jpg)
Você também pode contribuir HOJE!
![Page 19: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/19.jpg)
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
![Page 20: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/20.jpg)
% git pull% perldoc Porting/todo.pod
![Page 21: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/21.jpg)
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!
![Page 22: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/22.jpg)
http://tiny.cc/perl5
“tíquetes que não precisam experiênciacom C, perlguts ou sistemas operacionais”
![Page 23: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/23.jpg)
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
![Page 24: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/24.jpg)
Já sei o que fazer!Mas... e agora?
![Page 25: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/25.jpg)
% git checkout blead% git pull
![Page 26: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/26.jpg)
% git checkout blead% git pull% git checkout -b meunome/descricao
![Page 27: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/27.jpg)
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
![Page 28: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/28.jpg)
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
% ./Configure -des -Dusedevel% make test
![Page 29: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/29.jpg)
% git checkout blead% git pull% git checkout -b meunome/descricao
<hack, hack, hack, ...>
% ./Configure -des -Dusedevel% make test
Continue até os testes passarem :)
![Page 30: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/30.jpg)
É 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
![Page 31: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/31.jpg)
% git commit -a% git format-patch -M origin..
isso vai gerar um arquivo .patch
![Page 32: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/32.jpg)
Envie seu .patch em um email para [email protected] uma descrição (em inglês!) das mudanças
![Page 33: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/33.jpg)
SEU NOME AQUI
![Page 34: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/34.jpg)
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
![Page 36: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/36.jpg)
(bonus track)
![Page 37: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa](https://reader030.vdocuments.net/reader030/viewer/2022020717/548f75e1b4795927058b4edc/html5/thumbnails/37.jpg)
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!