O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Contribuir com o django é mais simples do que voce imagina!

223 visualizações

Publicada em

Se você conhece ou trabalha com o Django e deseja saber como começar a contribuir está palestra é para você!


Juntos vamos solucionar um bug do django e fazer nossa primeira contribuição!


Para quem está começando a desenvolver sistemas e deseja fazer contribuições open source, as vezes é difícil saber por onde começar.
A idéia de contribuir com uma grande lib que você adora parece um pouco assustadora?

Eu vou mostrar passo a passo, como contribuir com o django de forma simples!

Usaremos um bug previamente resolvido por mim, para explicar o passo a passo.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Contribuir com o django é mais simples do que voce imagina!

  1. 1. Contribuir com o Django é mais simples do que você imagina! Anderson Resende
  2. 2. Quem sou eu ● Anderson Resende ○ Recife ○ Trabalho na Vinta ○ ~4 anos de experiência Python/Django @AndersonRe86 github.com/andersonresende
  3. 3. Um pouco mais sobre mim... ● Algumas contribuições ○ edx/edx-documentation A primeira vez, nunca esquecemos...) ○ allisson/django-pagseguro2 (Checkout transparente) ○ fixmydjango/fixmydjango ○ vintasoftware/django-role-permissions ○ vintasoftware/django-templated-email ○ django/django
  4. 4. Framework Python mais usado! + 24k commits https://github.com/django/django https://www.djangoproject.com/
  5. 5. Por que fazer Open Source? ● Aprendizado ● Melhoramento profissional ● Visibilidade no mercado de trabalho ● Boas práticas de programação ● Retribuição a comunidade ● Lazer
  6. 6. Por que não fazer Open Source?
  7. 7. Por que eu escolhi falar sobre esse assunto... ● Um pouco da minha trajetória...
  8. 8. Um pouco dos meus (nossos) medos! “Não sei por onde começar…” “Será que vão gostar do meu código?” “Isso deve ser muito difícil…” “Contribuir com uma lib que todo mundo usa, deve ser bem complicado” “Como eu faço pra contribuir com essas libs?” “Será que alguém vai me ajudar?” “Quais libs eu devo contribuir?”
  9. 9. Vamos contribuir com o Django em 5 passos! Sem medo!
  10. 10. Não sei por onde começar...
  11. 11. Encontrando o bug/feature/melhoria! https://code.djangoproject.com/query?status=!closed&easy=1
  12. 12. Analizando o ticket... Vamos a partir de agora fazer o passo a passo com bug que ja foi resolvido anteriormente por mim. https://code.djangoproject.com/ticket/26026
  13. 13. Se coloque como owner...
  14. 14. Não sei por onde começar...
  15. 15. Não sei como iniciar o projeto...
  16. 16. Preparando o ambiente (Django guidelines) https://docs.djangoproject.com/en/dev/internals/contributing/
  17. 17. Preparando o ambiente (Django guidelines) ● Fork do Django (github.com/django/django) https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/working-with-git/#setting-up-local-repository
  18. 18. Preparando o ambiente (Django guidelines) ● Clonando o projeto ○ git clone github.com/vintasoftware/django.git https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/working-with-git/#setting-up-local-repository
  19. 19. Preparando o ambiente (Django guidelines) ● Adicionando Upstream ○ git remote add upstream git@github.com:django/django.git ○ git fetch upstream https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/working-with-git/#setting-up-local-repository
  20. 20. Preparando o ambiente (Django guidelines) ● Criando a sua branch ○ git checkout -b ticket_26026 https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/working-with-git/#setting-up-local-repository
  21. 21. Não sei como iniciar o projeto...
  22. 22. Não sei como escrever o código...
  23. 23. Vamos codar! https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/
  24. 24. Entendendo o problema "isinstance check on any instance, that is not QuerySet (actually anything without .query attribute) and django.db.models.query.EmptyQuerySet throws AttributeError."
  25. 25. Resolvendo o problema
  26. 26. Não sei como escrever o código...
  27. 27. O que fazer com o meu código?
  28. 28. Contribuindo com o projeto (Django guidelines) ● Commitando seu codigo ○ git commit -am [1.9.x] Fixed #26026 -- Checked if the QuerySet is empty ○ git push origin ticket_26026 https://docs.djangoproject.com/en/dev/internals/contributing/writin g-code/working-with-git/#working-on-a-ticket
  29. 29. Contribuindo com o projeto ● Criando um Pull Request https://help.github.com/articles/creating-a-pull-request/ “Uma série de testes automatizados vão ser executados. Se os testes passarem seu codigo será revisado”
  30. 30. O que fazer com meu código?
  31. 31. Sera que vao gostar do meu código?
  32. 32. Bam!!! Algo deu errado! Mas, eles estão sempre prontos pra ajudar...
  33. 33. Nunca paramos de aprender! Vamos fazer um teste de regressão!
  34. 34. Meu novo Pull Request!
  35. 35. Sera que vao gostar do meu código?
  36. 36. A importância do ambiente e porque você é capaz!
  37. 37. Slides: bit.ly/vinta-pyne-17
  38. 38. Dúvidas? Quer trabalhar na vinta? jobs@vinta.com.br bit.ly/vinta-pyne-17

×