【2021年】デザインパターンの本「最新・人気のおすすめの15冊」

プログラムの大きな設計指針の1つとなる「デザインパターン」。

設計時の迷いや思考時間を軽減してくれるのはもちろん、別のエンジニアとの設計に関する意思疎通・会話のためにも、有益な知識です。

デザインパターンの知識がなくてもプログラムは組めますが、プロのエンジニアとしてやっていくなら、主要なパターンは知っておくべきといえるでしょう。

こちらでは、そんなデザインパターンの参考書を、人気・高評価のおすすめ本とともに紹介していきます。

 

 

Contents

 

Kindle Unlimited 1ヶ月無料

kindle_unlimited_sale
 
  • 1ヶ月無料で読み放題
  • 1ヶ月以内でも解約可能
  • 解約後も1ヶ月まで利用可


 

デザインパターンの本「最新の人気ランキング 20冊」

今人気の「デザインパターンの本」をランキングで一覧したのが以下です。

(2021/10/25 12:01 更新)
Rank製品価格
1
J2EEデザインパターン
発売日 2009/06/30
Crawford, William, Kaplan, Jonathan (O'Reilly Media)
総合評価
3,581円
4,180円
350円
2
機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決...
発売日 2021/10/19
Valliappa Lakshmanan, Sara Robinson, Michael Munn (オライリージャパン)
4,180円
4,180円
4,180円
3
4,180円
2,090円
4,180円
4,180円
4
Java言語で学ぶデザインパターン入門第3版
発売日 2021/11/13
結城 浩 (SBクリエイティブ)
4,290円
4,290円
4,290円
4,400円
5
入門 監視 ―モダンなモニタリングのためのデザインパターン...
発売日 2019/01/17
Mike Julian (オライリージャパン)
総合評価
3,080円
3,080円
3,080円
6
AIエンジニアのための機械学習システムデザインパターン
発売日 2021/05/17
澁井 雄介 (翔泳社)
総合評価
3,960円
(+180pt)
3,564円
3,960円
3,960円
7
増補改訂版Java言語で学ぶデザインパターン入門
発売日 2004/06/19
結城 浩 (ソフトバンククリエイティブ)
総合評価
4,180円
3,762円
4,180円
4,180円
8
2,348円
2,218円
2,464円
2,300円
9
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本...
発売日 2005/12/02
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates (オライリージャパン)
総合評価
5,060円
5,060円
5,060円
10
インフラデザインパターン ── 安定稼動に導く127の設計方式 WEB+DB PRESS plus...
発売日 2018/11/14
杉原 健郎, 吉田 一幸, 岩崎 賢治, 三浦 広志 (技術評論社)
総合評価
2,948円
2,948円
2,948円
2,948円
11
3,740円
3,366円
3,740円
3,740円
12
Amazon Web Servicesクラウドデザインパターン設計ガイド 改訂版(日経BP Next ICT選書)...
発売日 2015/07/21
玉川 憲, 片山 暁雄, 鈴木 宏康, 野上 忍 (日経BP)
Kindle Unlimited対象
総合評価
2,123円
2,970円
2,970円
1,420円
13
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編...
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
5,990円
4,653円
5,170円
8,980円
14
オブジェクト指向における再利用のためのデザインパターン...
ガンマ,エリック, ジョンソン,ラルフ, ヘルム,リチャード, ブリシディース,ジョン (ソフトバンククリエイティブ)
総合評価
5,280円
5,280円
5,280円
15
Amazon Web Services クラウドデザインパターン実装ガイド 改訂版...
発売日 2015/04/01
アマゾン データ サービス ジャパン 玉川憲, 片山暁雄, アイレット 鈴木宏康 (日経BP)
Kindle Unlimited対象
総合評価
4,180円
4,180円
4,180円
4,180円
16
ひとり情シスのためのWindows Server 逆引きデザインパターン ―Windows Server 2016対応―...
発売日 2017/06/18
国井 傑, 新井 慎太朗 (エクスナレッジ)
総合評価
3,080円
3,080円
3,080円
17
レイアウトのデザインパターン帖
発売日 2018/10/01
(パイ インターナショナル)
総合評価
457円
2,090円
2,090円
1,950円
18
独習デザインパターンC++
発売日 2015/03/27
株式会社テクノロジックアート (翔泳社)
総合評価
4,620円
3,600円
3,740円
3,740円
19
2,860円
2,860円
2,860円
20
Node.jsデザインパターン 第2版
発売日 2019/05/18
Mario Casciaro, Luciano Mammino (オライリージャパン)
総合評価
4,620円
4,620円
4,620円
 

以降でおすすめ・注目の本をピックアップしていきます。

Kindle版のある本なら試し読みも可能。大概目次まで見れるので、概要もつかめるので、サンプル試読がおすすめです。

 

デザインパターンの本 人気の10冊

以下が「デザインパターンの本」人気の10冊詳細です。

(2021/10/25 12:01 更新)
Rank製品価格
1
J2EEデザインパターン
発売日 2009/06/30
Crawford, William, Kaplan, Jonathan (O'Reilly Media)
総合評価
3,581円
4,180円
350円
2
機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決...
発売日 2021/10/19
Valliappa Lakshmanan, Sara Robinson, Michael Munn (オライリージャパン)
4,180円
4,180円
4,180円
3
4,180円
2,090円
4,180円
4,180円
4
Java言語で学ぶデザインパターン入門第3版
発売日 2021/11/13
結城 浩 (SBクリエイティブ)
4,290円
4,290円
4,290円
4,400円
5
入門 監視 ―モダンなモニタリングのためのデザインパターン...
発売日 2019/01/17
Mike Julian (オライリージャパン)
総合評価
3,080円
3,080円
3,080円
6
AIエンジニアのための機械学習システムデザインパターン
発売日 2021/05/17
澁井 雄介 (翔泳社)
総合評価
3,960円
(+180pt)
3,564円
3,960円
3,960円
7
増補改訂版Java言語で学ぶデザインパターン入門
発売日 2004/06/19
結城 浩 (ソフトバンククリエイティブ)
総合評価
4,180円
3,762円
4,180円
4,180円
8
2,348円
2,218円
2,464円
2,300円
9
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本...
発売日 2005/12/02
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates (オライリージャパン)
総合評価
5,060円
5,060円
5,060円
10
インフラデザインパターン ── 安定稼動に導く127の設計方式 WEB+DB PRESS plus...
発売日 2018/11/14
杉原 健郎, 吉田 一幸, 岩崎 賢治, 三浦 広志 (技術評論社)
総合評価
2,948円
2,948円
2,948円
2,948円
 

J2EEデザインパターン

J2EEデザインパターン
(著)Crawford, William, Kaplan, Jonathan
発売日 2009/06/30
総合評価
(2021/10/25 12:01時点)

Architects of buildings and architects of software have more in common than most people think. Both professions require attention to detail, and both practitioners will see their work collapse around them if they make too many mistakes. It's impossible to imagine a world in which buildings get built without blueprints, but it's still common for software applications to be designed and built without blueprints, or in this case, design patterns.A software design pattern can be identified as "a recurring solution to a recurring problem." Using design patterns for software development makes sense in the same way that architectural design patterns make sense--if it works well in one place, why not use it in another? But developers have had enough of books that simply catalog design patterns without extending into new areas, and books that are so theoretical that you can't actually do anything better after reading them than you could before you started.Crawford and Kaplan's J2EE Design Patterns approaches the subject in a unique, highly practical and pragmatic way. Rather than simply present another catalog of design patterns, the authors broaden the scope by discussing ways to choose design patterns when building an enterprise application from scratch, looking closely at the real world tradeoffs that Java developers must weigh when architecting their applications. Then they go on to show how to apply the patterns when writing realworld software. They also extend design patterns into areas not covered in other books, presenting original patterns for data modeling, transaction / process modeling, and interoperability.J2EE Design Patterns offers extensive coverage of the five problem areas enterprise developers face:

  • Maintenance (Extensibility)
  • Performance (System Scalability)
  • Data Modeling (Business Object Modeling)
  • Transactions (process Modeling)
  • Messaging (Interoperability)
And with its careful balance between theory and practice, J2EE Design Patterns will give developers new to the Java enterprise development arena a solid understanding of how to approach a wide variety of architectural and procedural problems, and will give experienced J2EE pros an opportunity to extend and improve on their existing experience.

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
効率的で美しいアプリケーションを設計するためには、複雑な仕組みを抽象化、単純化するデザインパターンの利用が不可欠です。開発アプリケーションが大規模になるほど、そして複雑になるほど、その恩恵も大きくなります。本書はJ2EEに特化したデザインパターンの解説書です。拡張性、柔軟性、そしてパフォーマンスに重点を置いた新しいデザインパターンを多数紹介するだけでなく、実際にどのように適用すればよいのか、多くのサンプルコードを例示しながら、J2EEアプリケーション開発の極意を説いています。J2EE開発者の座右の書となる決定版です。
■目次
1章 Javaエンタープライズデザイン
1.1 デザインパターン
1.2 J2EE
1.3 アプリケーション層
1.4 主要な開発コンセプト
2章 UML
2.1 UMLの起源
2.2 『荒野の7人』
2.3 UMLとソフトウェア開発ライフサイクル
2.4 ユースケース図
2.5 クラス図
2.6 相互作用図
2.7 アクティビティ図
2.8 配置図
3章 プレゼンテーション層のアーキテクチャ
3.1 サーバサイドのプレゼンテーション層
3.2 アプリケーション構造
3.3 中核コントローラの構築
4章 高度なプレゼンテーション層デザイン
4.1 Webアプリケーションにおける再利用
4.2 コントローラの拡張
4.3 高度なビュー
5章 プレゼンテーション層のスケーラビリティ
5.1 スケーラビリティとボトルネック
5.2 コンテンツキャッシング
5.3 リソースプール
6章 ビジネス層
6.1 ビジネス層
6.2 ドメインオブジェクト
7章 層と層の間の通信
7.1 Data Transferパターン
8章 データベースとデータパターン
8.1 データアクセスパターン
8.2 Primary Keyパターン
8.3 オブジェクトリレーショナルマッピング
9章 ビジネス層のインタフェース
9.1 ビジネスロジックの抽出
9.2 リモートサービスへのアクセス
9.3 リソースの特定
10章 エンタープライズにおける並行処理
10.1 トランザクション管理
10.2 一般的な並列処理パターン
10.3 並列処理の実装
11章 メッセージング
11.1 メッセージングと統合
11.2 メッセージ配信パターン
11.3 メッセージタイプ
11.4 メッセージの関連付け
11.5 メッセージクライアントパターン
11.6 メッセージングの統合
11.7 参考文献
12章 J2EEアンチパターン
12.1 アンチパターンの原因
12.2 アーキテクチャのアンチパターン
12.3 プレゼンテーション層のアンチパターン
12.4 EJBアンチパターン
付録A プレゼンテーション層のパターン
付録B ビジネス層のパターン
付録C メッセージングパターン
付録D J2EEアンチパターン
索引 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
J2EEデザインパターン
発売日 2009/06/30
(2021/10/25 12:01時点)

  

機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決

 
内容サンプル

(引用元Amazon)

 
内容サンプル

(引用元Amazon)

 
  

Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gear...

開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。

↓全て表示↑少なく表示
 
内容サンプル

(引用元楽天Books)

 
Users Voice
Webフロントエンドの複雑化に伴い、フロントエンドの設計手法の整備は現代の重要な課題だ。
そんななか、複雑なフロントエンドを何十年も構築してきたのは『ゲーム』の世界だ。
つまり状態をUIに変換していくにあたりどうモデリングするか、ゲームプログラミングからこそ学ぶ点があると思い、本書を手に取った。
この本は、いわゆるデザインパターンをどう道具としてフロントエンドで使っていくかを表したものである。
特定の技術スタックに依存した内容でないため、普遍的な知識を学ぶことができた。
特にコマンドパターンは見方を変えればFluxであり、現代Webフロントエンドにも繋がってくる考え方だ。
やはりこうした自分の領域にとらわれないすぎない知識収集が、最先端を歩んでくためには必要になってくるだろうと再確認した。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元楽天Books)

 
  

Java言語で学ぶデザインパターン入門第3版

 
  

入門 監視 ―モダンなモニタリングのためのデザインパターン

あなたのシステムはきちんと動いていると言えますか?
本書は、システムのどの部分をどのように監視すべきか、また監視をどのように改善していくべきかについて解説する書籍です。
前半で監視のベストプラクティス、デザインパターン/アンチパターンを示して、監視の基本原則を詳しく説明し、後半でフロントエンド、アプリケーション、サーバ、ネットワーク、セキュリティの各テーマで強力な監視の基盤を設計して実装するための方法を示します。
監視対象が変化し、システムアーキテクチャが進化する中で、従来から変わらない監視の基本を示しながら、時代に合った監視の実践を解説する本書は、監視についての理解を深めたいエンジニア必携の一冊です。
日本語版では、松木雅幸(@songmu)氏による監視SaaSの導入や活用方法を付録として収録しています。
 
目次
第1部 監視の原則(監視のアンチパターン
監視のデザインパターン
アラート、オンコール、インシデント管理
統計入門)
第2部 監視戦略(ビジネスを監視する
フロントエンド監視
アプリケーション監視
サーバ監視
ネットワーク監視
セキュリティ監視
監視アセスメントの実行)

↓全て表示↑少なく表示
Users Voice
この本はとても良かったです。こんなものも監視するのか、という知見が深まる部分や気づきがありました。 エンジニアになった人は是非一冊持っていてください。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
本自体は200ページくらいしかなく、その中で監視に関するあらゆる方面の情報が記載されています。
■良いところ
・比較的ボリュームが少ない中で、監視に関わる情報が網羅されています。従って、監視に関わる業務に携わる場合は、一読しておくと考え方が整理されるかもしれません。
■悪いところ
・誰もが思う疑問についての解決策も「チームにとってどちらが良いかをちゃんと考えましょう」「知っている人に聞きに行きましょう」「システムによって最適な答えは変わります」という結論になっているものばかりで、それを言ってしまっては身も蓋もない…という印象。それをわざわざ言う必要ある?という疑問が残ります。
・上記の通りなので、書かれていることは至極もっともなのですが、「まぁ、そうですよね」と思う程度で新しい気付きはありませんでした。
・本書はNagiosとSNMPを嫌っているのですが、その嫌っている理由も大して納得のいく論理的な説明はありませんでした(確かに感覚的に同意はするのですが)。著者が大々的に嫌うんならちゃんと理由を示してほしかった。
この本のターゲットとなる読者層が結構難しい気がします。
全く監視に関わったことがない場合は監視の苦しみも分からないし、この本は全く実践的ではないので、読んだからといってすぐに監視設計ができるかというとそうでもない気がします。かといって監視に関わったことがある人であれば、書いてあることは「確かにそうだ」とは思うものの、別に目からウロコというわけでもなく、薄々思っていたことを「まぁ、そうですよね」と思う程度であるという…。そう考えると、「監視に関わる業務を行ってはいるものの、特に課題感もなく携わって来た人」が読むと良いとは思います。
この本は、薄々個人で感じていたことについての答え合わせをしたり、はっきりと言語化するために使うのが良い気がします。
入門監視、という分野においてこのレベルで記述が網羅されている本は少ないと思うので、一度は読んでおいても良いとは思いますが、何度も見る本ではないかなと思いました。 (参考:honto)

↓全て表示 ↑少なく表示
「1.3.2 アラートに関しては、OSのメトリクスはあまり意味がない」は納得いく。ウェブサーバーならレスポンスが、バッチ処理ならスループットが順調なら何も問題ない。動いているかを監視するとは良い表現。
サーバー監視だけと思いきや、ビジネス、フロントエンド、バックエンド、ネットワークと広範にカバーしている。セキュリティまである。しかも「これはこうすべき」に手短で明瞭な論拠も添えられているので、むやみな暗記モノになってないのも良い。
未経験からの2年目突入くらいで読むと、実り多い2年目を過ごせるのではなかろうか。というような本。
未経験の方が読んでも、範囲広いし苦行でしかない気がする。こんなことになってるので、初年度にやることじゃないな。無理無理。 https://magazine.rubyist.net/articles/0059/0059-Ruby-Rails-Beginners-Guide.html (参考:honto)

↓全て表示 ↑少なく表示
著者略歴
ジュリアン,マイク(Julian,Mike)
アプリケーションやインフラについて、企業がよりよい監視の仕組みを作るのを手伝うコンサルタント。監視についてのあらゆることを扱うオンライン情報誌「Monitoring Weekly」の編集者でもある。Taos Consulting、PeakHosting、Oak Ridge National Labなどで、オペレーションエンジニアあるいはDevOpsエンジニアとして働いた経験を持つ。テネシー州ノックスビル出身で、カリフォルニア州サンフランシスコ在住

松浦隼人(マツウラハヤト)
人力翻訳コミュニティYakst管理人兼翻訳者。本業はインフラエンジニアで、Web企業にて各種サービスのデータベースを中心に構築・運用を行った後、現職ではRuby on Rails製パッケージソフトウェアのテクニカルサポートを行っている(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

AIエンジニアのための機械学習システムデザインパターン

機械学習システム構築に必要な
デザインパターンがここにある!


【本書の背景】
Pythonを用いた機械学習のモデル開発事例は多数ありますが、
そのモデルをビジネスやシステムに組み込み、運用する事例や方法論は多くありません。
そのため、AIを組み込んだ実装モデルをまとめた、
「機械学習システムのデザインパターン」に注目が集まっています。

【対象読者】
・AIエンジニア
・システムエンジニア
・機械学習を本番システムとして使うための開発、運用方法で悩んでいるエンジニアの方

【本書の概要】
本書は機械学習を有効活用するためにはシステムに組み込むための設計や
実装が必要と考え、機械学習システムのデザインパターンを集めて解説した書籍です。
機械学習システムのグランドデザインおよびPythonによる機械学習システムの実装例を説明しつつ、
機械学習を本番活用するための方法論や、運用、改善ノウハウについて解説します。
本書で扱うプラットフォームには、コードの再現実行を担保するため、
DockerとKubernetesを活用します。
機械学習の学習から評価、QAを行い、推論器をリリースして
運用するまでの一連の流れをアーキテクチャやコードとともに解説します。

【デザインパターンのサンプル】
本書で解説している実際のサンプルコードをGitHubからダウンロードして利用可能です。

【本書のゴール】
・機械学習を実用化する方法が学べる
・Pythonによる機械学習ワークフローおよびWebアプリケーション開発の概要を学べる
・機械学習を組み込んだシステムの運用ノウハウを得られる
・機械学習システムのトラブルシューティングや調査方法を学べる

【著者プロフィール】
澁井 雄介(しぶい・ゆうすけ)
株式会社ティアフォー所属。
MLOpsエンジニア、インフラエンジニア、ARエンジニア、ネコ2匹の飼い主。家に猫用ハンモックが4台ある。
本業で自動運転のためのMLOps基盤をKubernetesで開発しつつ、趣味でARとEdge AIを組み合わせて遊んでいる。
過去にはSIer、外資ソフトウェアベンダー、スタートアップで新規プロダクトの起ち上げ、大規模システム運用、チームマネジメントに従事。
前職メルカリにて機械学習をシステムに組み込むデザインパターンを執筆、公開。
・GitHubで「mercari/ml-system-design-pattern」と検索


↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
■Part 1 機械学習とMLOps
CHAPTER 1 機械学習システムとは
1.1 機械学習、MLOps、システム
1.2 ユーザに使ってもらえる機械学習を目指して
1.3 機械学習システムに必要なもの
1.4 機械学習システムをパターン化する
1.5 本書の構成
■Part 2 機械学習システムを作る
CHAPTER 2 モデルを作る
2.1 モデルの作成
2.2 アンチパターン―Only meパターン―
2.3 プロジェクトとモデルとバージョニング
2.4 パイプライン学習パターン
2.5 バッチ学習パターン
2.6 アンチパターン―複雑パイプラインパターン―
CHAPTER 3 モデルをリリースする
3.1 学習環境と推論環境
3.2 アンチパターン―バージョン不一致パターン―
3.3 モデルの配布と推論器の稼働
3.4 モデルインイメージパターン
3.5 モデルロードパターン
3.6 モデルの配布とスケールアウト
CHAPTER 4 推論システムを作る
4.1 なぜシステムを作るのか
4.2 Webシングルパターン
4.3 同期推論パターン
4.4 非同期推論パターン
4.5 バッチ推論パターン
4.6 前処理・推論パターン
4.7 直列マイクロサービスパターン
4.8 並列マイクロサービスパターン
4.9 時間差推論パターン
4.10 推論キャッシュパターン
4.11 データキャッシュパターン
4.12 推論器テンプレートパターン
4.13 Edge AIパターン
4.14 アンチパターン―オンラインビッグサイズパターン― 
4.15 アンチパターン―オールインワンパターン―
■Part 3 品質・運用・管理
CHAPTER 5 機械学習システムを運用する
5.1 機械学習の運用
5.2 推論ログパターン
5.3 推論監視パターン
5.4 アンチパターン―ログなしパターン―
5.5 アンチパターン―そして誰もいなくなったパターン―
CHAPTER 6 機械学習システムの品質を維持する
6.1 機械学習システムの品質と運用
6.2 機械学習システムの正常性評価指標
6.3 負荷テストパターン
6.4 推論サーキットブレーカーパターン
6.5 シャドウA/Bテストパターン
6.6 オンラインA/Bテストパターン
6.7 パラメータベース推論パターン
6.8 条件分岐推論パターン
6.9 アンチパターン―オフラインのみパターン―
CHAPTER 7 End-to-EndなMLOpsシステムの設計
7.1 課題と手法
7.2 需要予測システムの例
7.3 コンテンツ投稿サービスの例
7.4 まとめ

↓全て表示↑少なく表示
Users Voice
たった今到着しました!背表紙に傷が付かないようにセロファン付けて下さるなど、丁寧な御送付有り難うございました! (参考:YahooShopping)

↓全て表示 ↑少なく表示
とても参考になる本。大規模サービスを前提に機械学習モデルの開発方法のパターンやサービス運用時のパターンまでサンプルコードとともにとても詳しく記載されている。モデルをリリースする際の方法を検討している場合、一度は読んでみると良いかと思われる。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
澁井雄介(シブイユウスケ)
株式会社ティアフォー所属。MLOpsエンジニア、インフラエンジニア、ARエンジニア。過去にはSIer、外資ソフトウェアベンダー、スタートアップで新規プロダクトの起ち上げ、大規模システム運用、チームマネジメントに従事。前職メルカリにて機械学習をシステムに組み込むデザインパターンを執筆、公開(本データはこの書籍が刊行された当時に掲載されていたものです)

  

増補改訂版Java言語で学ぶデザインパターン入門

さらにわかりやすくなった! デザインパターン入門書の決定版!!

GoFの『デザインパターン』で紹介された23個のパターンを、オブジェクト指向の初心者にもわかるようにやさしく解説。
すべてのパターンについて、Javaのサンプルプログラムを掲載。「デザインパターンQ&A」を新たに加筆。


●第1部 デザインパターンに慣れる

第1章 Iterator--1つ1つ数え上げる
第2章 Adapter--一皮かぶせて再利用

●第2部 サブクラスにまかせる

第3章 Template Method--具体的な処理をサブクラスにまかせる
第4章 Factory Method--インスタンス作成をサブクラスにまかせる

●第3部 インスタンスを作る

第5章 Singleton--たった1つのインスタンス
第6章 Prototype--コピーしてインスタンスを作る
第7章 Builder--複雑なインスタンスを組み立てる
第8章 Abstract Factory--関連する部品を組み合わせて製品を作る

●第4部 分けて考える

第9章 Bridge--機能の階層と実装の階層を分ける
第10章 Strategy--アルゴリズムをごっそり切り替える

●第5部 同一視

第11章 Composite--容器の中身の同一視
第12章 Decorator--飾り枠と中身の同一視

●第6部 構造を渡り歩く

第13章 Visitor--構造を渡り歩きながら仕事をする
第14章 Chain of Responsibility--責任のたらい回し

●第7部 シンプルにする

第15章 Facade--シンプルな窓口
第16章 Mediator 相手は相談役一人だけ

●第8部 状態を管理する

第17章 Observer--状態の変化を通知する
第18章 Memento--状態を保存する
第19章 State--状態をクラスとして表現する

●第9部 無駄をなくす

第20章 Flyweight--同じものを共用して無駄をなくす
第21章 Proxy--必要になってから作る

●第10部 クラスで表現する

第22章 Command--命令をクラスにする
第23章 Interpreter--文法規制をクラスで表現する

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
第1部 デザインパターンに慣れる
第2部 サブクラスにまかせる
第3部 インスタンスを作る
第4部 分けて考える
第5部 同一視
第6部 構造を渡り歩く
第7部 シンプルにする
第8部 状態を管理する
第9部 無駄をなくす
第10部 クラスで表現する
Users Voice
実際にソースが書いてあってわかりやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
「この本で初めてデザインパターンが理解できた」「UMLとイラストを交えた解説がとてもわかりやすい」と、多くの読者から絶賛された大ロングセラーの増補改訂版。原典『デザインパターン』で紹介された全23のパターンを、Javaによる実装を含めて解説。
2001年6月の初版刊行以来、多くの読者から圧倒的に支持されてきた前著の増補改訂版です。改訂にあたっては、前著の内容を全面的に見直して、文章や表記をより適切な表現に改めています。
また、デザインパターンについて、読者が誤解しやすい点、間違いやすい点を、巻末に「Q&A」として追加しています。
デザインパターンについて学び、実践で使用したいプログラマはもちろん、オブジェクト指向の本質を理解したい人に最適の1冊です。 (参考:honto)

↓全て表示 ↑少なく表示
もちろんこの本だけでデザインパターンを完璧に習得しようとしたら不足なのはわかってるよ。でもさ「スッキリわかるJava」なんかでやっとJavaやオブジェクト指向の入り口までたどり着いた人間にとっては、本書が救世主のように感じられたヨ。これから先GoF本とかリファクタリングとかも読むと思うけど、イキナリじゃ難しすぎる。だからJavaに入門した後、次に読むにはこういうわかりやすい本が有用。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
  

モダンC言語プログラミング 統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリ...

本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。
 
内容サンプル

(引用元Amazon)

 
Users Voice
C言語で組込みシステムを開発する際に有効であるモダンなソフトウェア工学のプラクティスについてまとめてある本です。C言語による組込みシステムを題材にモダンなプラクティスやツールをまんべんなく扱う和書は貴重だと思います。
初心者向けではありません。最低限、Cの文法は理解しており、本書のサブタイトルにある用語をなんとなく知っている程度のレベルが必要で、できればC++にも多少の理解があることが望ましいと考えます。
本書では Xubuntu+Eclipse CDTという開発環境が用いられています。人によってはネックになるかもしれません。Linuxの使用経験が無ければ、これを機に触れてみるのも良いでしょう。
C言語でオブジェクト指向プログラミングを行う方法は技術的には面白いのですが、実際の組込みシステム開発でここまでやるのであれば大人しくC++を採用した方が良いのではないかと感じてしまいました。むしろ、.c と .h のペアと static を使用したC言語におけるカプセル化とクラス図によるモデリングについて紙面を割いた方が、組込みシステム開発現場の需要にマッチしていたのではないかと思います。
テスト駆動開発とリファクタリングについては概ね良いと思います。ただ、テスト対象から呼び出すスタブと本物を関数ポインタを使って入れ替える手法は私は推奨しません。この方法だとプロダクションコード内に #ifdef UNIT_TEST と書く必要があります。私はスタブ用の.cファイルを別に作成し、ユニットテスト用のビルドスクリプト内で本物の代わりにリンクする方法を推奨します。
組込みシステム開発においてCIでできることについてまとめられているのは良いと思います。欲を言えば、Valgrind についてここまで触れるのであれば、Cppcheck や Splint 等の静的コード解析についても触れた方が良かったのではないかと思います。
『テスト駆動開発による組み込みプログラミング』『チーム開発実践入門』を合わせて読めば、本書の言わんとするところをより正確に理解できると思います。 (参考:honto)

↓全て表示 ↑少なく表示
【文章】
 読み易い
【気付き】
 ★★★★・
【ハマり】
 ★★★・・
【共感度】
 ★★★★・
オブジェクト指向のデザインパターンをC言語に適用した場合の実装例
リファクタリングはテスト駆動で行うべし
リリース済みのソースコードに対して、
リファクタリングすべき箇所を見つける際の観点
・変更頻度の高い箇所はどこか?
・変更時にバグを埋め込みやすい箇所はどこか?
・ほとんど変更されない箇所はどこか?
・そのソースコードの寿命はあとどれくらいか?
・そのソースコードの今後の費用と収益はどれくらいか?
Jenkinsを使用したCI環境の構築例
ビルド専用サーバを構築しておくことで、個人PCの設定などによる影響を無くす (参考:honto)

↓全て表示 ↑少なく表示

  

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本
(著)Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
発売日 2005/12/02
総合評価
(2021/10/25 12:01時点)
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。
 
内容サンプル

(引用元Amazon)

 
目次
デザインパターン入門:デザインパターンへようこそ
Observerパターン:オブジェクトを事情通に
Decoratorパターン:オブジェクトの装飾
Factoryパターン:00の利点を活用した構築
Singletonパターン:唯一のオブジェクト
Commandパターン:呼び出しのカプセル化
AdaptorパターンとFacadeパターン:適合可能にする
Template Methodパターン:アルゴリズムのカプセル化
IteratorパターンとCompositeパターン:適切に管理されたコレクション
Stateパターン:物事の状態
Compoundパターン:パターンのパターン
パターンの有効利用:実世界でのパターン
付録:残りのパターン

↓全て表示↑少なく表示
Users Voice
Head Firstシリーズの中での秀作です。
いろんな書籍でデザインパターンを学んだが、いまいちわからないという人におすすめです。
デザイン・パターンはオブジェクト指向分析の後で実装フェーズの前に使える箇所をさがすのですが、なかなか適切に説明されている書籍が少ない状況です。
アナリシス・パターンもあるのですが、これもちょっと難しい。そのなかで、スターバックスのフレーバを用いて、クラス爆発を抑制するための方法やチェーン店化する場合のシステム移行計画が事例として挙げられていて非常に考えやすくなっている。
MVCモデルはオブザーバがベースですが、ストラテジーやコンポジットを活用したパターンを紹介しており、非常に有益なものとなっています。
理解を重視しているため、美しくまとまっているとはいえないが、美しくまとまっている本を読んでも理解が出来ない(笑
できればこの書籍を片手にGoF書籍を読むとよいでしょう。 (参考:honto)

↓全て表示 ↑少なく表示
恥ずかしながらデザインパターンをきちんと勉強したことがなかったので買ってみた。
海外の方が著者であるせいか、それとも自分の常識が足りないだけなのか、独特な言い回しがあって最初はすこし内容をつかみにくい(実体ではなくインターフェースに実装する、とか。はじめは具体的には理解できなかった)。
とくに最初に説明されているStrategyパターンを理解するのに少し時間がかかるが、それをクリアするとそこからは早い。デザインパターンのすばらしさに目覚めて、どんどん読んでいける。
単にデザインパターンの説明だけではなく、なぜこのパターンがよいのか、メリットデメリット、似ている他のパターンのと区別など、とことん丁寧に解説している。パターンの説明をしつつ、オブジェクト指向設計の原則の話がちらばめられていたり、最終的にMVCへ話をつなげているところも評価できる。
リファレンスではなく完全に読み物になっているので文章量はすごく多いが、読む価値はある。
最後にこのシリーズは書き方が結構アレなのだが、僕はわりと好きなノリでした。嫌いな人はだめかも。 (参考:honto)

↓全て表示 ↑少なく表示
★を10個つけたいくらいの良書だと思います。
技術書って、堅苦しいイメージがありそうですが、本書はイラストが多く非常にフランク。
豊富なイラストと軽快な語り口のおかげで楽しみながら学習できます。
本書は、システム開発のよくある失敗例から始まり、ひとつひとつ問題解決法を
読者に考えさせ、最終的にパターンに行き着くというストーリー構成です。
だから納得しやすい。
保守性や拡張性が高いシステムについての理解が深まるでしょう。
個人的に、オブジェクト指向の初級者~中級者が読むべき本と思います。
abstract classやinterfaceを使いこなせない人にとっては感動を与えるでしょう。(自分がそうでした) (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
佐藤直生(サトウナオキ)
1974年生まれ。1999年、日本オラクル株式会社に入社。現在はJ2EEやWebサービスに関するテクノロジ・エバンジェリストとして活動中

木下哲也(キノシタテツヤ)
1967年、川崎市生まれ。早稲田大学理工学部卒業。1991年、松下電器産業株式会社に入社。全文検索技術とその技術を利用したWebアプリケーション、VoIPによるネットワークシステムなどの研究開発に従事。2000年に退社し、オーストラリアのブリスベンに移住。移住後は、主にIT関連の技術書の翻訳、監訳に従事(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

インフラデザインパターン ── 安定稼動に導く127の設計方式 WEB+DB PRESS plus

インフラデザインパターン ── 安定稼動に導く127の設計方式 WEB+DB PRESS plus
(著)杉原 健郎, 吉田 一幸, 岩崎 賢治, 三浦 広志
発売日 2018/11/14
総合評価
(2021/10/25 12:01時点)
本電子書籍は2014年2月7日初版発行のものを、後日電子化し、発売したものです。
(概要)
本書は,数百プロジェクトの実績から導かれたインフラ設計の定石を,デザインパターンとしてまとめたものです。特にインフラについて経験の浅い技術者(アプリケーション開発者も含む)や,システム構築に責任を持つプロジェクトマネージャ,企業の情報システム部門でシステムの企画や導入の意思決定を行う方,ベンダーの提案や設計を評価・比較する方に向けて書かれています。
すべてのデザインパターンには,特徴を把握できる簡潔なイメージ図が掲載されています。また,各デザインパターンの「できること」だけでなく,「できないこと」や「留意点」も記載しています。インフラデザインパターンをベースに設計することで,スキルのあるインフラ技術者が行う検討に近づくことができるでしょう。

(こんな方にオススメ)
・インフラについて経験の浅いエンジニア
・システム構築に携わるエンジニア全般

(目次)
第1章 インフラデザインパターンとは何か

第2章 可用性要件の実現策 ── システムをダウンさせない

第3章 セキュリティ要件の実現策 ── システムを脅威から守る

第4章 性能・拡張性要件の実現策 ── システムの性能低下を防ぐ

第5章 運用・保守性要件の実現策 ── システム障害を見逃さない

第6章 インフラ構成の設計方式

第7章 クラウドコンピューティングを使った実現策

第8章 [実践]パターンベース設計

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
第1章 インフラデザインパターンとは何か
第2章 可用性要件の実現策ーシステムをダウンさせない
第3章 セキュリティ要件の実現策ーシステムを脅威から守る
第4章 性能・拡張性要件の実現策ーシステムの性能低下を防ぐ
第5章 運用・保守性要件の実現策ーシステム障害を見逃さない
第6章 インフラ構成の設計方式
第7章 クラウドコンピューティングを使った実現策
第8章 「実践」パターンベース設計

↓全て表示↑少なく表示
Users Voice
プログラマーばかりがあつまった。さて、ネットワークの経験がない。自らの開発環境用にネットワーク設定は行うが、断片的にしかわからない。まず、素人集団が、着手するてがかりとして、大分類さんぷるがある。目の付け所がわかる。当時としては、画期的だった。
2017年頃には、よく似た本も出版されたが・・・。 (参考:honto)

↓全て表示 ↑少なく表示
そろそろ大幅な構成変更も考えないとなーという状況だったので、役に立つかと新刊を新品で買ったところ、まさかこんなクソIT技術本オブザイヤーを掴まされるとは…。
開始数ページで”デメリット”という文言に(劣っていること、苦手なこと)と注釈つけてるところからあやしさを感じたが、全編に渡ってそんな感じ。つまるところ低レベル。『インフラデザインパターン』とかいうインフラ屋なら読んどかないといけないと思わせるタイトルつけときながら、パターンが基本的すぎてクソお粗末。組み合わせて使うようなVLAN&ルーティングやスケールアップ&スケールアウトも横に並べて『パターン』と称するのは学生がレポートで苦し紛れに水増ししてるような稚拙さを感じる。極めつけは不正アクセス対策の設計パターンが『ファイアウォール』『ファイアウォール1台のDMZ』『ファイアウォール2台のDMZ』で、ジョブ設計パターンが『ミドルウェアを使う』『cronを使う』『ジョブを手動実行する』という!!!
WEB+DB PRESS plusのレーベルでこのタイトルを見たとき、僕が不正アクセス対策のパターンに期待するのは、DDoS,辞書攻撃,SQLインジェクションなどそれぞれの攻撃に対する設置するべき防御壁のパターンだったり、正常なアクセス過多への対応パターンだったりするし、ジョブ設計パターンに期待するのは、クラスタ化環境下でのジョブ管理だったり、順序実行のアンチパターンだったり、メンテナンスを考慮したジョブの組み方などだ。過去の出版物のクオリティに応じた正しい期待値だと思っていたのはどうにも間違いだったようだ。せめてタイトルさえ違っていれば、“文章化が大切”だとか”ログを適切に吐こう”とか”連絡体制を整備しよう”としか書いてないような本は買わなかったはずだが…。
『エンジニア』諸兄におかれましては断固として買うべきでないことをオススメする。 (参考:honto)

↓全て表示 ↑少なく表示
基礎的なことは網羅できたものの2014年初版だけあって表現内容が古く(2000年代の業務システム設計に特化、P2P,SAN,帳票などなど)、現代のクラウドインフラデザインパターンにはマッチしない感じだった。
古典と捉えて読むべき内容。
ただサイジングや過負荷対応設計など普遍的に勉強になることは一部あったので、手元置き本としたい。 (参考:honto)

↓全て表示 ↑少なく表示
著者略歴
杉原健郎(スギハラタケオ)
1998年NTTデータ入社。10年以上にわたり、数多くの大規模ミッションクリティカルシステムのインフラ開発を担当。PMP(2004年~)、理学修士(早稲田大学大学院卒)

吉田一幸(ヨシダカズユキ)
2008年NTTデータ入社。金融機関や通信事業者向けの大規模システムにおいてインフラの設計・構築に従事。2012年より、インフラデザインパターンを始めとした、インフラの設計方法論およびパターンベース設計手法の整備・開発を担当する

岩崎賢治(イワサキケンジ)
2010年NTTデータ入社。入社直後に担当したセキュリティシステムの構築・運用の経験から、ITILや情報セキュリティマネジメントの領域において一家言を持つ。2012年からはインフラデザインパターンを用いた設計手法の確立・整備を担当する

三浦広志(ミウラヒロシ)
1995年NTTデータ入社。2003年同社オープンソース開発センタ、2006年には独立行政法人情報処理推進機構(IPA)OSSセンターに非常勤研究員として参画

吉田佐智男(ヨシダサチオ)
1987年NTT入社。オープン系システムによる基幹システム構築に黎明期より携わる。数多くの成功とトラブルの経験に基づくノウハウを展開するべく、インフラデザインパターンの開発に当初から関わる。現在NTTデータ基盤システム事業本部にて先進技術調査、技術戦略策定を推進(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

   

デザインパターンの本 最新・高評価のおすすめの5冊

以下が「デザインパターンの本」最新・高評価のおすすめの5冊詳細です。

(2021/10/25 12:01 更新)
Rank製品価格
1
AIエンジニアのための機械学習システムデザインパターン
発売日 2021/05/17
澁井 雄介 (翔泳社)
総合評価
3,960円
(+180pt)
3,564円
3,960円
3,960円
2
入門 監視 ―モダンなモニタリングのためのデザインパターン...
発売日 2019/01/17
Mike Julian (オライリージャパン)
総合評価
3,080円
3,080円
3,080円
3
3,080円
2,218円
3,080円
3,080円
4
2,860円
2,860円
2,860円
5
3,190円
3,031円
3,190円
3,190円
 

AIエンジニアのための機械学習システムデザインパターン

機械学習システム構築に必要な
デザインパターンがここにある!


【本書の背景】
Pythonを用いた機械学習のモデル開発事例は多数ありますが、
そのモデルをビジネスやシステムに組み込み、運用する事例や方法論は多くありません。
そのため、AIを組み込んだ実装モデルをまとめた、
「機械学習システムのデザインパターン」に注目が集まっています。

【対象読者】
・AIエンジニア
・システムエンジニア
・機械学習を本番システムとして使うための開発、運用方法で悩んでいるエンジニアの方

【本書の概要】
本書は機械学習を有効活用するためにはシステムに組み込むための設計や
実装が必要と考え、機械学習システムのデザインパターンを集めて解説した書籍です。
機械学習システムのグランドデザインおよびPythonによる機械学習システムの実装例を説明しつつ、
機械学習を本番活用するための方法論や、運用、改善ノウハウについて解説します。
本書で扱うプラットフォームには、コードの再現実行を担保するため、
DockerとKubernetesを活用します。
機械学習の学習から評価、QAを行い、推論器をリリースして
運用するまでの一連の流れをアーキテクチャやコードとともに解説します。

【デザインパターンのサンプル】
本書で解説している実際のサンプルコードをGitHubからダウンロードして利用可能です。

【本書のゴール】
・機械学習を実用化する方法が学べる
・Pythonによる機械学習ワークフローおよびWebアプリケーション開発の概要を学べる
・機械学習を組み込んだシステムの運用ノウハウを得られる
・機械学習システムのトラブルシューティングや調査方法を学べる

【著者プロフィール】
澁井 雄介(しぶい・ゆうすけ)
株式会社ティアフォー所属。
MLOpsエンジニア、インフラエンジニア、ARエンジニア、ネコ2匹の飼い主。家に猫用ハンモックが4台ある。
本業で自動運転のためのMLOps基盤をKubernetesで開発しつつ、趣味でARとEdge AIを組み合わせて遊んでいる。
過去にはSIer、外資ソフトウェアベンダー、スタートアップで新規プロダクトの起ち上げ、大規模システム運用、チームマネジメントに従事。
前職メルカリにて機械学習をシステムに組み込むデザインパターンを執筆、公開。
・GitHubで「mercari/ml-system-design-pattern」と検索


↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
■Part 1 機械学習とMLOps
CHAPTER 1 機械学習システムとは
1.1 機械学習、MLOps、システム
1.2 ユーザに使ってもらえる機械学習を目指して
1.3 機械学習システムに必要なもの
1.4 機械学習システムをパターン化する
1.5 本書の構成
■Part 2 機械学習システムを作る
CHAPTER 2 モデルを作る
2.1 モデルの作成
2.2 アンチパターン―Only meパターン―
2.3 プロジェクトとモデルとバージョニング
2.4 パイプライン学習パターン
2.5 バッチ学習パターン
2.6 アンチパターン―複雑パイプラインパターン―
CHAPTER 3 モデルをリリースする
3.1 学習環境と推論環境
3.2 アンチパターン―バージョン不一致パターン―
3.3 モデルの配布と推論器の稼働
3.4 モデルインイメージパターン
3.5 モデルロードパターン
3.6 モデルの配布とスケールアウト
CHAPTER 4 推論システムを作る
4.1 なぜシステムを作るのか
4.2 Webシングルパターン
4.3 同期推論パターン
4.4 非同期推論パターン
4.5 バッチ推論パターン
4.6 前処理・推論パターン
4.7 直列マイクロサービスパターン
4.8 並列マイクロサービスパターン
4.9 時間差推論パターン
4.10 推論キャッシュパターン
4.11 データキャッシュパターン
4.12 推論器テンプレートパターン
4.13 Edge AIパターン
4.14 アンチパターン―オンラインビッグサイズパターン― 
4.15 アンチパターン―オールインワンパターン―
■Part 3 品質・運用・管理
CHAPTER 5 機械学習システムを運用する
5.1 機械学習の運用
5.2 推論ログパターン
5.3 推論監視パターン
5.4 アンチパターン―ログなしパターン―
5.5 アンチパターン―そして誰もいなくなったパターン―
CHAPTER 6 機械学習システムの品質を維持する
6.1 機械学習システムの品質と運用
6.2 機械学習システムの正常性評価指標
6.3 負荷テストパターン
6.4 推論サーキットブレーカーパターン
6.5 シャドウA/Bテストパターン
6.6 オンラインA/Bテストパターン
6.7 パラメータベース推論パターン
6.8 条件分岐推論パターン
6.9 アンチパターン―オフラインのみパターン―
CHAPTER 7 End-to-EndなMLOpsシステムの設計
7.1 課題と手法
7.2 需要予測システムの例
7.3 コンテンツ投稿サービスの例
7.4 まとめ

↓全て表示↑少なく表示
Users Voice
たった今到着しました!背表紙に傷が付かないようにセロファン付けて下さるなど、丁寧な御送付有り難うございました! (参考:YahooShopping)

↓全て表示 ↑少なく表示
とても参考になる本。大規模サービスを前提に機械学習モデルの開発方法のパターンやサービス運用時のパターンまでサンプルコードとともにとても詳しく記載されている。モデルをリリースする際の方法を検討している場合、一度は読んでみると良いかと思われる。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
澁井雄介(シブイユウスケ)
株式会社ティアフォー所属。MLOpsエンジニア、インフラエンジニア、ARエンジニア。過去にはSIer、外資ソフトウェアベンダー、スタートアップで新規プロダクトの起ち上げ、大規模システム運用、チームマネジメントに従事。前職メルカリにて機械学習をシステムに組み込むデザインパターンを執筆、公開(本データはこの書籍が刊行された当時に掲載されていたものです)

  

入門 監視 ―モダンなモニタリングのためのデザインパターン

あなたのシステムはきちんと動いていると言えますか?
本書は、システムのどの部分をどのように監視すべきか、また監視をどのように改善していくべきかについて解説する書籍です。
前半で監視のベストプラクティス、デザインパターン/アンチパターンを示して、監視の基本原則を詳しく説明し、後半でフロントエンド、アプリケーション、サーバ、ネットワーク、セキュリティの各テーマで強力な監視の基盤を設計して実装するための方法を示します。
監視対象が変化し、システムアーキテクチャが進化する中で、従来から変わらない監視の基本を示しながら、時代に合った監視の実践を解説する本書は、監視についての理解を深めたいエンジニア必携の一冊です。
日本語版では、松木雅幸(@songmu)氏による監視SaaSの導入や活用方法を付録として収録しています。
 
目次
第1部 監視の原則(監視のアンチパターン
監視のデザインパターン
アラート、オンコール、インシデント管理
統計入門)
第2部 監視戦略(ビジネスを監視する
フロントエンド監視
アプリケーション監視
サーバ監視
ネットワーク監視
セキュリティ監視
監視アセスメントの実行)

↓全て表示↑少なく表示
Users Voice
この本はとても良かったです。こんなものも監視するのか、という知見が深まる部分や気づきがありました。 エンジニアになった人は是非一冊持っていてください。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
本自体は200ページくらいしかなく、その中で監視に関するあらゆる方面の情報が記載されています。
■良いところ
・比較的ボリュームが少ない中で、監視に関わる情報が網羅されています。従って、監視に関わる業務に携わる場合は、一読しておくと考え方が整理されるかもしれません。
■悪いところ
・誰もが思う疑問についての解決策も「チームにとってどちらが良いかをちゃんと考えましょう」「知っている人に聞きに行きましょう」「システムによって最適な答えは変わります」という結論になっているものばかりで、それを言ってしまっては身も蓋もない…という印象。それをわざわざ言う必要ある?という疑問が残ります。
・上記の通りなので、書かれていることは至極もっともなのですが、「まぁ、そうですよね」と思う程度で新しい気付きはありませんでした。
・本書はNagiosとSNMPを嫌っているのですが、その嫌っている理由も大して納得のいく論理的な説明はありませんでした(確かに感覚的に同意はするのですが)。著者が大々的に嫌うんならちゃんと理由を示してほしかった。
この本のターゲットとなる読者層が結構難しい気がします。
全く監視に関わったことがない場合は監視の苦しみも分からないし、この本は全く実践的ではないので、読んだからといってすぐに監視設計ができるかというとそうでもない気がします。かといって監視に関わったことがある人であれば、書いてあることは「確かにそうだ」とは思うものの、別に目からウロコというわけでもなく、薄々思っていたことを「まぁ、そうですよね」と思う程度であるという…。そう考えると、「監視に関わる業務を行ってはいるものの、特に課題感もなく携わって来た人」が読むと良いとは思います。
この本は、薄々個人で感じていたことについての答え合わせをしたり、はっきりと言語化するために使うのが良い気がします。
入門監視、という分野においてこのレベルで記述が網羅されている本は少ないと思うので、一度は読んでおいても良いとは思いますが、何度も見る本ではないかなと思いました。 (参考:honto)

↓全て表示 ↑少なく表示
「1.3.2 アラートに関しては、OSのメトリクスはあまり意味がない」は納得いく。ウェブサーバーならレスポンスが、バッチ処理ならスループットが順調なら何も問題ない。動いているかを監視するとは良い表現。
サーバー監視だけと思いきや、ビジネス、フロントエンド、バックエンド、ネットワークと広範にカバーしている。セキュリティまである。しかも「これはこうすべき」に手短で明瞭な論拠も添えられているので、むやみな暗記モノになってないのも良い。
未経験からの2年目突入くらいで読むと、実り多い2年目を過ごせるのではなかろうか。というような本。
未経験の方が読んでも、範囲広いし苦行でしかない気がする。こんなことになってるので、初年度にやることじゃないな。無理無理。 https://magazine.rubyist.net/articles/0059/0059-Ruby-Rails-Beginners-Guide.html (参考:honto)

↓全て表示 ↑少なく表示
著者略歴
ジュリアン,マイク(Julian,Mike)
アプリケーションやインフラについて、企業がよりよい監視の仕組みを作るのを手伝うコンサルタント。監視についてのあらゆることを扱うオンライン情報誌「Monitoring Weekly」の編集者でもある。Taos Consulting、PeakHosting、Oak Ridge National Labなどで、オペレーションエンジニアあるいはDevOpsエンジニアとして働いた経験を持つ。テネシー州ノックスビル出身で、カリフォルニア州サンフランシスコ在住

松浦隼人(マツウラハヤト)
人力翻訳コミュニティYakst管理人兼翻訳者。本業はインフラエンジニアで、Web企業にて各種サービスのデータベースを中心に構築・運用を行った後、現職ではRuby on Rails製パッケージソフトウェアのテクニカルサポートを行っている(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

モダンC言語プログラミング 統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリ...

C言語開発をモダンにしよう!

本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。
 
内容サンプル

(引用元Amazon)

 
Users Voice
立ち読みで欲しいと思った。
グレードアップ出来そうな実用的な構造化プログラミングが載っていた様な。
あなたはどう思いますか? (参考:honto)

↓全て表示 ↑少なく表示
■知りたいこと
Cによる組み込み開発において、
・デザインパターンをどう実現するか
・TDD(テスト駆動開発)やCI(継続的インテグレーション)をどう実現するか
■総評
Cによるオブジェクト指向プログラミングやデザインパターンは、実用性がないと思う。
テストについては、モック化やstatic関数などの難しいところをどうすればいいのかを知りたかったが、結局は人手で頑張らなくてはいけないという当たり前の結論であった。
単体テストは労力を注ぎ込む領域ではないように思えるので、有償ツールがあるなら、それを買って済ませた方がいいのかもしれない。
■TDDの実践に必要なツール
・単体テストツール
 Google Testは便利そう。
・カバレッジ測定ツール
・モック化ツール
 モック化ツールは適当なものが存在しない。自分でCの関数をモック化する必要がある。
■OOP, デザインパターン
Cによるオブジェクト指向プログラミングの実現方法、および、Cに対するデザインパターンの適用方法が記載されているが、OOPはかなり無理があると感じた。変更局所化という意味での保守性は上がるかもしれないが、可読性という意味での保守性は下がると思う。やるとしてもLinuxカーネルのように関数ポインタを使うまで。ここまでやるなら最初からC++を使う方がいいと思う。
デザインパターンの章は読んでも意味がないと思い、読まなかった。
■単体テスト
・単体テストは品質保証ではない。ケアレスミスを発見するためのダブルチェックぐらいに考えるのがよい。テストを厳密に書いてしまうと、テスト作成作業のコストが単体テストのメリットを上回ってしまうことや、コード修正時にテストが壊れやすくなってしまうことなどの問題が発生する。
・モック化の方法
 (1)「ライブラリ差し替え」「マクロを利用した差し替え」…現実的
  ①H/Wアクセス箇所をライブラリにまとめておき、単体テスト時はライブラリをにせものに差し替え
  ②H/W呼び出しの入り口をすべてマクロにしておき、単体テスト時はマクロ定義を変更
 (2)「オブジェクト指向によるモックの実現」………保守性(可読性)が問題だと思う
 (3)「関数ポインタとマクロによるモックの実現」…保守性(可読性)が問題だと思う
・static関数をどうやってテストするのか
 (1) テストしない:
   あるモジュールが、外部公開I/Fのみを使ってテスト可能である場合に有効な考え方。数学的な処理や、アルゴリズムを実装したモジュールが該当(=副作用がない場合?)
 (2) テストコードからテスト対象のソースコードをincludeする。
■CI
「6,4 CI入門編」は、実際にCIを始める際に読むと役に立つかもしれない。 (参考:honto)

↓全て表示 ↑少なく表示
[備考]
https://www.amazon.co.jp/gp/search?field-keywords=%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95&index=blended&tag=mozillajapan-fx-22&sourceid=Mozilla-search&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&linkCode=qs (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴

著:花井 志生
入社当時はC/C++を用いた組み込み機器(POS)用のアプリケーション開発に携わる。
10年ほどでサーバサイドに移り、主にJavaを使用したWebアプリケーション開発に軸足を移し、
トラブルシュートからシステムの設計、開発を生業とする。


  

分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計

本書は、コンテナを使った分散システムのデザインパターンについて解説する書籍です。
コンテナとコンテナオーケストレーションを使うことで、分散システムの設計をパターン化でき、スケーラブルで信頼性の高いサービスをすばやく構築できます。
はじめにシングルノードパターンとして、分散システム内の個別ノード上に存在する再利用可能なパターンやコンポーネントについて説明し、次にWebアプリケーションのように継続的にサービスを提供するシステムを対象にしたマルチノードの分散パターンを紹介します。
さらにイベント駆動処理、ワークフローの統合を含む大規模なパッチデータ処理の分散システムパターンを解説します。
可用性の高い分散システムの開発が効率的に行えるパターンを多数紹介する本書は、開発及びインフラエンジニア必携の一冊です。
 
目次
第1部 シングルノードパターン(サイドカー
アンバサダ
アダプタ)
第2部 マルチノードパターン(レプリカがロードバランスされたサービス
シャーディングされたサービス
スキャッタ・ギャザー
ファンクションとイベント駆動処理
オーナーシップの選出)
第3部 バッチ処理パターン(ワークキューシステム
イベント駆動バッチ処理
協調的バッチ処理
まとめ:新しい始まり?)

↓全て表示↑少なく表示
Users Voice
複雑になっていきながらも冗長性、耐障害性、高可用性が求められるようになってきたオンラインシステムをどのように構築していけばよいかパターン化を試みたもの。
デザインパターンは「シングルノード」「マルチノード」「バッチ処理」の3構成に分類されている。
本書の前提としてKubernetesがあるので、パターンの記述もKubernetesを意識したものになっている。
また、サンプルコードが各所に出てくるが、Go言語、Node.js、Pythonなどさまざまな言語で記述されている。
「シングルノード」に出てくる「サイドカー」は「関心の分離("アプリが開発したもの"と"運用が入れたい仕組み")」という意味で確かにと思う点があった。
また、マルチノードにある「ロック」で気を付けなければならない点が多数あることは大変勉強になった。
出てくるサンプルコードがKubernetesをベースに多種多様な言語が出てくるのでかなりの知識がないと読みづらい。
また、内容も「まぁそうだよね」といったことが多かった。
使える何かを学習したい、と思って読むと残念な気分になる。
時間に余裕があっていろんな人の意見を参考にしてみたい、くらいの気持ちで読むといいと思う。 (参考:honto)

↓全て表示 ↑少なく表示
k8s基盤構築を進める上でのデザインパターンを知識として習得する為に読んだ
サイドカーやサービスディスカバリなど用語レベルでしか知らなかった部分の実例が書かれていたことで、実務においてもより具体的な事例をイメージしながら設計を進めることができそう
ちょっとむずかしい部分もあったので読み飛ばした部分もある (参考:honto)

↓全て表示 ↑少なく表示

  

アイデア実現のための Raspberry Piデザインパターン 電子回路からMathematicaによるArduinoコ...

※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機能しない場合があります。文字だけを拡大することはできません。
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

Raspberry Piでアイデアを自由自在に実現するためのデザインパターンを整理。
本書は、Raspberry Piを使ってアイデアを自由自在に実現するための、デザインパターンを整理した書籍です。
Raspberry Piの入門書を読んだだけでは、思いついたアイデアをもとに、実際に動く電子工作を製作することはほぼ不可能です。本書では、アイデア実現に必要なソフトウェア、ハードウェア、部品の集め方、配線などのノウハウを、パターンメイドの方法でわかりやすく紹介しています。
ハードウェアを買い集めて、実際にハードウェアとソフトウェアを組んでみようと思い立った際に、ぜひ一読ください。

ステップ1 とりあえずRaspberry Piを動かしてみる
ステップ2 何かをRaspberry Piにつなげるしくみ
ステップ3 つなげた何かを動かす準備
ステップ4 手先を動かすことが必要
ステップ5 点灯させて押してみる
ステップ6 Arduinoとコラボする
ステップ7 動きを計ってみる
ステップ8 何かを表示してみる
ステップ9 何かを動かしてみる
ステップ10 電源は大事
ステップ11 Node.jsとコラボする
ステップ12 Mathematicaの使いこなし
ステップ13 手順も技術の1つ

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
内容サンプル

(引用元Amazon)

 
   

デザインパターンの本「Kindle Unlimited 読み放題 人気本ランキング」

「Kindle Unlimited」は、Amazonの定額本読み放題サービス。

最近はKindle Unlimitedで読める本もどんどん増えており、雑誌、ビジネス書、実用書などは充実のラインナップ。

以下がKindle Unlimitedで読み放題となるデザインパターンの本の一覧です。

30日無料体験も可能なので、読みたい本があれば体験期間で無料で読むことも可能です。

(2021/10/25 12:01 更新)
Rank製品価格
1
580円
2
99円
3
400円
4
99円
5
1,584円
6
99円
7
1,200円
8
499円
9
Amazon Web Servicesクラウドデザインパターン設計ガイド 改訂版(日経BP Next ICT選書)...
発売日 2015/07/21
玉川 憲, 片山 暁雄, 鈴木 宏康, 野上 忍 (日経BP)
Kindle Unlimited対象
総合評価
2,123円
2,970円
2,970円
1,420円
10
99円
 

デザインパターン参考書「新書一覧(2020年、2021年刊行)」

以下がデザインパターン参考書の新書(2020年,2021年発売)の一覧(発売日の新しい順)です。

(2021/10/25 12:01 更新)
製品価格
Java言語で学ぶデザインパターン入門第3版
発売日 2021/11/13
結城 浩 (SBクリエイティブ)
4,290円
4,290円
4,290円
4,400円
機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決...
発売日 2021/10/19
Valliappa Lakshmanan, Sara Robinson, Michael Munn (オライリージャパン)
4,180円
4,180円
4,180円
99円
AIエンジニアのための機械学習システムデザインパターン
発売日 2021/05/17
澁井 雄介 (翔泳社)
総合評価
3,960円
(+180pt)
3,564円
3,960円
3,960円
99円
99円
99円
99円
99円
99円
 

関連:オブジェクト指向・プログラミング作法(リファクタリング)について学ぶ

以下では、デザインパターンの前提ともなるオブジェクト指向についてや、プログラミングのお作法・原則を学べるリファクタリングに関する書籍、も紹介しています。合わせてのぞいて見てください。

関連:最新おすすめのKindle端末

以下では最新のKindle端末について比較、おすすめ紹介しています、合わせてのぞいて見てください。

いじょうでっす。

コメント

タイトルとURLをコピーしました