Python プロフェッショナルプログラミング

説明
追記: 2018 年に第 3 版が出版されました。新しく手に取るなら第 3 版がよいかと思います。
Python 開発現場のさまざまなノウハウが詰まった一冊です。
チーム開発環境・ドキュメント作成・チケット管理・自動テスト・継続的インテグレーション( CI )・ Google App Engine (GAE) 等の幅広いトピックが取り上げられています。 日々実際に Python を利用している開発チーム「ならでは」な内容の一冊となっています。
2015 年に第 2 版が出版されたので、今から読むなら第 2 版を読むのがよいでしょう。
目次
Part 1 Python で開発しよう
Chapter 01 Python をはじめよう
01-01 Python のセットアップ
01-02 Mercurial のセットアップ
01-03 エディタと開発に便利なツール
01-04 まとめ
Chapter 02 Web アプリケーションを作る
02-01 Web アプリケーションを知る
02-02 事前準備
02-03 Web アプリケーション開発の流れ
02-04 作るものを明らかにしよう
02-05 画面を作る
02-06 機能を作成する
02-07 動作確認
02-08 まとめ
Part 2 チーム開発のサイクル
Chapter 03 チームの開発環境を整える
03-01 共有サーバーにおけるユーザー作成・権限設定
03-02 課題管理システム
03-03 バージョン管理システム
03-04 チーム開発に有用なツール
03-05 まとめ
Chapter 04 ドキュメントの基盤を整える
04-01 プロジェクトのドキュメントを書こう
04-02 Sphinx の基本とインストール
04-03 Sphinx の導入で解決する課題と新しい課題
04-04 ドキュメントポートフォリオの作成と利用
04-05 まとめ
Chapter 05 課題管理とレビュー
05-01 課題管理とチケット駆動開発
05-02 レビュー
05-03 まとめ
Chapter 06 モジュール分割設計と単体テスト
06-01 モジュール分割設計
06-02 テスト
06-03 テストから設計を改善する
06-04 テスト実行の自動化に向けて
06-05 まとめ
Chapter 07 パッケージングと環境セットアップの自動化
07-01 ソースコードのパッケージングと配布の自動化
07-02 インストールと環境構築関連ライブラリの紹介
07-03 アプリケーション環境セットアップの自動化に必要な機能とツール
07-04 アプリケーション環境セットアップの自動化
07-05 社内ライブラリを共有する
07-06 まとめ
Chapter 08 Mercurial によるソースコード管理
08-01 Mercurial リポジトリの管理と設定
08-02 フックを活用しよう
08-03 ブランチの操作
08-04 マージについて
08-05 GUI クライアント
08-06 現実的な運用を考える BP Mercurial W/F
08-07 まとめ
Chapter 09 Jenkins で継続的インテグレーション
09-01 継続的インテグレーション( CI )とは
09-02 Jenkins のインストール
09-03 テストコードを実行する
09-04 テストの結果をレポートに出力する
09-05 カバレッジレポートも表示してみよう
09-06 Django のテストを実行する
09-07 ドキュメントのビルドを Jenkins から実行する
09-08 Jenkins をさらに活用する
09-09 まとめ
Part 3 サービス公開
Chapter 10 環境構築とデプロイの自動化
10-01 依存するパッケージのインストールと設定
10-02 デプロイ手順の整備
10-03 Fabric を使って作業を自動化する
10-04 まとめ
Chapter 11 アプリケーションのパフォーマンス改善
11-01 Web アプリケーションのパフォーマンス
11-02 ゲストブックアプリのパフォーマンスを測定する
11-03 gunicorn について
11-04 nginx について
11-05 nginx と gunicorn でアプリケーションを動作させる
11-06 まとめ
Chapter 12 Google App Engine
12-01 App Engine について
12-02 App Engine の主要な機能
12-03 App Engine での開発準備と動作確認
12-04 App Engine で Flask アプリ開発
12-05 チューニング: パフォーマンスを改善する
12-06 チューニング: 課金額を抑える
12-07 テスト
12-08 まとめ
Part 4 開発を加速するテクニック
Chapter 13 テストを味方にする
13-01 現状認識: テストを取り巻く環境
13-02 開発の各プロセスへのテスト導入
13-03 まとめ: テストは怖くない
Chapter 14 Django を便利に使う
14-01 Django とは
14-02 データベースのマイグレーションをもっと便利に
14-03 fixture replacement でテストをもっと便利に
14-04 デバッグをもっと便利に
14-05 まとめ
Chapter 15 便利な Python モジュールを使おう
15-01 日時の計算を簡単に( dateutil )
15-02 モデルのマッピングを簡単に( bpmappers )
15-03 文字コード判別( chardet )
15-04 RSS フィードのパース( feedparser )
15-05 画像処理( PIL )
15-06 データを暗号化する( PyCrypto )
15-07 Twitter の API を使う( tweepy )
15-08 まとめ
Appendix
Appendix A VirtualBox のセットアップ
A-01 VirtualBox のインストール
A-02 新規仮想マシンの作成
A-03 仮想マシンのバックアップ
Appendix B OS ( Ubuntu )のセットアップ
B-01 Ubuntu のインストール
B-02 SSH の設定
B-03 日本語設定
紹介( powered by openBD )
共有環境の構築と管理/チケット駆動開発/ソースコード管理(Mercurial)/PyPIパッケージング/Jenkinsで継続的インテグレーション(CI)/パフォーマンス向上(nginxとgunicorn)/GAE開発/Djangoフレームワーク…Python開発のリアルな手法を学ぶ。