概要
- Bruce Eckel による 「Insights, Idioms and Patterns」 の構成と概要説明
- 各パートと章の 主なテーマ の整理
- 技術的基礎 から デザインパターン、 関数型プログラミング、 副作用管理 まで網羅
- GitHub で例題・解答も公開
- CC BY-NC-ND 4.0 ライセンス下で無料公開
「Insights, Idioms and Patterns」全体構成
- 著者: Bruce Eckel
- オンラインで自由に閲覧可能な プログラミング書籍
- Python を中心に、設計パターンやプログラミングのベストプラクティスを解説
Part I · Foundations(基礎)
- 01 Introduction(序論):本書の目的とアプローチ
- 02 Tour(全体像):主要なトピックの概要
- 03 Containers(コンテナ):リスト、辞書などのデータ構造
- 04 Control Flow(制御フロー):if、for、whileなどの制御文
- 05 Functions(関数):関数定義と使い方
- 06 Modules and Packages(モジュールとパッケージ):コードの構造化
- 07 Classes(クラス):オブジェクト指向の基本
- 08 Static Typing(静的型付け):型ヒントの活用
- 09 Class Attributes(クラス属性):属性管理
- 10 Cleanup(クリーンアップ):リソース管理と後処理
Part II · Techniques(テクニック)
- 11 Testing(テスト):単体テストとテスト手法
- 12 Data Classes as Types(データクラス):型としてのデータクラス利用
- 13 Pattern Matching(パターンマッチング):構造的条件分岐
- 14 Decorators(デコレータ):関数やクラスの拡張
- 15 Context Managers(コンテキストマネージャ):with文の活用
- 16 Comprehensions(内包表記):リスト・辞書内包表記
- 17 Metaprogramming(メタプログラミング):動的コード生成
- 18 Performance(パフォーマンス):最適化手法
- 19 Concurrency(並行処理):スレッド・非同期処理
Part III · Patterns(パターン)
- 20 Rethinking Objects(オブジェクト再考):オブジェクト指向再検討
- 21 The Pattern Concept(パターン概念):設計パターンの基礎
- 22 Data Transfer Objects(DTO):データ転送オブジェクト
- 23 Iterators(イテレータ):反復子パターン
- 24 Singleton(シングルトン):インスタンス単一化
- 25 Template Method(テンプレートメソッド):アルゴリズム骨組み
- 26 Surrogate(サロゲート):代理オブジェクト
- 27 Factory(ファクトリー):生成パターン
- 28 Function Objects(関数オブジェクト):関数のオブジェクト化
- 29 Changing the Interface(インターフェース変更):柔軟なAPI設計
- 30 Observer(オブザーバー):通知パターン
- 31 State Machines(状態機械):状態遷移管理
- 32 Multiple Dispatching(多重ディスパッチ):動的メソッド選択
- 33 Visitor(ビジター):構造走査パターン
- 34 Composite and Interpreter(コンポジット・インタプリタ):複合構造と解釈
- 35 Flyweight(フライウェイト):軽量化パターン
- 36 Memento(メメント):状態保存
- 37 Pattern Refactoring(パターンリファクタリング):改善手法
- 38 Simulation(シミュレーション):システム模擬
- 39 Pattern Catalog(パターンカタログ):パターン総覧
Part IV · Functional Programming(関数型プログラミング)
- 40 Foundations(基礎):関数型の基本思想
- 41 Toolkits(ツールキット):関数型ツールの紹介
- 42 Error Handling(エラー処理):例外と安全性
- 43 Assurance(保証):品質保証手法
Part V · Effects(副作用管理)
- 44 Effect Management(副作用管理):副作用の制御
- 45 Generators(ジェネレータ):遅延評価
- 46 Stateless(ステートレス):状態を持たない設計
- 47 Stateless in Practice(実践ステートレス):現場での応用
付録・その他
- GitHub で例題や解答を公開
- CC BY-NC-ND 4.0 ライセンス:非営利・改変不可・要クレジット
- オンラインで 無料閲覧 可能
- 無断転載禁止
参考リンク
- 書籍公式ページ: オンラインで全文公開
- 例題・解答: GitHubリポジトリ