SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
The Django Ecosystem
       and you


     Trey Hunner

       Django Day


   February 23, 2013
How to get help
                                Community
                   Finding code you can use
                            Evaluating code
                          Contributing code


Where should I go to get help?



  How I seek help on a Django-related problem:
    1   Think of search terms that describe the problem
    2   Search Duck Duck Go and/or Google
    3   Search StackOverflow
    4   Search documentation
    5   Discover more search terms and start again at step 1




                               Trey Hunner    The Django Ecosystem
How to get help
                                Community
                   Finding code you can use
                            Evaluating code
                          Contributing code


Refreshing your memory



  You have a function/class but don’t know how to use it.
    1   For Django built-ins try http://django.me
    2   Consult the documentation
    3   Read the code




                               Trey Hunner    The Django Ecosystem
How to get help
                                Community
                   Finding code you can use
                            Evaluating code
                          Contributing code


Refreshing your memory



  You have a function/class but don’t know how to use it.
    1   For Django built-ins try http://django.me
    2   Consult the documentation
    3   Read the code
    4   Read the code




                               Trey Hunner    The Django Ecosystem
How to get help
                              Community
                 Finding code you can use
                          Evaluating code
                        Contributing code


How to read the code



  How should I read the code?
        Good Find the code on Github and read in Firefox
       Better Find the code on your computer and read in your IDE
         Best Use “jump to definition” to open code in your IDE




                             Trey Hunner    The Django Ecosystem
How to get help
                              Community
                 Finding code you can use
                          Evaluating code
                        Contributing code


How to read the code



  How should I read the code?
        Good Find the code on Github and read in Firefox
       Better Find the code on your computer and read in your IDE
         Best Use “jump to definition” to open code in your IDE
  Jumping to code definitions is supported in PyCharm, Wing IDE,
  Vim, and many other IDEs.




                             Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Stuff you should consume




    • Books & Videos
    • Newsletters & Mailing Lists
    • IRC
    • Blogs




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Books & Videos



  Books:
    • Two Scoops of Django (not free, but really really useful)
    • The Django Book (useful if you’ve never read it)

  Videos:
    • pyvideo.org (big index of Python talks)
    • Marc Abramowitz’s PyCon 2012 Notes




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Mailing Lists



  You should subscribe to:
    • PyCoder’s Weekly (you must subscribe to this)
    • django-users list
    • django-developers list (for Django devs to chat publicly)
    • the mailing list of your favorite Django projects




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


IRC Rooms


  First: Register a nickname on FreeNode.net.
  Next: Join IRC channels:
    • #django for general chatting and help (read the FAQ)
    • #sandiegopython (there’s always someone sitting in there)
    • the IRC channels for your favorite projects. Examples:
        • #django-compressor
        • #restframework
        • #haystack
        • #fabric




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Blogs to follow




    • Django Weblog: the official blog
    • Planet Django: reposts from everywhere




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


More blogs to read

  These don’t update frequently, but you should read the archives.
    • Hackers Gonna Hack
    • Procrastinating Dev
    • Toast Driven
    • Inside the head of PyDanny
    • Hark! A Blog
    • Jacob Kaplan-Moss’ Blog
    • Daniel Roseman’s Blog
    • Surfing in Kansas

  I added just enough blogs to fit on this slide. There might be more.

                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Where do I go to find code?



    • DjangoSnippets.org: small bits of code
    • DjangoPackages.com: large directory of Django apps
    • StackOverflow.com: answers often contain. . .
        • useful code snippets
        • links to useful Django apps
    • GitHub
    • Bitbucket




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


I found some code, should I use it?




  I found some code on Github. Should I use it?
          Yes Why write new code when you can reuse code?
           No Someone else wrote it. It could be buggy.
       Maybe You need to evaluate your options.




                              Trey Hunner    The Django Ecosystem
How to get help
                                    Community
                       Finding code you can use
                                Evaluating code
                              Contributing code


How to evaluate code you found online



  When evaluating new code ask. . .
    1   Is it fresh?
    2   Is it well-tested?
    3   Is it popular?
    4   Is it hackable?




                                   Trey Hunner    The Django Ecosystem
How to get help
                                Community
                   Finding code you can use
                            Evaluating code
                          Contributing code


