japan.internet.com The Internet & IT Network


RSSニュース検索
カテゴリ
> トップページ
> Webビジネス
> Eコマース
> Webファイナンス
> Webマーケティング
> パブリック
> Webテクノロジー
> 携帯・ワイヤレス
> Linux Today
> Linux Tutorial
> J.I.C.ブログ
キャリア
> 転職ならen
> 派遣ならen
> アルバイトならen
> IT求人情報
ヘッドライン
> 今日のヘッドライン
> 週間ヘッドライン
Special Link
> 賃貸事務所のWR
> フォトコミュニティ
> ストックフォト
> クリップアート
> イラスト
> フェリカ
> Web2.0
イベント&セミナー
> イベントカレンダー
> 書評「IT の耳」
> 出張・接待検索
> ニュースガジェット 注目
無料ニュースメール
> 新規登録
> 変更・解除
> オプトインメールの登録・変更・解除
インフォメーション
> パートナーサイト
転職ならエン
就職ならen
求人ならen
履歴書ならen
アルバイトならエン
CRM/SFAならオラクル
> グループ会社
株式会社アエリア
(株)サンゼロミニッツ
株式会社エアネット
> お問い合わせ
> 広告掲載について
> リンクについて
> 著作権について
> その他お問い合わせ
> 利用規約
> 個人情報保護方針
> 会社概要地図
LinuxToday 2006年3月31日 13:30
LinuxToday・バックナンバー
PHP と MySQL を使ったコア Web アプリケーションの開発

著者: James Turner  オリジナル版を読む プリンター用 記事を転送
2006年3月31日 13:30 付の記事
海外internet.com発の記事
このエントリーを含むはてなブックマーク この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 newsing it!

『Core Web Application Development with PHP and MySQL』 (PHP と MySQL を使ったコア Web アプリケーションの開発)は、 Prentice Hall Core Series の新刊だ。 本書は、非常に人気の高い PHP スクリプト言語と MySQL DB エンジンを使った Web アプリケーション開発に対するアプローチの全貌を解説している。

内容としては、デザイン、セキュリティ、DB の最適化、 そして国際化などの話題が網羅されているほか、 実験用として、 実際に動作する完全なサンプル Web アプリケーションも3種類提供されている。

本書の著者で、 各種専門分野やオープンソースの分野で多様なレベルのプログラミング経験を10年以上持つ Marc Wandschneider 氏に、 インタビューを行った。

LinuxPlanet:本書の執筆は何がきっかけだったのですか。

Marc Wandschneider: ここ数年間は、さまざまな小規模企業や慈善団体向けに、 小さい Web アプリケーションや Web サイトを多数開発してきました。 私は10年以上の経験を持つ熟練プログラマではありますが、 全く新しい「プログラム」手法を学んでいると、 今でもかなり多くの苦労や失敗を経験します。 同時に、PHP が言語として信じられなほど生産性が高いことに、 大きなショックも受けました。大規模コードを素早く量産できたのです。

書籍などの情報源は定期的に探していますが、 「セキュリティの高い Web アプリケーションの設計はどうするのか?」「アプリケーションの国際化問題に対する最適な対処方法は?」「アクセス効率の高い DB はどのように設計するのか?」といった自分の疑問に対し、 納得できる回答が見つかりません。 また、C/C++、Java、そして .NET などの経験が大半の私は、 理解するのに注意が必要で、 時間のかかる新しい環境を学ぶにあたり、 再三にわたって多数の失敗を犯していたのです。

多数の Web アプリケーションを書き、 以前から抱えていた疑問に対する回答をゆっくりと学んだ私は、 ゆっくり腰を落ち着け、自分の経験を本にすることにしたのです。 PHP や MySQL、 そしてセッションやクッキーなど関連技術のような多数の話題に対する単なる訓練的な内容にするのではなく、 開発者の疑問に答え、 堅牢な Web アプリケーション開発プロセスの問題を解決するような内容にすることを心がけました。

LP:同じような題材の本は山ほどあります。本書はどこが違うのですか。

