Categories


Two Scoops of Django: Best Practices for Django 1.8

Table of Contents

  • Chapter 1: Coding Style
  • Chapter 2: The Optimal Django Environment Setup
  • Chapter 3: How To Lay Out Django Projects
  • Chapter 4: Fundamentals of Django App Design
  • Chapter 5: Settings and Requirements Files
  • Chapter 6: Model Best Practices
  • Chapter 7: Queries and the Database Layer
  • Chapter 8: Function- and Class-Based Views
  • Chapter 9: Best Practices for Function-Based Views
  • Chapter 10: Best Practices for Class-Based Views
  • Chapter 11: Form Fundamentals
  • Chapter 12: Common Patterns for Forms
  • Chapter 13: Templates: Best Practices
  • Chapter 14: Template Tags and Filters
  • Chapter 15: Django Templates and Jinja2
  • Chapter 16: Building REST APIs
  • Chapter 17: Consuming REST APIs
  • Chapter 18: Tradeoffs of Replacing Core Components
  • Chapter 19: Working With the Django Admin
  • Chapter 20: Dealing with the User Model
  • Chapter 21: Django's Secret Sauce: Third-Party Packages
  • Chapter 22: Testing Chapter of Doom!
  • Chapter 23: Documentation: Be Obsessed
  • Chapter 24: Finding and Reducing Bottlenecks
  • Chapter 25: Asynchronous Task Queues
  • Chapter 26: Security Best Practices
  • Chapter 27: Logging: Tips and Tools
  • Chapter 28: Signals: Use Cases and Avoidance Techniques
  • Chapter 29: What About Those Random Utilities?
  • Chapter 30: Deployment: Platforms as a Service
  • Chapter 31: Deploying Django Projects
  • Chapter 29: Identical Environments: The Holy Grail
  • Chapter 32: Continuous Integration
  • Chapter 33: The Art of Debugging
  • Chapter 34: Where and How to Ask Django Questions
  • Chapter 35: Closing Thoughts
  • Appendix A: Packages Mentioned In This Book
  • Appendix B: Troubleshooting
  • Appendix C: Additional Resources
  • Appendix D: Internationalization and Localization
  • Appendix E: Settings Alternatives
  • Appendix F: Working with Python 3


Python Crash Course: A Hands-On, Project-Based Introduction to Programming

Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time.

In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You’ll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you’ll put your new knowledge into practice with three substantial projects: a Space Invaders–inspired arcade game, data visualizations with Python’s super-handy libraries, and a simple web app you can deploy online.

As you work through Python Crash Course you’ll learn how to:
–Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal
–Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses
–Work with data to generate interactive visualizations
–Create and customize Web apps and deploy them safely online
–Deal with mistakes and errors so you can solve your own programming problems


If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!


Automate the Boring Stuff with Python: Practical Programming for Total Beginners

In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:
–Search for text in a file or across multiple files
–Create, update, move, and rename files and folders
–Search the Web and download online content
–Update and format data in Excel spreadsheets of any size
–Split, merge, watermark, and encrypt PDFs
–Send reminder emails and text notifications
–Fill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.


Python for Data Analysis

Python for Data Analysis is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python. It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you’ll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.

Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It’s ideal for analysts new to Python and for Python programmers new to scientific computing.

  • Use the IPython interactive shell as your primary development environment
  • Learn basic and advanced NumPy (Numerical Python) features
  • Get started with data analysis tools in the pandas library
  • Use high-performance tools to load, clean, transform, merge, and reshape data
  • Create scatter plots and static or interactive visualizations with matplotlib
  • Apply the pandas groupby facility to slice, dice, and summarize datasets
  • Measure data by points in time, whether it’s specific instances, fixed periods, or intervals
  • Learn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples


Introduction to Computation and Programming Using Python

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters.


Python: Master the Art of Design Patterns

About This Book

  • Learn all about abstract design patterns and how to implement them in Python 3
  • Understand the structural, creational, and behavioral Python design patterns
  • Get to know the context and application of design patterns to solve real-world problems in software architecture, design, and application development
  • Discover how to simplify Design Pattern implementation using the power of Python 3


Data Science from Scratch: First Principles with Python

Data science libraries, frameworks, modules, and toolkits are great for doing data science, but they’re also a good way to dive into the discipline without actually understanding data science. In this book, you’ll learn how many of the most fundamental data science tools and algorithms work by implementing them from scratch.

If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with hacking skills you need to get started as a data scientist. Today’s messy glut of data holds answers to questions no one’s even thought to ask. This book provides you with the know-how to dig those answers out.


Learning Spark: Lightning-Fast Big Data Analysis

Data in all domains is getting bigger. How can you work with it efficiently? Recently updated for Spark 1.3, this book introduces Apache Spark, the open source cluster computing system that makes data analytics fast to write and fast to run. With Spark, you can tackle big datasets quickly through simple APIs in Python, Java, and Scala. This edition includes new information on Spark SQL, Spark Streaming, setup, and Maven coordinates.

Written by the developers of Spark, this book will have data scientists and engineers up and running in no time. You’ll learn how to express parallel jobs with just a few lines of code, and cover applications from simple batch jobs to stream processing and machine learning.

  • Quickly dive into Spark capabilities such as distributed datasets, in-memory caching, and the interactive shell
  • Leverage Spark’s powerful built-in libraries, including Spark SQL, Spark Streaming, and MLlib
  • Use one programming paradigm instead of mixing and matching tools like Hive, Hadoop, Mahout, and Storm
  • Learn how to deploy interactive, batch, and streaming applications
  • Connect to data sources including HDFS, Hive, JSON, and S3
  • Master advanced topics like data partitioning and shared variables


