Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The Django Ecosystem       and you     Trey Hunner       Django Day   February 23, 2013
How to get help                                Community                   Finding code you can use                       ...
How to get help                                Community                   Finding code you can use                       ...
How to get help                                Community                   Finding code you can use                       ...
How to get help                              Community                 Finding code you can use                          E...
How to get help                              Community                 Finding code you can use                          E...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                                    Community                       Finding code you can use               ...
How to get help                                Community                   Finding code you can use                       ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                                Community                   Finding code you can use                       ...
How to get help                               Community                  Finding code you can use                         ...
How to get help                                 Community                    Finding code you can use                     ...
How to get help                                 Community                    Finding code you can use                     ...
How to get help                               Community                  Finding code you can use                         ...
Upcoming SlideShare
Loading in …5
×

Django Ecosystem

1,032 views

Published on

This was a presentation given at San Diego Python's Django Day:

http://www.meetup.com/pythonsd/events/95751792/
https://github.com/pythonsd/learning-django

  • Be the first to comment

Django Ecosystem

  1. 1. The Django Ecosystem and you Trey Hunner Django Day February 23, 2013
  2. 2. How to get help Community Finding code you can use Evaluating code Contributing codeWhere 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. 3. How to get help Community Finding code you can use Evaluating code Contributing codeRefreshing 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. 4. How to get help Community Finding code you can use Evaluating code Contributing codeRefreshing 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. 5. How to get help Community Finding code you can use Evaluating code Contributing codeHow 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. 6. How to get help Community Finding code you can use Evaluating code Contributing codeHow 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. 7. How to get help Community Finding code you can use Evaluating code Contributing codeStuff you should consume • Books & Videos • Newsletters & Mailing Lists • IRC • Blogs Trey Hunner The Django Ecosystem
  8. 8. How to get help Community Finding code you can use Evaluating code Contributing codeBooks & 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. 9. How to get help Community Finding code you can use Evaluating code Contributing codeMailing 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. 10. How to get help Community Finding code you can use Evaluating code Contributing codeIRC 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. 11. How to get help Community Finding code you can use Evaluating code Contributing codeBlogs to follow • Django Weblog: the official blog • Planet Django: reposts from everywhere Trey Hunner The Django Ecosystem
  12. 12. How to get help Community Finding code you can use Evaluating code Contributing codeMore 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. 13. How to get help Community Finding code you can use Evaluating code Contributing codeWhere 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. 14. How to get help Community Finding code you can use Evaluating code Contributing codeI 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. 15. How to get help Community Finding code you can use Evaluating code Contributing codeHow 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. 16. How to get help Community Finding code you can use Evaluating code Contributing codeIs 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. 17. How to get help Community Finding code you can use Evaluating code Contributing codeIs 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. 18. How to get help Community Finding code you can use Evaluating code Contributing codeIs 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. 19. How to get help Community Finding code you can use Evaluating code Contributing codeIs 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. 20. How to get help Community Finding code you can use Evaluating code Contributing codeReasons 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. 21. How to get help Community Finding code you can use Evaluating code Contributing codeAlternatives 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. 22. How to get help Community Finding code you can use Evaluating code Contributing codeHow 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. 23. How to get help Community Finding code you can use Evaluating code Contributing codeHow 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. 24. How to get help Community Finding code you can use Evaluating code Contributing codeIn 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

×