- Number of videos:
While Java and C# use static type declarations to eliminate ambiguity, the Python programmer must survive through sheer clarity and consistency in naming variables. We will explore the deep unspoken conventions that the Python community has developed and honed over two decades to make Python code readable and meaningful within the freedom that a dynamically-typed language grants us.
Why did I start using Python in the late 1990s? Was it for any of the reasons that I remain a fan today? In this talk we will explore how Python, even while training us to avoid and become blind to its rough edges, works to teach us new ways of making programs beautiful. Even novices should learn new things to love about Python by listening to this talk!
The Python community has learned a lot about how to use our language since we started back in the 1990s, and this talk will use simple one-slide programs to illustrate the crucial refactorings that can help make a large real-life application far more testable and maintainable while making its code easier to re-use. This will not be a re-hash of Gang-of-Four refactorings, but specific to Python.
Why does “top” show that your Python process uses 110 MB of virtual memory but has a resident set size of 9 MB? Does it consume more memory to spawn several interpreters, or to run one Python and have it fork() further workers? What is an “undefined symbol,” anyway? Learn about how an operating system manages memory, loads shared libraries, and what this means for Python servers and applications.
How do you take the big step from casual SQLAlchemy user, who treats your database as a mysterious object store, to advanced power user, who optimizes critical queries, plans indexing and migrations, and generates efficient reports? This talk will teach you how databases think; why humanity invented the Relational Algebra; and how SQLAlchemy grants you access to relational power.
Python projects can succeed or fail because of their documentation. Thanks to Sphinx, Python now has a “documentation framework” with indexing, syntax highlighting, and integration with your code. Students will be given a small undocumented Python package, and during the exercises they will give the package a tutorial and reference manual. Plus: deployment and theming!
Relational databases are often the bread-and-butter of large-scale data storage, yet they are often poorly understood by Python programmers. Organizations even split programmers into SQL and front-end teams, each of which jealously guards its turf. These tutorials will take what you already know about Python programming, and advance into a new realm: SQL programming and database design.