E-Book, Englisch, 416 Seiten
Younker Foundations of Agile Python Development
1. ed
ISBN: 978-1-4302-0635-4
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 416 Seiten
ISBN: 978-1-4302-0635-4
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
The agile development movement represents the latest advances in tools and techniques intended to boost developer productivity. This is the first book to apply these sought after principles to Python developers, introducing both the tools and techniques built and supported by the Python community. Authored by Jeff Younker, who is perhaps best known for his creation of a popular Python testing framework, this book is sure to be a hit among readers who may have reached their limits of knowledge regarding the Python language, yet are seeking to improve their understanding of how sound processes can boost productivity to unparalleled heights.
Jeff Younker once trained in mathematics and biochemistry at the University of Houston, but was lost to the world of computers early in his trials. He has been employed in one capacity or another in the world of scripts and programming for over 15 years. He's been developing in Python for the last several years after a long stint working with Java and Perl.
Autoren/Hrsg.
Weitere Infos & Material
1;Contents;5
2;About the Author;13
3;About the Technical Reviewer;14
4;Acknowledgments;15
5;Introduction;17
6;Who This Book Is For;17
6.1;What’s Really in Here?;18
6.2;Contacting Me;19
7;Chapter 1 What Is Agile Development? ;20
7.1;Why More Methodologies?;20
7.2;A Little History;22
7.3;Planning and Agile Development;23
7.4;What Are Agile Methods?;23
7.5;Summary;37
8;Chapter 2 The IDE: Eclipsing the Command Line;39
8.1;Installing Eclipse;41
8.2;Installing Plug-Ins;43
8.3;Installing and Configuring Pydev;49
8.4;Your First Project;50
8.5;Looking Under the Hood;56
8.6;Paying for More Functionality;57
8.7;Summary;58
9;Chapter 3 Revision Control: Subverting Your Code;59
9.1;Revision Control Phylum;60
9.2;What Subversion Does for You;61
9.3;Getting Subverted;62
9.4;Working with Your Subverted Code;65
9.5;Updating Your Working Copy;72
9.6;Conflicting Changes;73
9.7;Subverting Eclipse;77
9.8;Working with a Subverted Eclipse;82
9.9;Committing Changes;88
9.10;Editing a File;89
9.11;Reverting Changes;90
9.12;Resolving Conflicts;91
9.13;Deleting Files;94
9.14;Moving Files;95
9.15;Renaming Files;95
9.16;Copying Files;96
9.17;Summary;97
10;Chapter 4 Setuptools: Harnessing Your Code;99
10.1;The Project: A Simple RSS Reader;99
10.2;Python Modules;100
10.3;The Old Way;101
10.4;The New Way: Cooking with Eggs;102
10.5;Some Notes About Building Multiple Versions;103
10.6;Installing Setuptools;104
10.7;Getting Started with Setuptools;105
10.8;Building the Project;106
10.9;Installing Executables;109
10.10;Dependencies;110
10.11;Think Globally, Install Locally;112
10.12;Fixing Options with setup.cfg;115
10.13;Bootstrapping Setuptools;115
10.14;Subverting Subversion: What Shouldn’t Be Versioned;116
10.15;Checking in Changes: Not Losing It;118
10.16;Working in Development Mode;118
10.17;Summary;120
11;Chapter 5 A Build for Every Check-In;121
11.1;Buildbot Architecture;122
11.2;Installing Buildbot;122
11.3;Configuring the Build System;124
11.4;Mastering Buildbot;125
11.5;Enslaving Buildbot;130
11.6;Hooking Up Source Control;134
11.7;Using the Source;137
11.8;Subversion to Buildbot, Over;139
11.9;A Python for Every Builder;140
11.10;Finally, a Real Build Succeeds;142
11.11;Installing the Build;143
11.12;Supporting Python 2.4 Builds;146
11.13;Ensuring Local Dependency Processing;150
11.14;Keeping Up Appearances;152
11.15;Summary;154
12;Chapter 6 Testing: The Horse and the Cart;156
12.1;Unit Testing;158
12.2;The Problems with Not Unit Testing;159
12.3;Pessimism;160
12.4;Test-Driven Development;163
12.5;Knowing Your Unit Tests;164
12.6;unittest and Nose;165
12.7;A Simple RSS Reader;166
12.8;The First Tests;168
12.9;Finding Tests with Nose;176
12.10;Skipping Slow Tests;177
12.11;Integrating the Tests into the Environment;179
12.12;Summary;190
13;Chapter 7 Test-Driven Development and Impostors;192
13.1;Moving Beyond Acceptance Tests;192
13.2;Renaming;200
13.3;Overriding Existing Methods: Monkeypatching;202
13.4;Using Data Files;206
13.5;Isolation;207
13.6;Rolling Your Own;209
13.7;Python Quirks;210
13.8;Mocking Libraries;210
13.9;Aggregating Two Feeds;211
13.10;A Simple pMock Example;212
13.11;Implementing with pMock;213
13.12;A Simple PyMock Example;229
13.13;Implementing with PyMock;232
13.14;Other pMock and PyMock Features;245
13.15;Summary;248
14;Chapter 8 Everybody Needs Feedback;249
14.1;Measuring Software Quality;251
14.2;Measurements;252
14.3;Quantitative Measurements: How Much Is That Doggie in the Window?;253
14.4;Code Coverage;253
14.5;Complexity Measurements;255
14.6;Velocity: When Are We Done?;258
14.7;Qualitative Measurements: It’s a Shih Tzu!;259
14.8;Coding Conventions;260
14.9;Welcome Back to Python;262
14.10;Never Try to Fix a Social Problem with a Technical Solution;264
14.11;Code Reviews;265
14.12;Renaming;266
14.13;Communication;266
14.14;Technological Feedback: Bad Programmer, No Cookie;267
14.15;Coercion at the Keyboard;267
14.16;When Code Is Submitted;272
14.17;Buildbot and Coverage;274
14.18;Summary;277
15;Chapter 9 Databases;278
15.1;A New Religion;278
15.2;Blurring the Boundaries;279
15.3;Concealing Data Access;280
15.4;Object-Relational Mappers;280
15.5;Python ORMs;282
15.6;Building the Database;311
15.7;Testing;312
15.8;Refactorings;313
15.9;Migrations;313
15.10;Summary;321
15.11;Chapter 10 Web Testing;323
15.12;Really Simple Primer;323
15.13;HTML;324
15.14;CSS;325
15.15;XML;325
15.16;URI and URL;325
15.17;HTTP;326
15.18;Web Servers and Web Applications;326
15.19;WSGI Middleware;330
15.20;Testing Web Applications;330
15.21;Using JsUnit;335
15.22;Summary;351
16;Chapter 11 Functional Testing;353
16.1;Running Acceptance Tests;353
16.2;FIT into Buildbot;367
16.3;Summary;381
17;Index;383