Wandschneider: 現在、PHP 関連書は優れたものが多数販売されていますが、 その多くで1つだけ欠けていると思われるのが、 Web アプリケーションの開発で重要な問題に対するシステム的なアプローチです。 章の1つを割いて、 サイトの適切な保護に必要な「要チェック項目」を一覧するだけの形で、 セキュリティを扱う書籍が多かったり、 文字列を扱っていながら、 外国語を扱う人の問題にはあまり言及しないといった状況です。

『Core Web Application Development with PHP and MySQL』では、 セッション、XML、 あるいはファイルのアップロードといった特定の技術の扱い方だけでなく、 アプリケーションのほかの部分とどのように連携するのか、 ほかの機能とどのようにやりとりするのか、 安全かつ効率的に利用するにはどうするのか、なども解説しています。

私が釈然としなかったもう1つの大きな問題が、 プロセスの重要な部分が欠けた電子商取引アプリケーションや、 本を購入しても開発に役立たないサンプルなど、 不自然に思える例でした。

この問題を解決するため、 私は完全なサンプルを3種類開発しました。 予定管理システム、 Blog エンジン、 そしてポスター販売店用の電子商取引システムです。

完全なコードを CD-ROM に収めたので(さらに著者の Web サイトからアップデートも提供される)、 完全に動作する便利な Web アプリケーションを実際にいろいろ試し、 デバッグを体験し、 さまざまな機能を見つけ出すことができます。

LP:本書とほかの書籍の違いはどこだと思いますか。

Wandschneider: 本書は、サンプルや、 効率的な Web アプリケーション開発の重要なトピックに対するシステム的なアプローチに加え、 PHP 言語に隠されたトリックや落とし穴も多数紹介しています。 私はあらゆる種類の失敗を犯すような人間なので、 くだらない経験が多数あります。 本書では、読者が同じ失敗を犯さないことを願って、それを多数紹介しました。

私は、物事の仕組みや、そうなる理由を理解するのも好きです。 物知り顔で詳細に踏み込み、身動きがとれなくなるのではなく、 自分の経験から話題や技術を評価し、説明するようにしました。 時間がたつと、 PHP のファンクションコールや SQL 文を正確に思い出せなくなるかもしれませんが、 本書に重要な内容があるので見直してみようと思ってもらえるでしょう。

LP:なぜほかの書籍はこれらの話題を軽視しているのだと思いますか。

Wandschneider: 実際は、ほかの書籍も大半はこれらの話題を扱っていると思いますが、 チュートリアルをすし詰めにした印象で、 内容が整理されていない場合が大半です。 セキュリティに関する章の内容が、 Web サーバーや php.ini のチェック項目を列挙するだけでは、 問題に適切に対処できませんし、 (必然である)ミスのあらゆる発生例を示さないのでは、 プログラミングを解説することはできません。

LP:なぜ MySQL なのですか。

Wandschneider: 実際のところ、本書を執筆した目的は MySQL だけではありませんでした。 確かに私はこの DB を最も頻繁に利用していますが (その理由は単純で、最初に学習したものだからですが)、 本書のコンセプトはこのパッケージだけに当てはまるわけではありません。

当初、本書では DB サーバーを限定したくなかったのですが、 書き進めるうちに、それが不可能であることに気付きました。 そこで、MySQL に重点を置き、 ほかの DBMS ユーザーにはできるだけヒントやコツを提供することにしたのです(付録 II の「Database Function Equivalents (対応 DB機能)」など)。

本書では、 ユーザーはほかのサーバーで Web アプリケーションを開発できない、 ということはありません。

LP:ここで経歴についてお聞かせ下さい。

Wandschneider: 私は、カナダのマギル大学でコンピューターサイエンスの学士号を取得した後、 1990年代半ばに Microsoft に就職するため米国に移住しました。 そこでは、ほとんどの時間を Visual Basic と、 その関連コンポーネント技術の開発に費やしました。 同社では最終的に、 .NET プラットフォームの WinForms チームでマネジャーを務めました。 その後、仕事や同社の方向性に徐々に満足できなくなり、 1998年に転職を決意しました。

おもしろいことに、 Microsoft に入社したころは、 DB 関連の仕事にストレスがたまり、イライラしていました。 しかしその後、MySQL を使い始めたときに、 そのおもしろさが本当に分かるようになっていったのです。

