本書は、データベースを活用したWebアプリケーションを製作するための入門書です。本書では、次のことに注目します。SQLは手書きで練習まず、データベースについては、重要な概念や、データベースの設計の初歩も含めて、基礎的なところから解説しています。データベースの操作(データの追加、検索、更新など)にはSQL言語を使います。使いますが、その場合でもSQLの知識が不要になるわけではありません。効率のよいデータベース操作のためには、ActiveRecordが内部でどのようなSQLを内部で生成するか、意識する必要があります。本書は、幅広く活用できるように、データベース管理システム(DBMS;OracleやPostgreSQLなど)に依存しない標準SQLに準拠しました。DBMSの差異はつど脚注しています。Webアプリケーションの開発にとって重要なものに内容を絞り、その分、実際的な表や図を多用して理解しやすくしています。DBMSとしてPostgreSQL、MySQL、また軽量SQLライブラリであるSQLiteで動作確認しています。動くプログラムを書いてこそデータベースの設計をして終わり、という書籍が多くあります。私は、何を格納するか決めただけではまったく片手落ち(仕事が不十分)だと思います。クラス図だけではプログラムではないのと同様。本書では、第3部で、実際的なWebアプリケーションとして、ショッピングカートとタスク管理サービスを製作します。いずれもデータベースを活用し、関連商品の提案を行ったり、ユーザー権限の管理・タスクの履歴の管理を行ったりします。効率的なセッション管理、Webアプリケーションのセキュリティなどについてもページを割き、品質の高いWebアプリケーションを製作するために注意すべき点などを盛り込みました。HTMLとプログラムを分離するところで、Webアプリケーションを開発する場合、デザイン(HTMLデータ)とロジック(プログラム)の混在による保守性の低下という問題が付き纏います。この問題は、PHPなどHTMLページにプログラムを埋め込むタイプの言語でも避けることができません。本書では、「テンプレートエンジン」と呼ばれる、HTMLデータとプログラムとを分離するライブラリを活用し、この問題を解消しています。テンプレートエンジンとしては、Amritaを使っています。読者の声メールなどで頂いたご感想などです。●2003.10.02、ruby-listメーリングリストにて。|書店にモノが届いても分類とかがありますから、実際に並ぶのは来週になるの|では、と思います。先々日再び出撃して無事見つけて買ってきました。SQLの入門,Rubyの入門,CGIの入門ができちゃう本です。rubyでDBを利用するcgiを書くとき(オレの仕事じゃん!)は,これ一冊あれば済んでしまいます。セッションやセキュリティに関する解説があるのも助かります。これに続く中級編,上級編を読みたくなりました。●2003.09.26、とあるメーリングリストにて。一通り目を通しました。上で作ることができないかと、考えていたので、とても役立ちます。必要なことが一通り網羅されています。簡単なアプリケーションを作ってみようと思います。ようなテンプレート・エンジンを見てしまうと、わくわくするものを感じます。●Webサイトで紹介いただきました。目次詳細サンプルプログラムの配布は、こちら。(2003.09.26)誤:inputタグなので因ることになります。正:inputタグなどで困ることになります。(2004.01.02、2004.01.05修正)サンプルプログラムの修正です。常に表の先頭の利用者の情報となっていました。CGI補遺ページ数の関係で本書に収録できなかった資料を公開します。