Download - Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

Transcript
Page 1: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

Rituais de Passagem

Page 3: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

Rituais de Passagem

“Alo, Mundo!”

Page 4: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

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

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

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

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

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

Perl Core Hacking

Page 11: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

FUD

Page 13: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

Inalcançável? Nem tanto ;-)

perl5160delta

Page 15: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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
Page 17: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

Você também pode contribuir!

Page 18: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

Você também pode contribuir HOJE!

Page 19: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

% git pull% perldoc Porting/todo.pod

Page 21: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

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

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

Já sei o que fazer!Mas... e agora?

Page 25: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

% git checkout blead% git pull

Page 26: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

% 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

% 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

% 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

% 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

É 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

% 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

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

SEU NOME AQUI

Page 34: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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

(bonus track)

Page 37: Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

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!