試験公開中

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

Pythonハッカーガイドブック

マイナビ出版

2,720円+税

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

関連サイト

本書の関連ページが用意されています。

内容紹介

開発者や経験豊富なプログラマーのために、著者の15年以上にわたるPythonの経験を結集して、よくある間違いを避け、より効率的にコードを書き、よりよいプログラムをより短時間で構築する方法を教えます。

マルチスレッドやメモ化などの高度なトピックを幅広くカバーし、APIの設計やデータベースの扱いなどについて、言語自体をより深く理解するためにPythonの内部を学びます。

また、プロジェクトの開始方法から始めて、バージョン管理、コーディングスタイル、自動チェックなどのトピックについて解説します。配布用にソフトウェアをパッケージ化する方法、パフォーマンスを最適化する方法、適切なデータ構造を使用する方法、関数を効率的に定義する方法、適切なライブラリを選択する方法、将来にわたって使用できるプログラムを構築する方法、およびプログラムをバイトコードまで最適化する方法について学習します。

さらに、効果的なデコレータとメソッド(抽象メソッド、静的メソッド、クラスメソッドなど)の作成と使用、ジェネレータや純粋関数を使用した関数プログラミング、抽象構文ツリー(AST)による洗練された自動チェックを導入する方法、動的パフォーマンス分析を適用してコード内のボトルネックを特定する方法、PostgreSQLを使用してデータを効率的に管理する方法も取り上げます。

そのほかに、8人の経験豊かなPythonハッカーへのインタビューも掲載しており、達人のノウハウを知ることができます。

本書には、達人の知識と経験が詰まっています。それらを身に付けて、Pythonの腕を上げ、生産性の高い効率的なPythonコードの書き方への理解を深め、Pythonハッカーの道を進みましょう。

書誌情報

  • 著者: Julien Danjou, 株式会社クイープ, 寺田 学
  • 発行日: (紙書籍版発行日: 2020-05-29)
  • 最終更新日: 2020-05-29
  • バージョン: 1.0.0
  • ページ数: 328ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: マイナビ出版

対象読者

著者について

Julien Danjou

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

株式会社クイープ

1995 年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001 年に日本法人を設立。主な訳書に『マルウェア データサイエンス』『プラトンとナード』『サイバーセキュリティ レッドチーム実践ガイド』(マイナビ出版)、『Amazon Web Services インフラサービス活用大全』(インプレス)、『なっとく!ディープラーニング』『Python トリック』(翔泳社)、『プログラミングASP.NET Core』(日経BP)、『RaspberryPi で学ぶコンピュータアーキテクチャ』(オライリー・ジャパン)などがある。

寺田 学

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 まとめ
Home 書籍一覧 Pythonハッカーガイドブック ▲ ページトップへ戻る