PHPxPostgreSQL で作る最強Webシステム」BOOK REVIEW
書評者:田邉純一 様

本書は石井達夫氏の最新書籍で主に初級者から中級者向けであろう。

「対象」
本書の対象となるユーザーは以下のような方々であろう。
・一歩進んだPostgreSQLの運用がしたい
・MVC & PEAR ですっきりとしたPHPスクリプトを書きたい

「特徴」
・初心者でも理解できるようにする配慮もされている
・PEARの使い方やMVCについても言及されている
・かなりのページがデータベース設計からトランザクション設計,データベース管理に割かれいる

「感想」
率直な意見として、今まで評者が読んできたPHP&PostgreSQL本の中では個人的には一番良い本だと思う。初級者をターゲットに入れている本ではなかなか書けない段階の事も書いてあり、長く付き合う事の出来る一冊といえる。また、PostgreSQLについての記述が詳細なので、PHPを利用しない人も十分に利益を得る事が可能だろう。他方で、PHPについての記述も十分で、PHP&PostgreSQLでのWebアプリケーションの構築&運営をしていきたい人には必携といえる。 PHPの解説はごくやさしい物がほとんどだが、MVC, PEARについての解説が書かれているのがありがたい。PEARについてはその多くは実例で示されている。物足りない方もおられると思うが、多くの方はこれだけ書いてあれば十分ではないだろうか。 データベース設計の辺りは Web+DB Press に連載されていた記事を改定したものとなっている。この部分のPostgreSQLの解説はかなり詳細で今まで正規化/非正規化, 外部キー, インデックスなどのキーワードに全く触れてこなかった方々にとって今後のテーブル設計時において非常に有用だろう。日本語のテーブル/フィールド名と英語のそれとの対訳表を用いた変換方法まで記載されており、これは感動した。 トランザクションについても分離レベルまで詳細に説明されており、大変有用だが、欲を言うならば、ロックについて、もう少しページをさいて欲しかったと思う。 セキュリティ、PostgreSQLの管理についてもかなりページが割かれており、実際の運用を管理する方にとってはとてもありがたい内容となっている。PostgreSQL-7.2移行の書籍は多くはないので、個人的には7.2移行のvacuumの使い方についての記述は特に参考になった。 蛇足ですが、本書の表紙の「ペンギン」に対して特別な嫌悪感を示す方もおられると思いますが、その時は、サクっとカバーを捨てて頂くか、カバーを裏返にして頂ければ解決となると思います。本書には、FreeBSDも対象となっており、表紙のために、本書が読まれないような事があると悲しいな、と思います。 最後に、本書を出版された石井達夫氏、書評に選んで下さった日本PostgreSQLユーザー会、そして、評者の拙い文章を最後まで読んで下さった皆様に感謝致します。




書評者:小原 薫 様

PHP*PostgreSQLで作る最強Webシステム

1部 セッティング
 この章は一般的なPHP等のセッティングと同じ内容が書かれておりますが、 特に不要パッケージの削除、トラブル対策などが丁寧に書かれており、OSのバー ジョン等でインストールが行えない場合などにこの章の内容が非常に参考になりま す。 又、基本的な使い方は全てこの章に記載されており、この章だけおさえれば、ちょっ としたPostgreSQLとPHPのプログラムは書けてしまう。通常は知ろうとするキーワー ドをはっきりさせなければ、調べる事ができませんが、この本の場合、この1章だけ で事は足りてしまうのが、とても便利です。

2部
 2部から具体的な事例を踏まえて記載されているのですが、特にうれしいのが、実 際にLinux+PHP+PostgreSQLで開発を行うとぶつかる疑問に対し、「かゆいところに手 が届く」的に書かれています。  特に、文字コードの問題は皆ぶつかると思うのですが、非常に丁寧に記載されてお り、とても重宝しました。  又、ファイルアップロード、ラージオブジェクトの扱い等、通常は調べるだけでも 時間のかかる内容をそのものずばり記載されております。