The Art of R Programming

  • R is the world's most popular language for developing statistical software: Archaeologists use it to track the spread of ancient civilizations, drug companies use it to discover which medications are safe and effective, and actuaries use it to assess financial risks and keep economies running smoothly. The Art of R Programming takes you on a guided tour of software development with R, from basic types and data structures to advanced topics like closures, recursion, and anonymous functions. No statistical knowledge is required, and your programming skills can range from hobbyist to pro. Along the way, you'll learn about functional and object-oriented programming, running mathematical simulations, and rearranging complex data into simpler, more useful formats. You'll also learn to: Create artful graphs to visualize complex data sets and functionsWrite more efficient code using parallel R and vectorizationInterface R with C/C++ and Python for increased speed or functionalityFind new R packages for text analysis, image manipulation, and moreSquash annoying bugs with advanced debugging techniquesWhether you're designing aircraft, forecasting the weather, or you just need to tame your data, The Art of R Programming is your guide to harnessing the power of statistical computing.


Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

Since Don’t Make Me Think was first published in 2000, hundreds of thousands of Web designers and developers have relied on usability guru Steve Krug’s guide to help them understand the principles of intuitive navigation and information design. Witty, commonsensical, and eminently practical, it’s one of the best-loved and most recommended books on the subject. Now Steve returns with fresh perspective to reexamine the principles that made Don’t Make Me Think a classic–with updated examples and a new chapter on mobile usability. And it’s still short, profusely illustrated…and best of all–fun to read. If you’ve read it before, you’ll rediscover what made Don’t Make Me Think so essential to Web designers and developers around the world. If you’ve never read it, you’ll see why so many people have said it should be required reading for anyone working on Web sites. “After reading it over a couple of hours and putting its ideas to work for the past five years, I can say it has done more to improve my abilities as a Web designer than any other book.”–Jeffrey Zeldman, author of Designing with Web Standards


Lean UX: Applying Lean Principles to Improve User Experience

The Lean UX approach to interaction design is tailor-made for today’s web-driven reality. In this insightful book, leading advocate Jeff Gothelf teaches you valuable Lean UX principles, tactics, and techniques from the ground up—how to rapidly experiment with design ideas, validate them with real users, and continually adjust your design based on what you learn.

Inspired by Lean and Agile development theories, Lean UX lets you focus on the actual experience being designed, rather than deliverables. This book shows you how to collaborate closely with other members of the product team, and gather feedback early and often. You’ll learn how to drive the design in short, iterative cycles to assess what works best for the business and the user. Lean UX shows you how to make this change—for the better.


Steal Like An Artist

When asked to talk to students at Broome Community College in upstate New York in the spring of 2011, Austin Kleon wrote a simple list often things he wished he'd heard when he was their age: 'Steal like an artist; Don't wait until you know who you are to start making things; Write the book you want to read; Use your hands; Side projects are important; Do good work and put it where people can see it; Geography is no longer our master; Be nice (the world is a small town.); Be boring (it's the only way to get work done.); and, Creativity is subtraction.' After giving the speech, he posted the text and slides to his popular blog, where it quickly went viral. Now Kleon has expanded his original manifesto into an illustrated guide to the creative life for writers, artists, entrepreneurs, designers, photographers, musicians, and anyone attempting to make things - art, a career, a life - in the digital age. Brief, direct, and visually interactive, the book includes illustrative anecdotes and mini-exercise sections calling out practical actions readers can take to unleash their own creative spirits.


Neural Networks and Learning Machines

Neural Networks and Learning Machines, Third Edition is renowned for its thoroughness and readability. This well-organized and completely up-to-date text remains the most comprehensive treatment of neural networks from an engineering perspective. This is ideal for professional engineers and research scientists.


The Shape of Design

"Design’s ability to connect requires it to be in the middle position. The work’s qualities are defined by the characteristics of what surrounds it, like how the negative space between two closely placed parallel lines creates a third line. We’re that third line, frequently shifting in order to serve and respond to the elements around us. As the elements connected by design change, so, too, does the design. The field is in flux, always being neither this nor that, which makes it frustrating to try to pin down. It is, like all shape-shifters, evasive and slippery." 


Seductive Interaction Design

What happens when you’ve built a great website or app, but no one seems to care? How do you get people to stick around long enough to see how your service might be of value? In Seductive Interaction Design, speaker and author Stephen P. Anderson takes a fresh approach to designing sites and interactions based on the stages of seduction. This beautifully designed book examines what motivates people to act.


Subject To Change

To achieve success in today's ever-changing and unpredictable markets, competitive businesses need to rethink and reframe their strategies across the board. Instead of approaching new product development from the inside out, companies have to begin by looking at the process from the outside in, beginning with the customer experience. It's a new way of thinking-and working-that can transform companies struggling to adapt to today's environment into innovative, agile, and commercially successful organizations.


Donna Spencer

If you're a website designer, intranet manager or someone without much Information Architecture experience, this book answers all those questions you were afraid to ask.


Practical Unit Testing with JUnit and Mockito

By reading this book you will:

  • Grasp the role and purpose of unit tests
  • Write high-quality, readable and maintainable unit tests
  • Learn how to use JUnit and Mockito (but also other useful tools)
  • Avoid common pitfalls when writing unit tests
  • Recognize bad unit tests, and fix them in no time
  • Develop code following the Test Driven Development (TDD) approach
  • Use mocks, stubs and test-spies intelligently
  • Measure the quality of your tests using code coverage and mutation testing
  • Learn how to improve your tests' code so it is an asset and not a burden
  • Test collections, expected exceptions, time-dependent methods and much more
  • Customize test reports so that they show you what you really need to know