Pythonハッカーガイドブック 達人が教えるデプロイ、スケーラビリティ、テストのコツ

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

内容紹介

言語をより深く理解し、達人の経験に学び、一歩進んだPythonスキルを身に付ける!

開発者や経験豊富なプログラマーのために、著者の15年以上にわたるPythonの経験を結集して、よくある間違いを避け、より効率的にコードを書き、よりよいプログラムをより短時間で構築する方法を教えます。
マルチスレッドやメモ化などの高度なトピックを幅広くカバーし、APIの設計やデータベースの扱いなどについて、言語自体をより深く理解するためにPythonの内部を学びます。
また、プロジェクトの開始方法から始めて、バージョン管理、コーディングスタイル、自動チェックなどのトピックについて解説します。配布用にソフトウェアをパッケージ化する方法、パフォーマンスを最適化する方法、適切なデータ構造を使用する方法、関数を効率的に定義する方法、適切なライブラリを選択する方法、将来にわたって使用できるプログラムを構築する方法、およびプログラムをバイトコードまで最適化する方法について学習します。
さらに、効果的なデコレータとメソッド(抽象メソッド、静的メソッド、クラスメソッドなど)の作成と使用、ジェネレータや純粋関数を使用した関数プログラミング、抽象構文ツリー(AST)による洗練された自動チェックを導入する方法、動的パフォーマンス分析を適用してコード内のボトルネックを特定する方法、PostgreSQLを使用してデータを効率的に管理する方法も取り上げます。
そのほかに、8人の経験豊かなPythonハッカーへのインタビューも掲載しており、達人のノウハウを知ることができます。
本書には、達人の知識と経験が詰まっています。それらを身に付けて、Pythonの腕を上げ、生産性の高い効率的なPythonコードの書き方への理解を深め、Pythonハッカーの道を進みましょう。

商品を選択する

フォーマット 価格 備考
書籍 2,992
PDF 2,992 ※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

著者プロフィール
20年近くにわたってフリーのソフトウェアハッカーとして活動し、10数年前からPythonでソフトウェア開発を行っている。現在は、分散クラウドプラットフォームOpenStackのプロジェクトチームリーダーを務めている。OpenStackは250万行のPythonからなる最大規模のオープンソースPythonコードベースを持つプラットフォームである。クラウドの構築に携わる前はすばらしいウィンドウマネージャを作成しており、DebianやGNU Emacsなど、さまざまなソフトウェアに貢献している。

監訳者プロフィール
Python Web関係の業務を中心にコンサルティングや構築を行う株式会社CMSコミュニケーションズ代表取締役。2010年から国内のPythonコミュニティに積極的に参画し、PyCon JPの開催に尽力した。2013年3月からは一般社団法人PyCon JP Associationの代表理事を務める。その他のOSS関係コミュニティの主宰またはスタッフとして活動中。一般社団法人Pythonエンジニア育成推進協会顧問理事として、Pythonの教育に積極的に関連している。最近はPythonの魅力を伝えるべく、初心者向けや機械学習分野の講師を精力的に務めたり、Pythonをはじめとした技術話題を扱うポッドキャスト『terapyon channel』(https://podcast.terapyon.net/)を配信中。

目次

はじめに
日本語版のための序文
監訳者序文
本書の対象読者
本書の内容
著者紹介
第1章 プロジェクトを開始する
1.1 Pythonのバージョン
1.2 プロジェクトの計画を立てる
1.3 バージョン番号を管理する
1.4 コーディングスタイルと自動チェック
1.5 Joshua Harlow、Pythonについて語る
第2章 モジュール、ライブラリ、フレームワーク
2.1 インポートシステム
2.2 便利な標準ライブラリ
2.3 外部ライブラリ
2.4 パッケージのインストール:pipをさらに活用する
2.5 フレームワークの使用と選択
2.6 Doug Hellmann、Pythonライブラリについて語る
第3章 ドキュメントの作成とよいAPI プラクティス
3.1 Sphinxによるドキュメントの作成
3.2 まとめ
3.3 Christophe de Vienne、API開発について語る
第4章 タイムスタンプとタイムゾーンの処理
4.1 タイムゾーンがないという問題
4.2 デフォルトのdatetimeオブジェクトを作成する
4.3 dateutilに基づくタイムゾーン対応のタイムスタンプ
4.4 タイムゾーン対応のdatetimeオブジェクトをシリアライズする
4.5 あいまいな時間を解決する
4.6 まとめ
第5章 ソフトウェアの配布
5.1 setup.pyの略史
5.2 setup.cfgによるパッケージ管理
5.3 wheel:配布フォーマット標準
5.4 カスタムソフトウェアを公開する
5.5 エントリポイント
5.6 まとめ
5.7 Nick Coghlan、パッケージ管理について語る
第6章 ユニットテスト
6.1 テストの基礎
6.2 仮想環境
6.3 テストポリシー
6.4 Robert Collins、テストについて語る
第7章 メソッドとデコレータ
7.1 デコレータとそれらを使用する状況
7.2 Python のメソッドの仕組み
7.3 静的メソッド
7.4 クラスメソッド
7.5 抽象メソッド
7.6 静的メソッド、クラスメソッド、抽象メソッドを組み合わせて使用する
7.7 まとめ
第8章 関数型プログラミング
8.1 純粋関数を作成する
8.2 ジェネレータ
8.3 リスト内包
8.4 関数型の関数を使用する
8.5 まとめ
第9章 AST、HY、Lispライクな属性
9.1 ASTを調べる
9.2 ASTをチェックするようにflake8を拡張する
9.3 速習:Hy
9.4 まとめ
9.5 Paul Tagliamonte、ASTとHyについて語る
第10章 パフォーマンスと最適化
10.1 データ構造
10.2 プロファイリングを通じて振る舞いを理解する
10.3 関数を効率的に定義する
10.4 順序付きのリストとbisect
10.5 名前付きタプルとスロット
10.6 メモ化
10.7 PyPyによるPythonの高速化
10.8 バッファプロトコルでゼロコピーを実現する
10.9 まとめ
10.10 Victor Stinner、最適化について語る
第11章 スケーリングとアーキテクチャ
11.1 Pythonのマルチスレッディングとその制限
11.2 マルチプロセッシングとマルチスレッディング
11.3 イベント駆動型アーキテクチャ
11.4 その他の選択肢とasyncio
11.5 サービス指向アーキテクチャ
11.6 ZeroMQによるプロセス間通信
11.7 まとめ
第12章 リレーショナルデータベースの管理
12.1 RDBMS、ORM、それらを使用する状況
12.2 データベースバックエンド
12.3 FlaskとPostgreSQLによるデータのストリーミング
12.4 Dimitri Fontaine、データベースについて語る
第13章 コーディングを減らしてコードを増やす
13.1 sixを使ってPython 2とPython 3をサポートする
13.2 PythonをLispのように使ってシングルディスパッチャを作成する
13.3 コンテキストマネージャ
13.4 attrsを使って決まりきったコードを減らす
13.5 まとめ
 

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?