オープンソースアプリケーションのアーキテクチャ
(aosabook.org)建築家は何千もの建物を見て、巨匠たちが作った建築物に対する批評を研究します。一方で、大多数のソフトウェア開発者はたいてい自分で書いたコードしかよく知らず、歴史的に偉大なプログラムを研究しないという問題意識から作られたページです。そのため、その分野の専門家が有名なオープンソースアプリケーションを一つずつ担当し、なぜこのような設計になっているのかを説明しています.
代表的なものとして Git、CMake、nginx、PyPy、GDB など、最も有名なオープンソースプロジェクトを多数分析しており、それぞれの項目をクリックして Web ページ上ですぐに読むことができます。また、紙の書籍や PDF などで購入することもできます。
以下は紹介文の全文です。
建築家は訓練の過程で何千もの建物を見て、巨匠たちが作った建築物に対する批評を研究します。対照的に、ほとんどのソフトウェア開発者は少数の大規模プログラム(通常は自分で書いたプログラム)しかよく知らず、歴史に残る偉大なプログラムを研究しません。その結果、互いの成功の上に積み重ねるのではなく、互いの失敗を繰り返してしまいます。
私たちの目標は、それを変えることです。この2冊の本では、40のオープンソースアプリケーションの作者たちが、ソフトウェアがどのように構成されているのか、そしてその理由を説明します。各プログラムの主要な構成要素は何でしょうか。それらはどのように相互作用するのでしょうか。そして、そのアーキテクチャから開発の過程で何を学べるのでしょうか。こうした問いに答えながら、この本の寄稿者たちは自らの考えに対する独自の洞察を提供します。
ジュニア開発者で、経験豊富な同僚たちがどのように考えるのかを学びたいなら、この本から始めるのに向いています。中級またはシニア開発者で、他の人々が難しい設計上の問題をどのように解決したのかを確認したい場合にも、この本は役立つでしょう。
3件のコメント
第1巻は翻訳版もあります〜
http://aladin.kr/p/pG2qJ
この記事を読んで思い出したのですが、コードや1つのプロジェクトのアーキテクチャレビューだけを投稿できるサイトがあればいいなと思います。
最初に出てくる文章は「500ライン、あるいはそれ以下」という記事です。これらの文章はアーキテクチャとは関係ありませんが、500ライン以内でWebサーバーやDB、コードハイライトのような興味深いものを作れる内容になっています。
下には本文であるオープンソースアプリケーションのアーキテクチャが掲載されており、2巻に分かれています。すべての内容はWebページで制限なくアクセスでき、もし本として手元に置きたい、あるいは金銭的に支援したい場合は、PDFや書籍を購入できます。
購入ページの特徴は、「ここで買えば私たちはいくら受け取れるか」ということを詳しく書いている点で、ユニークだと思います。