~/talk

Reusable Apps

Talkat DjangoCon US 2008 · on Saturday, 2008-09-06· [web-platform, developer-experience]
slides:none on file

Argues that reusable Django apps win by being small and focused: do one thing and split features into separate apps (example: a simple user registration app plus a separate Django profiles app and a contact form), design flexible APIs (allow pluggable form classes, template_name and success_url, use reverse lookups and get_model, push logic into managers and registries), avoid project coupling and package with setuptools / easy_install, and cites ecosystem scale (hundreds of projects on Google Code, 1,636 listed sites) as proof it works.

AI-written summary · about

  1. 0:00Intro
  2. 1:06The fourfold path
  3. 3:24Keep a tight focus
  4. 4:33Warning signs
  5. 6:50User registration
  6. 9:39django-profiles
  7. 10:41The monolith mindset
  8. 11:29The Django mindset
  9. 11:57Django encourages this
  10. 12:40Should this be its own application?
  11. 13:13Unrelated features
  12. 14:51Orthogonality
  13. 15:29Reuse
  14. 16:14I wanted a blog
  15. 18:28Common sense
  16. 19:59Form processing
  17. 21:31URL best practices
  18. 22:34Working with models
  19. 24:34Learn to love managers
  20. 25:45Advanced techniques
  21. 29:06Bad API design
  22. 31:39So you did the tutorial
  23. 32:07Why (some) projects suck
  24. 32:29A good "project"
  25. 32:44Advantages
  26. 33:40What reusable apps look like
  27. 34:35General best practices
  28. 36:35Templates are hard
  29. 37:20Either way
  30. 38:24Documentation-driven development
  31. 39:12Django will help you
  32. 40:16Recap
  33. 41:13PyCon 2007...
  34. 41:40DjangoCon 2008
  35. 43:03Good examples
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.