3部
 3部では運用面が記載されています。 この章がまた、「かゆいところに手が届く」的な内容になっております。 特に、DBのプロセス監視等のコマンドなど気にも留めない様な内容が網羅されてお り、非常に親切な書籍です。

全体
 全体的にはHowTo本になっており、非常にわかりやすいのですが、、欲を言え ば、関数仕様、DB仕様が記載されておらず、そこに関しては、別途書籍を購入しな ければならない点が気になります。  例では、ファイルアップロード、画像データの取り扱い等をあげておりますが、 もっと一般的な例を多くすれば最強の名にふさわしくなるのではないでしょうか。




書評者:塩月 研策 様

まず初めに、今回の書籍を読んでびっくりしたことが、データベース及びシステムを構築する上で、設計手法と考え方を詳細に解説している点です。 一般的にこの手のHOW TO本といえば、個人レベルでの制作をターゲットとしており、プロとしてシステムを設計することをターゲットとしているものは、ほとんどありません。 最近のプログラマーの多くが、「プログラムを制作する」という観点と「システムを構築する」という観点を混同しているケースが多いと感じています。 これは、システムを制作する過程においてあくまでもプログラムを作る部分をどうしても重要視してしまう傾向があり、システムを構築するスキルの欠如にこの今までのHOW TO本が関与している気がしてなりません。 この点、この書籍は大変に良いものだとお勧めできるものになっていると思います。 また、今回こちらの書籍を読んで、私の考えるPHPの特徴として大きく考えられたものが、

1.スクリプト言語である。
ソースを修正してすぐにテストという工程を繰り返すことによる、生産性の高さが挙げられる。

2.Perlの正規表現と、Cライクな文法が使用できる。
Perlでの一番便利な正規表現と、最も普及しているC言語の文法を使用できるといったいいところどりの言語である。

3.エラーハンドリングが確実である。
一般的なテスト方法と大きく異なり、自動的にエラーハンドリングしたものをhtmlとして生成してくれる。

4.Apacheのアドオンモジュールである。
スクリプト言語の宿命であるプログラムの文法解析が逐次実行されるが、こちらのデメリットを感じさせない高速なものになっている。

の部分でした。しかし、この上記の特徴が全て良いというわけではなく、どうしてもエラーハンドリングが簡単な為に、そもすると「デバックを行う」ことと、「システムのテストを行う」ことの混同を感じてしまい、他の言語と違いテスト工程の重要性が軽視されてしまうかもしれません。 この為、今回の書籍にてテスト工程の重要性と、PHPでのテスト工程のお勧めの管理方法等を解説が出来れば良かったのでは?と感じています。 Javaサーブレット/JSPでの言語仕様が大きく、習得するまでに時間がかかるとあり、PHPは確かにプログラムを習得するまでの期間は早いというのは確かに解るのですが、「プログラム言語の習得が早い」=「システム構築を行いやすい」ではなく、あくまでもシステム構築を行う上での工程を全て踏まなければ、満足のいくものが出来ないことを認識しなければなりません。 一般的に、PerlやPHPでのシステム構築はそもすると安く見積もられがちだと思いますが、これは、やはり設計工程やテスト工程を軽視してしまう風土が、これまでのHOW TO本だけで「プログラムを制作する」ということにしか目の向いていない技術者でも、一応動くものが出来てしまう簡単さがダメなのかもしれません。 今回の書籍のシステムを構築する上での工程を良く理解して、一人でも多くの「システムを構築する」技術者が育ってくれたら・・・、と願う限りです。