Is the code fresh?



    • Does this work in the newest version of Django?
    • When was the last commit?
    • When was the last mentioned of this package on
      blogs/StackOverflow?

  Most relevant for full projects, but could apply to code snippets.




                               Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Is the code well-tested?




    • Are there tests?
    • Are they quality tests?
    • What does the code coverage look like?


  Most relevant for projects that don’t have a very large community.




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Is the code popular?



    • How many stars or followers are there?
    • How many forks, committers, closed issues and pull requests?
    • Is it recommended on any blogs or Q & A websites?


  Most relevant for large projects, especially when you wouldn’t want
  to maintain your own fork of the code.




                              Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Is this code hackable?



    • Do you understand how the code works?
    • Would you be comfortable fixing bugs or adding features?
    • Are the project maintainers accepting of contributions?
    • Would you be willing to maintain your own fork of the code?


  Most relevant for projects that may not fit your needs exactly.




                              Trey Hunner    The Django Ecosystem
How to get help
                                Community
                   Finding code you can use
                            Evaluating code
                          Contributing code


Reasons you should write open source code




    • You’ll eventually find a bug. . . you might as well fix it
    • You’ll eventually discover a feature you want to add
    • It will bring you wealth, fame, and happiness




                               Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


Alternatives to open source




  Some alternatives to contributing to open source projects:
    • Monkey-patching the code to get the behavior you want
    • Fixing/updating the code and maintaining your own fork
    • Begging the community to fix your bugs and feature requests




                              Trey Hunner    The Django Ecosystem
How to get help
                                 Community
                    Finding code you can use
                             Evaluating code
                           Contributing code


How to contribute code



  When contributing code to an open source project:
    1   Tell the author what you’re planning to do (optional)
    2   Write tests that should pass after you’re done
    3   Write the code, asking the community for advice as needed




                                Trey Hunner    The Django Ecosystem
How to get help
                                 Community
                    Finding code you can use
                             Evaluating code
                           Contributing code


How to contribute code



  When contributing code to an open source project:
    1   Tell the author what you’re planning to do (optional)
    2   Write tests that should pass after you’re done
    3   Write the code, asking the community for advice as needed
    4   Write all the tests you forgot to write in step 2




                                Trey Hunner    The Django Ecosystem
How to get help
                               Community
                  Finding code you can use
                           Evaluating code
                         Contributing code


