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

Pythonプロフェッショナルプログラミング
著者 株式会社ビープラウド
ジャンル IT系書籍 > プログラミング言語
書店発売日 2012/03/27
ISBN 9784798032948
判型・ページ数 B5変・464ページ
定価 3080円
(本体2800円+税10%)
在庫 品切れ・重版未定

この本に関するお問い合わせ・感想

Pythonを使ったアプリケーション開発のリアルな手法を学ぶプログラミングガイドブックです。個人の開発環境を改善したい人、チームの開発を改善したい人、仕事でつかえるPython環境系のためにノウハウを学びたい人を対象に、Pythonの共有環境の構築と管理、チケット駆動開発、ソースコード管理(Mercurial)、PyPlパッケージング、Jenkinsで継続的インテグレーション、パフォーマンス向上(nginxとgunicorn)、GAE開発、Djangoフレームワークなど実践的なノウハウを解説。Pythonで数多くの開発を行ってきたプロフェッショナル集団が、Python公式マニュアルの域を超えて、現場の開発者の手法を学びたい人に向けて解説したリアルな技術集です。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/3294.html
Part 1 Pythonで開発しよう
Chapter 01 Pythonをはじめよう
01-01 Pythonのセットアップ
01-01-01 aptパッケージのインストール
01-01-02 easy_installとpip
01-01-03 virtualenvのインストール
01-01-04 複数バージョンのPythonの使用
01-02 Mercurialのセットアップ
01-02-01 Mercurialの概要
01-02-02 Mercurialのインストール
01-02-03 リポジトリの作成
01-02-04 ファイルの操作
01-03 エディタと開発に便利なツール
01-03-01 エディタ
01-03-02 Python開発Tips
01-04 まとめ

Part 1 Pythonで開発しよう
Chapter 02 Webアプリケーションを作る
02-01 Webアプリケーションを知る
02-01-01 Webアプリケーションとはどういうものか
02-01-02 Webアプリケーションとデスクトップアプリケーションの違い
02-01-03 Webアプリケーションの仕組み
02-02 事前準備
02-02-01 Flaskについて
02-02-02 Flaskのインストール
02-03 Webアプリケーション開発の流れ
02-04 作るものを明らかにしよう
02-04-01 ゲストブックアプリケーションの要件
02-04-02 必要な機能を明らかにする
02-04-03 必要な画面を明らかにする
02-05 画面を作る
02-05-01 作成する画面をイメージする
02-05-02 HTMLとCSSを作成する
02-06 機能を作成する
02-06-01 コメントデータを保存する
02-06-02 保存しておいたコメントの一覧を取得する
02-06-03 テンプレートエンジンを使って画面表示を行う
02-06-04 投稿先のURLを用意する
02-06-05 テンプレートの出力を調整する
02-07 動作確認
02-08 まとめ

Part 2 チーム開発のサイクル
Chapter 03 チームの開発環境を整える
03-01 共有サーバーにおけるユーザー作成・権限設定
03-01-01 ユーザーとグループの作成
03-01-02 sudoers
03-01-03 virtualenv
03-02 課題管理システム
03-02-01 Trac
03-02-02 Tracのインストール
03-03 バージョン管理システム
03-03-01 MercurialとTracの連携
03-04 チーム開発に有用なツール
03-04-01 Skype
03-04-02 DropBox
03-04-03 Google Docs
03-05 まとめ

Part 2 チーム開発のサイクル
Chapter 04 ドキュメントの基盤を整える
04-01 プロジェクトのドキュメントを書こう
04-01-01 ドキュメントを書く上で、何をしたくないのか
04-01-02 どのような状態ならドキュメントを書きたいのか
04-02 Sphinxの基本とインストール
04-02-01 Sphinxのインストール
04-02-02 reStructuredText入門
04-02-03 Sphinxによる構造化ドキュメント作成の流れ
04-02-04 Sphinx拡張
04-03 Sphinxの導入で解決する課題と新しい課題
04-03-01 プレーンテキストなので、ドキュメントを普段利用している
エディタで書ける
04-03-02 情報と表示を分離し、装飾などの見た目にとらわれずに文面に
集中して書ける
04-03-03 提出用PDF出力など、一つのソースから複数のフォーマットに
出力できる
04-03-04 構造化により、
ドキュメントを複数のファイルに分割して書ける
04-03-05 Mercurial等で簡単にバージョン管理できる
04-03-06 APIリファレンスとプログラムを一体管理する仕組み
(docstring、doctest、autodoc)
04-03-07 普段の参照にはWebブラウザを利用して共有できる
04-03-08 Sphinxの導入で発生する課題
04-04 ドキュメントポートフォリオの作成と利用
04-04-01 ドキュメントポートフォリオとは?
04-04-02 プロジェクトで必要となるドキュメントの一覧
04-04-03 リーダー・マネージャー向け
04-04-04 設計者向け
04-04-05 開発者向け
04-04-06 顧客向け
04-05 まとめ