書評者:安達 健一様

 本書では、PHPxPostgreSQLという今が旬のスクリプト言語とRDBMSを組み合わ せたWeb開発の実例が豊富に展開され、短期間で実践的なシステム構築の追体験 をすることが出来る。特に本書の真骨頂である第2部中盤以降では、本格的なサ ンプルアプリケーションを題材にして、データベース設計という専門的な分野ま で果敢に取り込み、充実した内容だ。読者は、自身の知識やスキルレベルに応じ て必要な項目をピックアップし、実際に手を動かしながら読み進めていくこと で、業務での使用に耐え得るWebシステム構築の土台が身に付くことだろう。

 第1部のセッティング部分では、各ソフトウェアのインストール方法や基本的 な機能がとても丁寧に紹介されている。評者は、PostgreSQLこそ若干の使用経験 があるが、ApacheとPHPは今回はじめて使用するので、導入作業は本書の指示に 躊躇なく従った。本書はPHPやPostgreSQLについて細部まで網羅することを目的 とはしていないが、これらのソフトウェアの知識を事前に持ち合わせない読書 が、この一冊でPHPxPostgreSQLを用いたWeb開発をある程度マスタしようと考え るならば、本書の解説量は過不足ないところではないか。

 第2部では文字コードや日時・時刻の取り扱いなどに注意を喚起したあと、い よいよ業務にも応用が利きそうなWebアプリケーションの構築事例に進む。2.4の デジカメ画像管理アプリで肩を慣らし、2.5雑誌記事データベースシステムで は、Diaというツールを利用してのER図作成からはじまって、データベース設計 のフローやRDBMSのトランザクション管理技術について専門書に劣らない詳しさ できちんと説明している。そしてここが最も肝心なのだが、MVCモデルという手 法に沿ってアプリ構築に使用したPHPスクリプトは、その設計・実装の詳細をサ ンプルコード上の主要な部位ごとに切り分けて親切に解説してあり、読者を置き 去りにすることがない。雑誌での連載を加筆修正したものということで、紙面数 の制約が緩やかなのであろうか、「以下省略」といったことがほとんどなく、筆 者の誠実さが伝わってくる。

 第3部に辿り着く頃には、山を登り終えた充実感があるが、ここではWebシステ ム運用の注意点として、スクリプト側およびデータベース側で行うセキュリティ 設定と、PostgreSQLの運用管理が実践的に紹介されている。Web開発のニーズに 迫られた人には、決して軽視できない内容で、どのTipsも最低限抑えておくべき ものばかりだ。

 以上、トータルな印象では、Web開発トレンドの表層的なフォローにとどまら ずズッシリしたものに仕上がっている。ただし、幅広い読者層を意識してか、と きに説明が冗長なところも見受けられる。加えて、本書に含めるべき内容の取捨 選択として、データベース一般およびPostgreSQLの実運用についてすでに別の解 説書で充分触れられている点まで取り込むことが本当に必要なのか、少し戸惑い を感じた。解説自体はコンパクトで、かつ具体性がある優れたものなのだが、実 践重視という本書のコンセプトが少し薄れるようにも思えた。各項目の順序・分 量の配分など構成にもそれは当てはまる。目に付いたところでは、第2部で実例 が本格的に展開される前に、文字コードや日時と時刻の扱いといった項目をかな り量を割いて解説しているが、果たしてこの位置が最適であったか。全体の読み やすさ・見通しの良さのためには、例えば章末のリファレンス的な扱いのほうが あるいは好ましかったのではないか。一冊でPHPxPostgreSQLによるWeb開発をカ バーするという試みが、結果として関連分野の寄せ集めとなってしまった感が若 干ある。したがって、私見ではあるが、本書の効率的な利用には、読者が自身の スキルにあわせて工夫する必要があるように思う。

 尚、コマンド例などでパス名のような細かい箇所の誤記が複数あり、読書がPC UNIX環境自体に明るくない場合、混乱の原因となりかねない。改訂版での漏れの ない訂正を期待する。





All Rights Reserved, Copyright (C) 1999-2002 Japan PostgreSQL Users Group
staff@postgresql.jp
$Id: websystem.html,v 1.2 2003/02/17 05:07:19 tone Exp $