= はじめに = #preface 本書はあまり急がないでウェブアプリケーション(ウェブアプリ)の基礎とその周辺知識を学ぼうという人のためのものです。以下に該当する方にお勧めします。 * 基本的なことがわかっていないような気がしている情報系の学生。 * ウェブアプリの作り方を知りたい。 * 実践的な例でJavaを勉強したい。 * Eclipseを使いたい。 * MySQLをちゃんと使えるようになりたい。 * 文字コードをちゃんと理解したい。 * ウェブアプリやMySQLの文字化けを解決したい。 * 国際化に対応したソフトウェア開発の基本を知りたい。 ウェブアプリの作成には、総合的な知識が要求されます。いわゆる情報技術(IT)の初歩として学習するようなプログラミング言語やデータベースを組み合わせて使うからです。 私たちは、ウェブアプリをそのような総合的な課題として扱っているような教科書を探していました。ウェブアプリの制作方法を解説した書籍はすでに数多く出版されているにも拘らず、残念なことに、私たちの求めるものはありませんでした。詳しくは1.4節(p.6)で説明しますが、既存の書籍は次のような点で不満でした。 * 扱う範囲が限定されすぎている。 * さらに学びたい人のための情報が少ない。 * 開発環境が貧弱である。 * 動作OSが限定されている。 * セキュリティや文字コード、HTMLの規格に対する配慮が足りない。 膨大な参考文献リストを用意して、そこに挙げた文献を読んでもらうことにすれば、これらの不満は解決できるかもしれません。しかし入門時には、参考文献リストよりも、コンパクトなチュートリアルのほうが学習の効率はよいはずです。そこで、このような教科書を作ることにしました。 コンパクトなチュートリアルといっても、本書は、週末に急いでウェブアプリのプロトタイプを作らなければならないような人のためのものではありません。他の入門書に比べると、学ばなければならないことがかなり多いという印象を持たれるかもしれません。しかし、ソフトウェア開発は「1週間でわかる」とか「10日でわかる」というものではありません。ですから、あまり急がずに学ぶのがいいと思います。次のような話もあります。 プログラミングを独習するには10年かかる—Peter Norvig([http://www.yamdas.org/column/technique/21-daysj.html 文献37]) 私たちもこれに同意します。本書自体は3日もあれば読めるものかもしれませんが、参考文献などをたどって行けばC言語の基礎しか知らない方が1年ぐらいは楽しめるようにしたつもりです。 使用ソフトウェア 本書で主に使用しているソフトウェアを挙げます。 * Mozilla Firefox * Java SE Development Kit (JDK) * Apache Tomcat * MySQL * Eclipse + Web Tools Platform (WTP) 動作確認したソフトウェアのバージョンは、Firefox 1.5および2.0、JDK 5.0、Tomcat 5.5、MySQL 5、Eclipse 3.2、WTP 1.5、OSはWindows XP, Vista、Mac OS X 10.3および10.4、GNU/Linux (Slax 5.1.7b-2および5.1.8.1-3)です。これらより新しいバージョンについては、できるかぎりサポートサイトで補足します。([wiki:更新情報]) 使用OSは以下の通りです。 * Windows XP, Vista * GNU/Linux * Mac OS X 10.3以上 本書で利用するソフトウェアをすべてインストールしたGNU/LinuxのライブCDを用意しました。開発環境の準備が面倒な場合や、普段使っているPCにソフトウェアをインストールしたくない場合にご利用ください(第2章 p.13を参照)。([wiki:更新情報])