ここ最近の6年間は世界中を転々とし、 ソフトウェア開発のさまざまな問題に関連して企業を支援し、 時間があると OSS を書いていました。 イタリア、ドイツ、そして日本など、さまざまな国で生活し、 1か国語にしか対応しない Web アプリケーションが、 ユーザーにとってどれだけ問題になるのかも目の当たりにしました。

LP: Microsoft ですって? 名前を出したらオープンソースコミュニティでのあなたの信頼に傷が付きませんか。

Wandschneider: 私が Microsoft で働いたことがあると聞いた人のなかには、 赤ちゃんを食べるのが趣味なのではないか、などと思う人もいました。 しかしそれでも、Microsoft ではかなり貴重な経験を得ることができ、 有意義な仕事ができたと断言できます。 1990年代当時は、まだ同社もかなり面白い職場で、 堅牢なプログラミングと、 効果的なソフトウェアを完璧にテストして出荷することに関して、 数え切れないほど多くのことを学びました。

Web アプリケーション開発の分野に携わるようになってからも、 これらの優れた習慣は持ち続けるようにしています。 ソフトウェアがうまく書かれていれば、 だれもが恩恵を受けられますし、 もっとオープンソースに貢献したいと考えています。

LP:本書を執筆するのにどれくらい時間がかかりましたか。

Wandschneider: 本書は、近所のコーヒーショップに出かけて書き始めました。 6か月かけ、 Lサイズのエスプレッソを何杯も飲んだ末に最初の草稿が仕上がり、 入稿となりました(編集にはその後数か月を要しました)。 当時は働いていなかったため、 基本的に、1週間に40〜50時間を執筆にあてることができました。 特定の章のために数日かけてコードやサンプルを書くと、 それから書く内容について戦略を練り、 あとはそれをきれいにタイプするだけでした。

LP:本書の執筆は楽しめましたか?

Wandschneider: 特定のコンセプトや技術を、 本当にその仕組みが理解できるよう説明するのは、 最高に面白い作業です。 私は、小さいスクリプトやサンプルを書くことに多くの時間を費やし、 場合によっては悩むこともありましたが、 これまで知らなかった全く新しく興味深いことを学ぶときもありました。 これはちょっと話すのは恥ずかしいのですが、 それがしばらく続くと、SQL や PHP で夢を見始めるようになります。

LP:本書の読者はどのようなことを期待できるのでしょうか。

Wandschneider: 本書は「何らかのプログラム経験のある」方を対象にしています。 それ以上のことは求めていません。 VB スクリプトやプログラムを多数書いた経験がある、 Perl をしばらく書いていた、 あるいは実際に大規模アプリケーションを Java や C/C++ で書いたことがあれば、 本書は読みやすいようになっています。

Web アプリケーションを書き始めるまで、 私には DB に関する知識がないに等しかったため、 読者にも同じように経験がないものと仮定しています。 この点を考慮に入れ、本書は PHP や SQL のシンタックスだけでなく、 読者がこれから遭遇するであろう問題や、 これらを自分のアプリケーションのなかで最大限効果的に使う方法を解説していきます。

LP:本書の読者はどのプラットフォームを使えば良いと思いますか?

Wandschneider: 読者が何を使おうと全く自由です。 私自身も、書いている内容が絶対に限定されないよう、 Windows、Linux、FreeBSD、そして Mac OS X でサンプルを開発、 テスト、および実行しています。 PHP も PHP 5.0〜5.0.4 までのバージョンを使ったほか、 MySQL は 4.1.7 以降の各バージョンを使いました(最新の 5.0 リリースも含む)。

私は先ごろ、商用の PHP/MySQL Web アプリケーションの開発に携わりました。 開発は Windows、Mac OS X、そして各種 Linux サーバーで行われました。 よほどのことがない限り、 各バージョンがどのプラットフォームで動作しているか気付きませんでした。

LP: 最も興奮を感じる PHP5 の主要機能は何でしょうか?  MySQL ではどうでしょう。

Wandschneider: PHP 5 へのオブジェクト指向機能の追加は大歓迎です。 アプリケーションの設計に大きく役立ち、コードもきれいに整理できます。 徹底的なシンタックスチェックも、変数の未定義エラーや、 自分が書いたもののなかに隠れていた多数のコード関連問題の回避に役立つことが分かりました。加えて新しい MySQLi(Improved MySQL)拡張もあり、 PHP 5を使ったプログラミングには大満足です。

