site_review: 2021-12-08 01:29:04.264977 【技術本】Effective_Python

【技術本】Effective_Python

https://amzn.to/4nUojyA


【技術本】Effective_Python


x postへポスト
Python3.xベースでの解説(Python2.xでのフォローもあり)がありがたい。
Pythonにおける言語の仕様、特性からプログラムにおける最適解決方法を下記1~8章仕立てで59項目提示し、読者が袋小路にハマる前に警鐘を鳴らしてくれる。各項目を軽く頭に留めておき、現場作業での実際の局面での一つの選択肢として重宝しそうだと感じた。

以下の内容をページを追って学ぶことができる。

--------------------------------------------
1章:Python流思考(項目1~13)、2章:関数(項目14~21)、3章:クラスと継承(項目22~28)、4章:メタクラスと属性(項目29~35)
コーディング基準など作業粒度が小さく済む即座に対応できる可読性が向上するテクニックから、将来的な保守や拡張の善し悪しにも影響しうる基底での設計、実装テクニックまで幅広くカバーし紹介している。
--------------------------------------------
5章:並行性と並列性(項目36~41)
スレッド(並行と並列)、子プロセス(並列)、コルーチン(擬似同時実行)、multiprocessing(並列)による各挙動の違いをPythonの言語仕様の観点から最適な選択基準やテクニック(スレッドでブロッキングI/O、相互排他ロック、パイプライン...など)も踏まえ紹介している。
--------------------------------------------
6章:組み込みモジュール(項目42~48)
標準で同梱されているモジュールを使って、問題事例(例:ローカルクロックはdatetimeを使いtimeを避けるべき。精度が必要な数値計算にdecimalを使う。...など)や出くわしそうな事例(例:開発により拡張が続いているゲームの設定値をシリアライズで安全に保存ロードしたい。...など)の解決テクニックを紹介している。また、Pythonの速度低下の大抵の原因は最適な組み込みアルゴリズムとデータ構造を使うことで解決するはずと紹介も踏まえて述べている。
--------------------------------------------
7章:協働作業(項目49~53)
作業を円滑に進めるドキュメンテーションの方法、例外処理の拡張方法、循環依存対策、共通パッケージ依存で対応しているバージョンが異なることにより起こる動作不良を仮想環境で異なるバージョンを共存させて解決する方法などを紹介している。
--------------------------------------------
8章:本番運用準備(項目54~59)
ユニットテスト、対話的デバッグの方法、性能調査用プロファイラ、メモリリーク調査、リリースに向けての環境差異の吸収手段などを紹介している。

以上。


x postへポスト