Part 2 チーム開発のサイクル
Chapter 05 課題管理とレビュー
05-01 課題管理とチケット駆動開発
05-01-01 コーディング開始……でもその前にチケットを起票しよう!
05-01-02 チケットの番号と同じ名前のブランチを作ろう
05-01-03 リリースとブランチを対応させよう
05-01-04 ブランチのマージ
05-01-05 チケットを整理しよう
05-01-06 チケットを分割しよう
05-02 レビュー
05-02-01 なぜレビューをするのか
05-02-02 レビューしてもらおう: コードレビュー編
05-02-03 レビューしてもらおう: 作業レビュー編
05-02-04 レビューしよう: コードレビュー編
05-02-05 レビューしよう: 作業レビュー編
05-03 まとめ

Part 2 チーム開発のサイクル
Chapter 06 モジュール分割設計と単体テスト
06-01 モジュール分割設計
06-01-01 機能設計
06-01-02 Webアプリケーションを構成するコンポーネント
06-01-03 コンポーネント設計
06-01-04 モジュールとパッケージ
06-02 テスト
06-02-01 テストの種類
06-02-02 ユニットテストを書く
06-02-03 ユニットテストから環境依存を排除する
06-02-04 WebTestを使った機能テスト
06-03 テストから設計を改善する
06-03-01 テストしやすい設計
06-04 テスト実行の自動化に向けて
06-04-01 テスト実行環境を自動作成する
06-04-02 繰り返し可能なテスト環境
06-05 まとめ

Part 2 チーム開発のサイクル
Chapter 07 パッケージングと環境セットアップの自動化
07-01 ソースコードのパッケージングと配布の自動化
07-01-01 パッケージング
07-01-02 パッケージ配布の自動化
07-01-03 PyPIへのパッケージ登録
07-01-04 PyPIへのアップロード
07-01-05 パッケージの説明を書く
07-02 インストールと環境構築関連ライブラリの紹介
07-02-01 Distribute
07-02-02 pip
07-02-03 virtualenv
07-03 アプリケーション環境セットアップの自動化に必要な機能とツール
07-03-01 独立したPython環境の用意
07-03-02 Pythonライブラリのパッケージ化とインストール
07-03-03 環境全体のパッケージバージョンの固定化
07-03-04 環境全体のオフラインインストール
07-03-05 環境再構築時のキャッシュ利用
07-03-06 バイナリビルド済みパッケージの利用
07-03-07 PyPI停止時または高負荷時の代替サーバー
07-04 アプリケーション環境セットアップの自動化
07-04-01 はじめに
07-04-02 はじめの環境作成
07-04-03 開発ソースコードを含む環境
07-04-04 デプロイ環境へのオフラインインストール
07-04-05 デプロイ環境へのバイナリビルド済みパッケージの
インストール
07-05 社内ライブラリを共有する
07-05-01 複数プロジェクトでのコード共有方法
07-05-02 非公開パッケージを環境セットアップの自動化に組み込む
07-06 まとめ

Part 2 チーム開発のサイクル
Chapter 08 Mercurialによるソースコード管理
08-01 Mercurialリポジトリの管理と設定
08-01-01 サーバー上のUNIXユーザーのグループ設定
08-01-02 umaskの設定
08-01-03 リポジトリの作成
08-01-04 hgrcの設定
08-01-05 設定したリポジトリを使う
08-01-06 hgwebを使った簡易中央リポジトリ
08-02 フックを活用しよう
08-02-01 フックの指定方法
08-02-02 フックスクリプトを使ってみる
08-02-03 フックイベント
08-02-04 フックの実行タイミング
08-02-05 フックスクリプトを作る
08-03 ブランチの操作
08-04 マージについて
08-04-01 コンフリクトが発生しない場合のマージ
08-04-02 マージの際のコンフリクト発生とテキストエディタでの
解消方法
08-04-03 マージのパターンとコンフリクト
08-04-04 GUIのマージツールでのマージ方法
08-05 GUIクライアント
08-05-01 GUIクライアントの紹介
08-05-02 GUIクライアントの利点
08-05-03 GUIクライアントの欠点
08-05-04 hgwebcommit
08-06 現実的な運用を考える BP Mercurial W/F
08-06-01 概要
08-06-02 背景
08-06-03 リポジトリの構成
08-06-04 ソースコードをコミットする
08-06-05 デザインをコミットする
08-06-06 ブランチのマージ
08-06-07 集約ブランチ
08-07 まとめ