MySQL は、非常に興味深く、 堅牢な DB システムへと成長しました。 バージョン 4.1.7 以降では Unicode のサポートが大幅に改善され、 これにより、ユーザーがどの言語でデータを送信しても全く意に介さないアプリケーションの開発が可能になりました。 DB は、これらをすべて UTF-8 文字列として保存し、 アプリケーションがこれらのデータをクライアントに運びます。 多種多様なデータタイプに対応し、MyISAM と InnoDB のいずれかのテーブルを選択できると、 このサーバーを完全にコントロール下に置いている感覚になります。

LP:本書で分からないことがあったら、読者はどうすればいいでしょう。

Wandschneider: ここに私の Blog があります。本書に関する最新情報やメモだけでなく、 開発者に有益だと思われるチュートリアルや各種情報も用意されています。

まとめ

『Core Web Application Development with PHP and MySQL』は、 以下の5つの章で構成されている。

・ learning PHP(PHP の学習)
・ learning Databases (DB の学習)
・ designing your web applications (Web アプリケーションの開発)
・ implementing your web applications (Web アプリケーションのインプリメンテーション)
・ complete web application samples (完全版サンプル Web アプリケーション)

読者はその習熟度にかかわらず、これらの話題を読み進め、 デザインやセキュリティに対してシステム的なアプローチを取ることで、 本書が Web アプリケーションを書くときの有益なツールになるだろう。 かなりの詳細に踏み込み、 しかも軽妙な文体で仕組みを完全に説明している。 このような本を手元に置いて作業すれば、 みんな満足できるだろう。

書籍情報

書名:Core Web Application Development with PHP and MySQL (Core) (ペーパーバック)
著者:Marc Wandschneider 氏
発行者:Prentice Hall PTR; Bk&CD-ROM エディション(2005年9月26日)
ISBN:0131867164
価格:49ドル99セント





