Marc's PyCon 2012 Notes
Stop Mocking, Start Testing by Augie Fackler and Nathaniel Manista from Google Code
Modern Mocking
Testing Today
Injected dependencies
Separate state from behavior
Define interfaces between components
Decline to write a test when there’s no clear interface
Thank you
Questions
Fast test, slow test by Gary Bernhardt from destroyallsoftware.com
Goals of tests
How To Fail
Unit tests
The End
Questions
Speedily Practical Large-Scale Tests with Erik Rose from Votizen
Die, setUp(), die
Die, fixtures, die
Fake It Til You Make It: Unit Testing Patterns With Mocks And Fakes by Brian K. Jones
Your Speaker
What’s covered
What’s not covered
What is a “unit test”?
When it is no longer a unit test?
What is it then?
What is “coverage”?
Use coverage.py
Speaking of nosetests
Why unit tests?
Unit tests aren’t enough
Mock is cool. Use it.
Diagram
More testable code
Practical patterns Part 1: A datetime abstraction library
Practical patterns Part 2: A REST client module
Other tricks
We’ve covered
Questions?
Throwing Together Distributed Services With Gevent (Ginkgo) by Jeff Lindsay from Twilio
Number Server
Number Client
PUBSub
MessageHub
Django Templating: More Than Just Blocks by Christine Cheung
Intro to Templating
Effective Use of Built-In Tags
Extending templates
Loading templates
Questions
Django Forms Deep Dive - Nathan R. Yergler from EventBrite
Form Basics
Validation
Testing
Rendering Forms
Forms for Models
Form sets
Advanced & Miscellaneous Detritus
Testing and Django by Carl Meyer
The presenter
Upfront
Let’s start a project
Testing models
Testing views
In-browser testing
What type of test to write?
Testing documentation
Questions?
RESTful APIs with Tastypie by Daniel Lindsley
About the speaker
What is Tastypie?
Installation
Let’s add an API for
django.contrib.auth
Extensibility
Piecrust: The extraction that failed
Build reliable, traceable, distributed systems with ZeroMQ (ZeroRPC) by Jérôme Petazzoni from dotCloud
Introduction
Using it
Implementation details
Python, Linkers, and Virtual Memory by Brandon Rhodes
Imagine a computer with 1,000 bytes of addressable RAM...
Problem: Python code
Dynamic Linking
Demand Paging
Forking
CPython vs. PyPy
Explicitly Sharing Memory
Summary
Questions
Marc’s Prologue
Scalability at YouTube by J.J. Behrens and Mike Solomon of Google
Briefly
Scalable...systems
The Tao of Youtube
Scalable...techniques
Scalable...components
Scalable...humans?
Efficiency
Efficient libraries
Efficient tools
Productivity
Zen proverb
Code Bonsai
Questions?
web2py: ideas we stole and ideas we had by Massimo Di Pierro of DePaul University
Ideas we borrowed
Ideas we had
Getting web2py
Multi-project
Web based IDE
Mobile IDE
Web translation
Tickets
Model-View-Controller
Let’s build something
Demo
Notes from PDF slides
IPython: Python at your fingertips by Fernando Pérez, Min Ragan-Kelley, Brian E. Granger, Thomas Kluyver
Brief overview of IPython
Demo of the web notebook
Questions
Apache Cassandra and Python
Why are you here?
What am I going to talk about?
What am I not going to talk about?
Where can I get the slides?
What is Apache Cassandra (Buzz Word description)?
What is Apache Cassandra?
Basic structure of data in Cassandra
Multi-level Dictionary
Well, really an
ordered
dictionary
Where do I get it?
How do I run it?
Setup up tips for local instances
Server is running, what now?
Connect from Python
Thrift (don’t use it)
Pycassa
Connect
Open Column Family
Write
Read
Delete
Batch
Batch (streaming)
Batch (Multi-CF)
Batch Read
Column Slice
Types
Column Family Map
Write
Read/Delete
Timestamps/consistency
Indexing
Indexing Links
Native Indexes
Add index
Native indexes
Rolling your own
Questions
Practicing Continuous Deployment by David Cramer of DISQUS
What do we mean by continuous deployment?
What does “ready” mean?
The good and the bad
Keep development simple
Progressive rollout
Iterate quickly by hiding features
Review all the commits
Integration == Jenkins
Reporting
Wrap up
Questions?
Marc's PyCon 2012 Notes
Docs
»
Edit on GitHub
Index
P
|
R
P
Python Enhancement Proposals
PEP 8
R
RFC
RFC 5789
Read the Docs
v: latest
Versions
latest
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.