Part 2 チーム開発のサイクル
Chapter 09 Jenkinsで継続的インテグレーション
09-01 継続的インテグレーション(CI)とは
09-01-01 継続的インテグレーション(CI)について
09-01-02 Jenkinsについて
09-02 Jenkinsのインストール
09-02-01 Javaをインストールする
09-02-02 Jenkins本体のインストール
09-02-03 本章で利用するJenkinsプラグイン
09-03 テストコードを実行する
09-03-01 簡単なテストコードを使った例
09-03-02 ジョブを登録する
09-03-03 ジョブの成功・失敗
09-04 テストの結果をレポートに出力する
09-04-01 noseをインストールする
09-04-02 nosetestsコマンドを呼ぶ
09-04-03 Jenkinsの設定をnose用に変える
09-05 カバレッジレポートも表示してみよう
09-05-01 coverageのインストール
09-05-02 coverageコマンドの概要 : 「集計」と「出力」の2ステップに
分かれる
09-05-03 noseからcoverageを実行する
09-05-04 カバレッジレポートを取り込む
09-06 Djangoのテストを実行する
09-06-01 Pythonモジュールのインストール
09-06-02 Djangoのセットアップ
09-06-03 サンプルコード
09-06-04 Jenkinsのセットアップ
09-06-05 「ビルド後の処理」セクションの設定
09-07 ドキュメントのビルドをJenkinsから実行する
09-07-01 Sphinxのインストール
09-07-02 Jenkinsジョブの登録内容
09-07-03 Sphinxのビルドで警告が出たらジョブを失敗させる
09-07-04 成果物の参照
09-07-05 Task Scanner PluginでTODO管理
09-07-06 Task Scanner Pluginの設定例
09-08 Jenkinsをさらに活用する
09-08-01 便利な機能
09-08-02 さらに改善する
09-09 まとめ

Part 3 サービス公開
Chapter 10 環境構築とデプロイの自動化
10-01 依存するパッケージのインストールと設定
10-01-01 作業ユーザーの作成
10-01-02 必要なパッケージを列挙する
10-01-03 閉じた環境でのインストール
10-01-04 アプリケーションの設定
10-01-05 動作を検証する
10-02 デプロイ手順の整備
10-02-01 リポジトリへのアクセスを可能にする
10-02-02 リポジトリをcloneする
10-02-03 デプロイ方法のまとめ
10-03 Fabricを使って作業を自動化する
10-03-01 Fabricとは
10-03-02 インストールと環境整備
10-03-03 簡単なスクリプトを書いてみる
10-03-04 手順書を元に自動化する
10-03-05 動作を検証する
10-03-06 コメントをつけよう
10-04 まとめ

Part 3 サービス公開
Chapter 11 アプリケーションのパフォーマンス改善
11-01 Webアプリケーションのパフォーマンス
11-01-01 Webアプリケーションに大量のリクエストが
集中するとどうなるか
11-01-02 高負荷への対策
11-02 ゲストブックアプリのパフォーマンスを測定する
11-02-01 アプリケーションのパフォーマンスとは
11-02-02 ApacheBenchのインストール
11-02-03 ApacheBenchを使ったパフォーマンス測定
11-03 gunicornについて
11-03-01 gunicornのインストール
11-03-02 gunicornでアプリケーションを動作させる
11-04 nginxについて
11-04-01 nginxのインストール
11-04-02 nginxのパフォーマンスを調べる
11-05 nginxとgunicornでアプリケーションを動作させる
11-05-01 gunicornの設定
11-05-02 nginxの設定
11-05-03 nginx+gunicornのパフォーマンスを測定する
11-05-04 パフォーマンスを比較する
11-06 まとめ

