毎日コミュニケーションズ (2005/03)
売り上げランキング: 14,707
通常24時間以内に発送
初版第一刷のリビュー。本書が対象としている、「コンピュータは操ることができるけれども、プログラミングなんてまったくやったことがない」(p.4)読者、に一二本毛が生えたような立場からのリビューだ。ただし Apache や PHP の設定、MySQLのインストールは、本書に接する前に既に済ませてあった。
結論から言うと、「初心者」や、上記のごとく僕のようなそれに毛の一二本プラスしたような人には、強く薦められる本だと思う。
本書の特色のいくつか。
- 書名通り、MySQL の初心者向けの説明を比較的に丁寧にやっていること。初心者向けと銘打った PHP 解説本などで、ほとんど説明なしに MySQL も使ってしまっているような例は多いが、そのあたりの欠落を埋めてくれる。
- 単にHello, World!を表示させるところから始めるような世上数多い参考書とは一線を画して、実用性のあるコードをとにかく打ち込ませること。もっとも、そういう参考書は、技術評論社の「10日でおぼえる」シリーズをはじめとして、現在では決して少数派ではない。
- Mac OS X が取り上げられていること。これまで、本書が扱っているApache+PHP+MySQLといったようなWebアプリの入門書は、ほとんどの場合、Linux と Windows を記述の対象にしてきた。本書は一般のコンピュータ・ユーザ向けに、「環境を整えるまでのハードルをできるだけ下げたい」という趣旨から、Windows XP と Mac OS X のみを対象にしている。Mac OS X が取り上げられていることは重要な意味を持つ。この種の学習をするのに、今現在、これほど有利なプラットホームはないからだ。
Windows XP では、Apache や PHP のインストールから始めなければならないわけだが、Mac OS X にはこれらは最初から入っている。したがって、「その分がWindowsより若干ラクです」(p.76)ということになる。
石田豊さんと言えば、Mac関連の書き手として、以前から実績のある方だ。僕がMacを使い始めた頃、石田さんの本で色々と教えられた記憶がある。もしかしたら、本書も、Mac OS X だけで書きたかったのかもしれない。しかしWindowsを使って(使わされて)いる人が多い現状からすれば、出版採算の点からしても、できるだけ多くの人にPHPやMySQLの力を知ってもらうためにも、このような形にせざるを得なかったし、むしろ絶妙な妥協点を見出しているのだと言うべきなのだろう。
- MySQLの処理能力を実感させるのに適した、かつ興味深いデータファイルを用意していることも、本書の特色と呼べるかもしれない。第7章4節の郵便番号簿、第8章4節の人名事典。
- 数字を扱う処理を最後の第9章にまとめたのは一つの見識と言えば言える。しかし万歩計を付けているような人向けのネタであるところが著者の年齢を感じさせる。若い人はお母さん、お父さん、おじいちゃん、おばあちゃんのためにこのコードを書いてあげましょうね。
不満な点をあえてあげれば、Windowsの場合と記述をそろえるために、p.80 でややこしいエイリアスの使い方をしていること(僕はこれは無視して、もっぱらホームディレクトリの「サイト」フォルダを使った)。
おそらく同じ理由で(第7章4節で Excel なんぞ使っているからでもあるだろう)、わざわざ Shift_JIS を用いていること。(僕はこれも無視して、UTF-8 を使い、郵便番号簿、人名事典データも UTF-8 に変換して使った。添付されている my.cnf ファイルは使わなかった。また、エディタは、紹介されている定評ある mi の代わりに Taco HTML Edit を使った。)Shift-JISがなぜダメかということは改めて書く。p. 258 や p. 320 で、「Mac の標準のターミナルの場合は、日本語表示が化けてしまいます」とあるが、Shift-JIS ではなく UTF-8 を使っていれば化けない。著者は承知で書いているはずだけれども。
第6章と第7章の二章をかけてせっせと作ってきた住所録を、第8章冒頭で「でも私はこれは使いません」と言ってしまうのは、正直だけれどいかがなものか。まあ、データベースと言えば住所録、というのも事実であれば、そんなもの使わなくてもいい、というのも本当だけれど。練習と学習のため(そしてそのためにこの二章は十分な役割を果たしている)とは言え、まじめに取り組んできた読者はやはりちょっとがっくりするのではないか。何かやり方はなかったのだろうか。僕は思いつかないけれど、何か住所録以外のネタ。あるいは、住所録でも、たとえば Yahoo! やらなんやらのモバイルサービスと連携させるというような展開があれば、十二分な意味が出てくるのだけれど、しかしそれは本書の範囲をこえるだろう。難しいところだ。
コンピュータ関連のこの種の本としてはゆゆしい誤植や誤記は少ないほうだと思う。ただしたいていのコンピュータ関連出版社や著者が、訂正やサポートのサイトを設けている(だから安易に誤植だらけの本を出してしまうというのでは困るが)のに、本書とその出版社にはそれが見当たらない。何と質問は往復はがき(!)で出すことになっている。だから、この本の他の読者の参考となることを願って、ほとんどは些細な問題だけれど、気の付いた範囲でここに指摘しておく。本書が対象としているはずのほんとうの「初心者」は、些細なことで躓いてしまうものだからだ。(すべて初版第一刷による。)
- p.180 のコード(それについてのp.181の解説、p.187のコード、p.189のその解説、p.191のコードでも)で、mysql_connect と mysql_select_db の引数それぞれに引用符が欠けている。localhost, root, xxxxxx, lesson はそれぞれシングルクオーテーションかダブルクオーテーションで囲まれていなければ動かない。繰り返し出てくるこのコードは、あとの部分ではすべてちゃんとシングルクオーテーションが付いている。
- p.255 の sodo cp KEN_ALL.txt... は sudo cp KEN_ALL.txt... の誤植。
- p. 258 のコード、タイトルの i_yubinbango.php は j_yubinbango.php の誤り。
- p. 267 1行め j_touroku1.php は、j_touroku3.php。
- p. 274 中程の、show fields from nandemo の後ろの改行記号と ";" の順序が逆。
- p. 292 のスタイルシートの記述で、.key の font-family は、MS Pゴシックやヒラギノ丸ゴを使っているのだから、最後の代替選択肢は 'serif' ではなくて 'sans-serif' のほうが筋が通る。
- p. 328 のソース32行め、「要ユーザ登録」の行は誤り。p.326 の方が正しい。
- p. 333 ソース9行めの "/font" 終了タグは余分。
- p. 335 ソース84行めと85行めの間に
"echo とでもいった一行が入るべきだろう。(あるいは85行めの最初のダブルコーテーションの直後に・日付
\n";"" を入れる。)"
- p. 335 ソース88行めの
"" を削除。 - p. 339 ソース54行めの $rkyori は $ruikei_kyori の誤り。(p.341も同じ)
- p. 339 ソース72行めの $saishu_yori は $saishu_kyori の誤り。
- p. 346 本文8行めの $nisuu は $nissu の誤植。



