Large problems, Mostly Solved
-
Upload
ericholscher -
Category
Documents
-
view
10.561 -
download
0
Transcript of Large problems, Mostly Solved
![Page 1: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/1.jpg)
Large ProblemsMostly Solved
Eric Holscherhttp://ericholscher.com
Djangocon 2010
Wednesday, September 8, 2010
![Page 2: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/2.jpg)
What this talk isn’t
» In depth
» Overly technical
» Conclusive
Wednesday, September 8, 2010
![Page 3: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/3.jpg)
What this talk is
» Providing current best-of-class solutions to common problems
» Identifying problems that aren’t currently solved well
Wednesday, September 8, 2010
![Page 4: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/4.jpg)
Overview
» Patterns among good apps
» The problems that are mostly solved
» Unsolved Problems
Wednesday, September 8, 2010
![Page 5: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/5.jpg)
A good application
Wednesday, September 8, 2010
![Page 6: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/6.jpg)
Leverages previous knowledge/APIs
Wednesday, September 8, 2010
![Page 7: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/7.jpg)
Easy Setup
Wednesday, September 8, 2010
![Page 8: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/8.jpg)
Good upgrade path
Wednesday, September 8, 2010
![Page 9: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/9.jpg)
Good documentation
Wednesday, September 8, 2010
![Page 10: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/10.jpg)
Well Tested
Wednesday, September 8, 2010
![Page 11: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/11.jpg)
Solves a real problem
Wednesday, September 8, 2010
![Page 12: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/12.jpg)
Mostly Solved Problems
Wednesday, September 8, 2010
![Page 13: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/13.jpg)
Search
Wednesday, September 8, 2010
![Page 14: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/14.jpg)
Haystack
» 9782 lines of docs
» 8882 lines of tests
» http://haystacksearch.org/
» Written by Daniel Lindsley
Wednesday, September 8, 2010
![Page 15: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/15.jpg)
Line counts
find . |egrep "rst|txt" |xargs wc -l |cut -c1-8 | awk '{s+=$1} END {print s}'
find . |egrep "py" |xargs wc -l |cut -c1-8 | awk '{s+=$1} END {print s}'
#FORE!
Wednesday, September 8, 2010
![Page 16: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/16.jpg)
Setup» pip install django-haystack
» Add ‘haystack’ to Installed Apps
» Settings for siteconf and backend
» Create Search Site
» Create Search Indexes
» Add views
» Reindex
Wednesday, September 8, 2010
![Page 17: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/17.jpg)
Upgrade Path
» Simple backend
» Whoosh
» Solr
Wednesday, September 8, 2010
![Page 18: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/18.jpg)
Beautiful APIs
unfriendly_results = SearchQuerySet().exclude(content='hello').filter(content='world')
unfriendly_results.order_by('-pub_date')[:5]
Wednesday, September 8, 2010
![Page 19: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/19.jpg)
Beautiful APIs
class NoteIndex(SearchIndex): text = CharField(document=True, use_template=True) author = CharField(model_attr='user') pub_date = DateTimeField(model_attr='pub_date')
def get_queryset(self): return Note.objects.filter(pub_date__lte=datetime.datetime.now())
Wednesday, September 8, 2010
![Page 20: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/20.jpg)
Awesome Features
» Faceting
» Highlighting
» More Like This
» Easy Customization
Wednesday, September 8, 2010
![Page 21: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/21.jpg)
Wednesday, September 8, 2010
![Page 22: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/22.jpg)
Amazing full-text search
Wednesday, September 8, 2010
![Page 23: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/23.jpg)
In an hour.
Wednesday, September 8, 2010
![Page 24: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/24.jpg)
Documentation
Wednesday, September 8, 2010
![Page 25: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/25.jpg)
Sphinx
» 16598 lines of docs
» 13272 lines of tests
» http://sphinx.pocoo.org/
» Written by Georg Brandl
Wednesday, September 8, 2010
![Page 26: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/26.jpg)
Setup
» pip install Sphinx
» sphinx-quickstart
» Edit/Create Restructured Text files
» make html
Wednesday, September 8, 2010
![Page 27: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/27.jpg)
Awesome features
» Uses ReStructuredText
» Easily generate PDFs
» Link between your own and other docs
» Themes
Wednesday, September 8, 2010
![Page 28: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/28.jpg)
Shameless Self Promotion
» Use Read The Docs
» Host Sphinx docs, or create them there.
» http://rtfd.org
» http://media.readthedocs.org/django.pdf
Wednesday, September 8, 2010
![Page 29: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/29.jpg)
Wednesday, September 8, 2010
![Page 30: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/30.jpg)
Make Beautiful Documentation With Tools
You Know
Wednesday, September 8, 2010
![Page 31: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/31.jpg)
Database Migrations
Wednesday, September 8, 2010
![Page 32: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/32.jpg)
South
» 5662 lines of docs
» 4328 lines of tests
» http://south.aeracode.org/
» Written by Andrew Godwin
Wednesday, September 8, 2010
![Page 33: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/33.jpg)
Setup
» pip install south
» south in Installed Apps
» manage.py schemamigration app --initial
» manage.py schemamigratoin app name --auto
» manage.py migrate
Wednesday, September 8, 2010
![Page 34: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/34.jpg)
Beautiful API
def forwards(self, orm): for adopter in orm.Adopter.objects.all(): try: adopter.first_name, adopter.last_name = adopter.name.split() except ValueError: adopter.first_name, adopter.last_name = adopter.name, "" adopter.save()
Wednesday, September 8, 2010
![Page 35: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/35.jpg)
Boring
Wednesday, September 8, 2010
![Page 36: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/36.jpg)
Safe, Painless Data Migration
Wednesday, September 8, 2010
![Page 37: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/37.jpg)
Delayed Execution
Wednesday, September 8, 2010
![Page 38: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/38.jpg)
Run commands out of process
Wednesday, September 8, 2010
![Page 39: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/39.jpg)
Celery
» 19610 lines of docs
» 13822 lines of tests
» http://celeryproject.org/
» Written by Ask Solem
Wednesday, September 8, 2010
![Page 40: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/40.jpg)
Setup
» pip install django-celery
» Add ‘djcelery’ to Installed Apps
» Syncdb
» Configure your settings backend
» Add @task decorator to function
Wednesday, September 8, 2010
![Page 41: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/41.jpg)
When and Why
» Makes your site fast
» Use for tasks that users don’t immediately care about
» Even if they do, return fast to a waiting page
Wednesday, September 8, 2010
![Page 42: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/42.jpg)
Examples
» Activity
» Sending Email
» Complex DB queries
Wednesday, September 8, 2010
![Page 43: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/43.jpg)
Wednesday, September 8, 2010
![Page 44: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/44.jpg)
Path
» Start with ALWAYS_EAGER
» Use a ghetto queue
» Rabbit MQ
Wednesday, September 8, 2010
![Page 45: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/45.jpg)
Awesome features
» Run on multiple machines
» Cron replacement
» Good error reporting
Wednesday, September 8, 2010
![Page 46: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/46.jpg)
Magically make your code async
Wednesday, September 8, 2010
![Page 47: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/47.jpg)
Remote Execution
Wednesday, September 8, 2010
![Page 48: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/48.jpg)
Run commands on remote servers (for deployment)
Wednesday, September 8, 2010
![Page 49: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/49.jpg)
Fabric
» 7272 lines of docs
» 4572 lines of tests
» http://fabfile.org
» Written by Christian Vest Hansen & Jeff Forcier
Wednesday, September 8, 2010
![Page 50: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/50.jpg)
Setup
» pip install fabric
» Add commands to a fabfile.py
» fab <command>
Wednesday, September 8, 2010
![Page 51: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/51.jpg)
Simple example
#Fabfilefrom fabric.api import run
def host_type(): run('uname -s')
# Command$ fab -H example.com host_type
Wednesday, September 8, 2010
![Page 52: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/52.jpg)
Write python to deploy your code
Wednesday, September 8, 2010
![Page 53: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/53.jpg)
Deployment
Wednesday, September 8, 2010
![Page 54: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/54.jpg)
Gunicorn
» 1898 lines of docs
» 2172 lines of tests
» http://gunicorn.org/
» Created by Benoit Chesneau
Wednesday, September 8, 2010
![Page 55: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/55.jpg)
Setup
» pip install gunicorn
» add gunicorn to your Installed Apps
» manage.py run_gunicorn
Wednesday, September 8, 2010
![Page 56: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/56.jpg)
Need to install Nginx in front
Wednesday, September 8, 2010
![Page 57: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/57.jpg)
Nginx setup
server { listen 80; server_name example.com; access_log /var/log/nginx/example.log;
location / { proxy_pass http://127.0.0.1:8080; }}
Wednesday, September 8, 2010
![Page 58: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/58.jpg)
Awesome Features
» Async backend workers
» Simple configuration
» Python
Wednesday, September 8, 2010
![Page 59: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/59.jpg)
Stupidly Simple, Production Ready
Deployment
Wednesday, September 8, 2010
![Page 60: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/60.jpg)
Packaging
Wednesday, September 8, 2010
![Page 61: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/61.jpg)
Pip & Virtualenv
» Written by Ian Bicking
» http://pip-installer.org
» http://virtualenv.openplans.org
Wednesday, September 8, 2010
![Page 62: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/62.jpg)
Set up
» sudo easy_install pip # :D
» sudo pip install virtualenv
» virtualenv awesome_env
» source awesome_env/bin/activate
» pip install Django
Wednesday, September 8, 2010
![Page 63: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/63.jpg)
Awesome Features
» Separate environments for each application or deployment
» Install code from repos
» Doesn’t use eggs
» User-owned environment
Wednesday, September 8, 2010
![Page 64: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/64.jpg)
Adds community standards to something everyone was
doing their own way
Wednesday, September 8, 2010
![Page 65: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/65.jpg)
No more PYTHONPATH hacking
Wednesday, September 8, 2010
![Page 66: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/66.jpg)
Competing Applications
Wednesday, September 8, 2010
![Page 67: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/67.jpg)
APIs
Wednesday, September 8, 2010
![Page 68: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/68.jpg)
APIs
» TastyPie
» Piston
Wednesday, September 8, 2010
![Page 69: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/69.jpg)
Tagging
Wednesday, September 8, 2010
![Page 70: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/70.jpg)
Tagging
» Django Taggit *
» Django Tagging
Wednesday, September 8, 2010
![Page 71: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/71.jpg)
Continuous Integration
Wednesday, September 8, 2010
![Page 72: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/72.jpg)
Continuous Integration
» Hudson *
» Buildbot
Wednesday, September 8, 2010
![Page 73: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/73.jpg)
Smaller Problems
Wednesday, September 8, 2010
![Page 74: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/74.jpg)
Debugging in Development
Wednesday, September 8, 2010
![Page 75: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/75.jpg)
django-debug-toolbar
» http://github.com/robhudson/django-debug-toolbar/
» Written by Rob Hudson
Wednesday, September 8, 2010
![Page 76: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/76.jpg)
Wednesday, September 8, 2010
![Page 77: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/77.jpg)
Profiles & Registration
Wednesday, September 8, 2010
![Page 78: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/78.jpg)
django-[profiles|registration]
» http://bitbucket.org/ubernostrum/django-profiles/
» http://bitbucket.org/ubernostrum/django-registration/
» Written by James Bennett
Wednesday, September 8, 2010
![Page 79: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/79.jpg)
Filtering
Wednesday, September 8, 2010
![Page 80: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/80.jpg)
django-filter
» http://github.com/alex/django-filter
» Written by Alex Gaynor
Wednesday, September 8, 2010
![Page 81: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/81.jpg)
Wednesday, September 8, 2010
![Page 82: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/82.jpg)
Finding packages
Wednesday, September 8, 2010
![Page 83: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/83.jpg)
Djangopackages.com
Wednesday, September 8, 2010
![Page 84: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/84.jpg)
Unsolved Problems
Wednesday, September 8, 2010
![Page 85: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/85.jpg)
Template Tags
Wednesday, September 8, 2010
![Page 86: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/86.jpg)
Logging
Wednesday, September 8, 2010
![Page 87: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/87.jpg)
Model Introspection
Wednesday, September 8, 2010
![Page 88: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/88.jpg)
Class Based Views
Wednesday, September 8, 2010
![Page 89: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/89.jpg)
Source code arrangement
Wednesday, September 8, 2010
![Page 90: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/90.jpg)
Notifications/Email
Wednesday, September 8, 2010
![Page 91: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/91.jpg)
Debugging in Production
Wednesday, September 8, 2010
![Page 92: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/92.jpg)
OpenID/OAuth
Wednesday, September 8, 2010
![Page 93: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/93.jpg)
VCS Abstraction
Wednesday, September 8, 2010
![Page 94: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/94.jpg)
Positive Note
Wednesday, September 8, 2010
![Page 95: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/95.jpg)
Cal’s list of problems ’08» Multiple Databases
» Multiple multi-keyed cache requests
» Slow HTTP requests while we're doing other stuff
» ORM creates dumb SQL
» Verbose template syntax
» No query debugger
» Ugly SQL syntax
» Commit all fields at once
» No mascot
» No deployment system
» Migrating ModelsWednesday, September 8, 2010
![Page 96: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/96.jpg)
Cal’s list of problems ’08» Multiple Databases
» Multiple multi-keyed cache requests
» Slow HTTP requests while we're doing other stuff
» ORM creates dumb SQL
» Verbose template syntax
» No query debugger
» Ugly SQL syntax (Table aliases)
» Commit all fields at once
» No mascot
» No deployment system
» Extending modelsWednesday, September 8, 2010
![Page 97: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/97.jpg)
Remember
» Leverage good applications in the community
» Take previous knowledge and apply it to new situations
» You can create an awesome application used by other people
Wednesday, September 8, 2010
![Page 98: Large problems, Mostly Solved](https://reader034.fdocuments.in/reader034/viewer/2022042506/5552798db4c905b4598b4999/html5/thumbnails/98.jpg)
Questions?
» twitter.com/ericholscher
Wednesday, September 8, 2010