関連記事
  • Zend が、PHP コード不可視化ツールの新版を準備中
  • Zend Framework サイト開設とプレビュー版の配布を開始
  • Yahoo!、各種サービスと連携するアプリケーション開発支援を強化
  • PHP 統合開発環境「Zend Studio 5.1 日本語版」の出荷を開始
  • PHP 統合開発環境「Zend Studio 5.1 日本語版」リリース


  • 関連テーマ
  • オープンソース
  • インタビュー
  • XML
  • PHP
  • MySQL
  • Microsoft
  • 転職
  • Java
  • Blog


  • ★最新トップニュース
    国内 「UTM-1 Total Security」で製品ラインアップを拡充、チェック・ポイント(Webテクノロジー 7月9日 13:00)
    チェック・ポイント・ソフトウェア・テクノロジーズは2008年7月9日、UTM-1 Total Security アプライアンス2製品を発表した。ソリューションのラインアップを拡充し、選択肢の幅を広げることで最適なソリューションの提案を目指す。
    国内 ゾンビ PC がブラジル、中国で増加:G DATA マルウェアレポート(Webテクノロジー 7月9日 13:00)
    G DATA Software によるとゾンビ PC の拠点がヨーロッパからブラジル、トルコ、中国に移行しはじめている。同社が2008年7月9日、2008年の第2四半期のマルウェアレポートの速報として明らかにした。また、同報告書によるとスパムメールの割合もまだまだ上昇している。
    国内 NTT コムウェア、Oracle と OSS による SI 型企業内情報統合ソリューションを画像のある記事(LinuxToday 7月9日 13:00)
    Smart Intelligence とは、企業内情報検索エンジンを使い、社内に散在する情報を横断的に検索できるようにする、SI 型“企業内情報統合ソリューション”。NTT コムウェアの社内導入のノウハウをもとにしたもの。
    海外 DNS に重大な脆弱性、複数のサーバーに影響(Webテクノロジー 7月9日 12:50)
    DNS キャッシュ ポイズニングを可能にする脆弱性が見つかった。攻撃者のコントロールするシステムにトラフィックが誘導される恐れがあり、複数ベンダーの DNS サーバーが影響を受ける
    海外 Google、かつての業務委託先から従業員情報が流出(Webテクノロジー 7月9日 12:10)
    プライバシーに関連する多数の論争を抱える検索大手 Google だが、今、同社自身の一部従業員の個人情報が盗まれるという事態に直面している。
    トピックス
    > オススメのIT系求人情報【毎週月曜日更新】
    footer_301.gif


    リサーチ
    > デイリーリサーチDLサイト
    > OnlineResearchPortal (リサーチデータバンク)
    > モバイルリサーチ with goo
    footer_301.gif
    キーワード
    > iPhone > モバイルノート
    > 08ソフトバンク夏モデル > ウィルコム
    > Youtube > インド新聞
    > テーマ一覧はこちら
    footer_301.gif
    セミナー情報
    > 第1回インターネットコムマーケティングセミナー「新規クライアントを効率的に獲得する Web マーケティング手法とは」(3月26日)多数のご参加ありがとうございました
    footer_301.gif
    デベロッパー
    > DevX
    > CodeGuru
    > developer.com
    footer_301.gif
    日本Oracle
    footer_301.gif
    j.i.c.ブログ
    ブログ一覧
    ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」 【ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」】
    「オリジナルなサービスを生み出す会社であり続ける」/バジンプ株式会社(7月9日)
    データメーション 【データメーション】
    大詰めを迎える Yahoo(7月8日)
    Graphic Design Forum 【Graphic Design Forum】
    広告コピーの書き方:自社製品の優位性を証明する方法 (7月7日)
    ジュピターメディア創設者がITを斬る 【ジュピターメディア創設者がITを斬る】
    素晴らしいエンターテインメント - Billy Joel(7月1日)
    デスマーチからの脱却 【デスマーチからの脱却】
    チャンスの神様(6月26日)
    Skypeブログ出張版 【Skypeブログ出張版】
    Skype 4.0 ベータ 1 for Windows登場(6月20日)
    footer_301.gif
    最新コラム一覧
    Eメールマーケティング事情 Eメールマーケティング事情

    40/40/20のルールから50/30/20ルールへ(7月9日)
    日本と韓国のインターネットビジネス最新動向調査 日本と韓国のインターネットビジネス最新動向調査

    日本と韓国の検索サービス比較5―リアルタイム人気検索キーワードで、今のインターネットの話題をリアルタイムで把握(7月9日)
    百式のネットビジネス研究 百式のネットビジネス研究

    ネット上の無限キャンパス「FarbTube」(7月9日)
    SNSをビジネスに活用しよう SNSをビジネスに活用しよう

    社内 Blog をいかに浸透させるか(7月8日)
    CodeGuru CodeGuru

    さまざまな言語に対応するゲームプラットフォーム「Simple DirectMedia Layer」(7月8日)
    エンジニア転職ノウハウ開発室 エンジニア転職ノウハウ開発室

    背筋も凍る!エンジニアが遭遇した職場の怖い話(7月8日)
    アイレップの SEM フロンティア アイレップの SEM フロンティア

    リスティング広告における「ユーザーの認知」と「ブランディング」の関係(7月8日)
    IT マネジメント IT マネジメント

    全国共通 ID の危機を解決する(7月7日)
    サーチからはじまるインタラクティブエージェンシー サーチからはじまるインタラクティブエージェンシー

    忘れていないか「クローラビリティ」(7月7日)
    モバイルSEO@フラクタリスト モバイルSEO@フラクタリスト

    Google モバイルのデジタルコンテンツ検索とその可能性(7月7日)
    footer_301.gif
    専門チャンネル
    > セキュリティチャネル > テレコムチャネル
    > サーチエンジンウォッチ
    footer_301.gif
    海外のインターネットコム アメリカ韓国ドイツトルコ
    関連企業のサイト:ストックフォト イラスト ネットストリート ホテル予約サイト タウン情報 出張 事業継承 シミュレーション トランクルーム 優待映画チケット 田舎暮らしガイド オリジナルデザインTシャツ ニタコエ
    Copyright 2008 Jupitermedia Corporation All Rights Reserved. http://www.internet.com/
    space.gif space.gif