In Summary




   1   Watch a video from PyVideos every day
   2   Read Two Scoops of Django
   3   Write code and stuff




                              Trey Hunner    The Django Ecosystem

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Django Ecosystem

  • 1. The Django Ecosystem and you Trey Hunner Django Day February 23, 2013
  • 2. How to get help Community Finding code you can use Evaluating code Contributing code Where should I go to get help? How I seek help on a Django-related problem: 1 Think of search terms that describe the problem 2 Search Duck Duck Go and/or Google 3 Search StackOverflow 4 Search documentation 5 Discover more search terms and start again at step 1 Trey Hunner The Django Ecosystem
  • 3. How to get help Community Finding code you can use Evaluating code Contributing code Refreshing your memory You have a function/class but don’t know how to use it. 1 For Django built-ins try http://django.me 2 Consult the documentation 3 Read the code Trey Hunner The Django Ecosystem
  • 4. How to get help Community Finding code you can use Evaluating code Contributing code Refreshing your memory You have a function/class but don’t know how to use it. 1 For Django built-ins try http://django.me 2 Consult the documentation 3 Read the code 4 Read the code Trey Hunner The Django Ecosystem
  • 5. How to get help Community Finding code you can use Evaluating code Contributing code How to read the code How should I read the code? Good Find the code on Github and read in Firefox Better Find the code on your computer and read in your IDE Best Use “jump to definition” to open code in your IDE Trey Hunner The Django Ecosystem
  • 6. How to get help Community Finding code you can use Evaluating code Contributing code How to read the code How should I read the code? Good Find the code on Github and read in Firefox Better Find the code on your computer and read in your IDE Best Use “jump to definition” to open code in your IDE Jumping to code definitions is supported in PyCharm, Wing IDE, Vim, and many other IDEs. Trey Hunner The Django Ecosystem
  • 7. How to get help Community Finding code you can use Evaluating code Contributing code Stuff you should consume • Books & Videos • Newsletters & Mailing Lists • IRC • Blogs Trey Hunner The Django Ecosystem
  • 8. How to get help Community Finding code you can use Evaluating code Contributing code Books & Videos Books: • Two Scoops of Django (not free, but really really useful) • The Django Book (useful if you’ve never read it) Videos: • pyvideo.org (big index of Python talks) • Marc Abramowitz’s PyCon 2012 Notes Trey Hunner The Django Ecosystem
  • 9. How to get help Community Finding code you can use Evaluating code Contributing code Mailing Lists You should subscribe to: • PyCoder’s Weekly (you must subscribe to this) • django-users list • django-developers list (for Django devs to chat publicly) • the mailing list of your favorite Django projects Trey Hunner The Django Ecosystem
  • 10. How to get help Community Finding code you can use Evaluating code Contributing code IRC Rooms First: Register a nickname on FreeNode.net. Next: Join IRC channels: • #django for general chatting and help (read the FAQ) • #sandiegopython (there’s always someone sitting in there) • the IRC channels for your favorite projects. Examples: • #django-compressor • #restframework • #haystack • #fabric Trey Hunner The Django Ecosystem
  • 11. How to get help Community Finding code you can use Evaluating code Contributing code Blogs to follow • Django Weblog: the official blog • Planet Django: reposts from everywhere Trey Hunner The Django Ecosystem
  • 12. How to get help Community Finding code you can use Evaluating code Contributing code More blogs to read These don’t update frequently, but you should read the archives. • Hackers Gonna Hack • Procrastinating Dev • Toast Driven • Inside the head of PyDanny • Hark! A Blog • Jacob Kaplan-Moss’ Blog • Daniel Roseman’s Blog • Surfing in Kansas I added just enough blogs to fit on this slide. There might be more. Trey Hunner The Django Ecosystem
  • 13. How to get help Community Finding code you can use Evaluating code Contributing code Where do I go to find code? • DjangoSnippets.org: small bits of code • DjangoPackages.com: large directory of Django apps • StackOverflow.com: answers often contain. . . • useful code snippets • links to useful Django apps • GitHub • Bitbucket Trey Hunner The Django Ecosystem
  • 14. How to get help Community Finding code you can use Evaluating code Contributing code I found some code, should I use it? I found some code on Github. Should I use it? Yes Why write new code when you can reuse code? No Someone else wrote it. It could be buggy. Maybe You need to evaluate your options. Trey Hunner The Django Ecosystem
  • 15. How to get help Community Finding code you can use Evaluating code Contributing code How to evaluate code you found online When evaluating new code ask. . . 1 Is it fresh? 2 Is it well-tested? 3 Is it popular? 4 Is it hackable? Trey Hunner The Django Ecosystem
  • 16. How to get help Community Finding code you can use Evaluating code Contributing code Is the code fresh? • Does this work in the newest version of Django? • When was the last commit? • When was the last mentioned of this package on blogs/StackOverflow? Most relevant for full projects, but could apply to code snippets. Trey Hunner The Django Ecosystem
  • 17. How to get help Community Finding code you can use Evaluating code Contributing code Is the code well-tested? • Are there tests? • Are they quality tests? • What does the code coverage look like? Most relevant for projects that don’t have a very large community. Trey Hunner The Django Ecosystem
  • 18. How to get help Community Finding code you can use Evaluating code Contributing code Is the code popular? • How many stars or followers are there? • How many forks, committers, closed issues and pull requests? • Is it recommended on any blogs or Q & A websites? Most relevant for large projects, especially when you wouldn’t want to maintain your own fork of the code. Trey Hunner The Django Ecosystem
  • 19. How to get help Community Finding code you can use Evaluating code Contributing code Is this code hackable? • Do you understand how the code works? • Would you be comfortable fixing bugs or adding features? • Are the project maintainers accepting of contributions? • Would you be willing to maintain your own fork of the code? Most relevant for projects that may not fit your needs exactly. Trey Hunner The Django Ecosystem
  • 20. How to get help Community Finding code you can use Evaluating code Contributing code Reasons you should write open source code • You’ll eventually find a bug. . . you might as well fix it • You’ll eventually discover a feature you want to add • It will bring you wealth, fame, and happiness Trey Hunner The Django Ecosystem
  • 21. How to get help Community Finding code you can use Evaluating code Contributing code Alternatives to open source Some alternatives to contributing to open source projects: • Monkey-patching the code to get the behavior you want • Fixing/updating the code and maintaining your own fork • Begging the community to fix your bugs and feature requests Trey Hunner The Django Ecosystem
  • 22. How to get help Community Finding code you can use Evaluating code Contributing code How to contribute code When contributing code to an open source project: 1 Tell the author what you’re planning to do (optional) 2 Write tests that should pass after you’re done 3 Write the code, asking the community for advice as needed Trey Hunner The Django Ecosystem
  • 23. How to get help Community Finding code you can use Evaluating code Contributing code How to contribute code When contributing code to an open source project: 1 Tell the author what you’re planning to do (optional) 2 Write tests that should pass after you’re done 3 Write the code, asking the community for advice as needed 4 Write all the tests you forgot to write in step 2 Trey Hunner The Django Ecosystem
  • 24. How to get help Community Finding code you can use Evaluating code Contributing code In Summary 1 Watch a video from PyVideos every day 2 Read Two Scoops of Django 3 Write code and stuff Trey Hunner The Django Ecosystem