Part 3 サービス公開
Chapter 12 Google App Engine
12-01 App Engineについて
12-01-01 App Engineとは
12-01-02 App Engineの利点
12-01-03 App Engineプラットフォームにおける制限
12-01-04 利用実績
12-02 App Engineの主要な機能
12-02-01 データストア
12-02-02 自動スケーリングと負荷分散
12-02-03 App EngineにおけるPythonの実行環境
12-03 App Engineでの開発準備と動作確認
12-03-01 アカウントの取得とアプリケーションの作成
12-03-02 SDKのセットアップ
12-03-03 簡単なアプリケーションの作成
12-03-04 デプロイ
12-04 App Engine で Flaskアプリ開発
12-04-01 既存のアプリケーションを動作させる
12-04-02 デプロイして動作させる
12-04-03 管理コンソール
12-05 チューニング:パフォーマンスを改善する
12-05-01 Appstatsによる性能測定
12-05-02 マルチスレッドに対応させる
12-06 チューニング:課金額を抑える
12-06-01 課金に関する設定
12-06-02 課金テーブル
12-06-03 インスタンスを節約する
12-06-04 データストアの操作を減らす
12-07 テスト
12-07-01 テストコード内でのAPIの利用
12-07-02 テストの実行
12-07-03 本番サーバー上でのテスト
12-08 まとめ

Part 4 開発を加速するテクニック
Chapter 13 テストを味方にする
13-01 現状認識:テストを取り巻く環境
13-02 開発の各プロセスへのテスト導入
13-02-01 ドキュメントのテスト(レビュー)
13-02-02 テスト設計の作り方(インプットとアウトプット)
13-02-03 テスト実施とテストフェーズの回し方
(何をどこまでやるのか)
13-03 まとめ:テストは怖くない

Part 4 開発を加速するテクニック
Chapter 14 Djangoを便利に使う
14-01 Djangoとは
14-01-01 Djangoのインストール
14-01-02 Djangoのアーキテクチャ
14-01-03 Djangoのドキュメント
14-02 データベースのマイグレーションをもっと便利に
14-02-01 データベースのマイグレーションとは
14-02-02 デフォルトDjangoでは何ができるか
14-02-03 はい、それ。Southならできます
14-03 fixture replacementでテストをもっと便利に
14-03-01 テストのフィクスチャとは
14-03-02 デフォルトのフィクスチャだとここが不便
14-03-03 factory_boyの利用
14-04 デバッグをもっと便利に
14-04-01 Django Debug Toolbar
14-05 まとめ

Part 4 開発を加速するテクニック
Chapter 15 便利なPythonモジュールを使おう
15-01 日時の計算を簡単に(dateutil)
15-01-01 日時計算の複雑さ
15-01-02 dateutilの導入
15-02 モデルのマッピングを簡単に(bpmappers)
15-02-01 モデルのマッピングが必要である理由
15-02-02 マッピングルールの構造化と再利用
15-02-03 bpmappersの導入
15-02-04 Djangoとの連携
15-02-05 JSON APIを作ってみよう
15-03 文字コード判別(chardet)
15-03-01 chardetの導入
15-04 RSSフィードのパース(feedparser)
15-04-01 feedparserの導入
15-04-02 feedparserでRSSフィードをパースする
15-05 画像処理(PIL)
15-05-01 PILのインストール
15-05-02 画像フォーマットを変換する
15-05-03 画像をリサイズする
15-05-04 画像の一部を切り抜く
15-05-05 画像にフィルタ処理を行う
15-06 データを暗号化する(PyCrypto)
15-06-01 PyCryptoのインストール
15-06-02 共通鍵方式(AES)による暗号化と復号
15-06-03 公開鍵方式(RSA)による暗号化と復号
15-07 TwitterのAPIを使う(tweepy)
15-07-01 tweepyの導入
15-07-02 アプリケーションの登録とコンシューマキーの取得
15-07-03 アクセストークンの取得
15-07-04 TwitterAPIの呼び出し
15-07-05 Twitterで認証を行うシステムを作る
15-08 まとめ
Appendix
Appendix A VirtualBoxのセットアップ
A-01 VirtualBoxのインストール
A-02 新規仮想マシンの作成
A-03 仮想マシンのバックアップ
Appendix
Appendix B OS(Ubuntu)のセットアップ
B-01 Ubuntuのインストール
B-02 SSHの設定
B-03 日本語設定

ご注文

シェアする

このエントリーをはてなブックマークに追加

同じジャンルの商品

お知らせ

一覧