「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」発売中です

ブログを開設したのでまずは自著の宣伝から。

Amazonで見ていただくとわかるように、私は6冊ほどプログラミング関連の書籍を書いていますが、

Amazon.co.jp: 前橋 和弥:作品一覧、著者略歴

現状での最新の本は(とはいえ1年以上前ですが……)、「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」です。

この本は、Webアプリケーション開発者向けの入門書です。

Webアプリケーション開発について、基礎の基礎から説明します。その手段として、本書では、Webサーバを作ります

Webサーバを作るといっても、PCを買ってきてLinuxApacheをインストールして、という意味ではありません。ApacheのようなWebサーバのプログラムを自作するということです。

基礎の基礎とは言ってもそれはいくらなんでも基礎に戻りすぎではないのか、そもそもWebサーバなんてそんな簡単に作れるものなのか、とツッコミを入れたくなる人がいるかもしれません。しかし、簡単なものであれば、Webサーバを作ることはさほど難しくはありません。本書で作成するWebサーバの初期バージョンは、Javaで140行程度のプログラムです。

また、Webサーバを作るというと、「OSを作る」とか「プログラミング言語を作る」といったような、ちょっとマニアックな行為に思えるかもしれません。しかし、本書で扱う程度のWebサーバを作る知識は、マニアックでもなんでもなく、普通のWebアプリケーション開発者が、当然の常識として知っていなければならないことです。

本書は、TCPソケットによる通信のサンプルプログラムから始まって、次に静的なHTMLを表示できるWebサーバを作り、最終的にはTomcatのへなちょこ版であるサーブレットコンテナ「Henacat」を作るという構成になっています。Henacatには、Cookie、セッション、ファイルアップロードといった機能も搭載します。

こういった機能は、なにも自分で作らなくても、いまどき何らかのフレームワーク等が面倒を見てくれるものです。そうやって生産性を上げるのはおおいに結構なのですが、フレームワークの使い方だけ知っていても、いざ何らかのトラブルが起きた時、手の打ちようがない、というのでは困ります。結局、Webアプリケーションを作ろうと思ったら、Webの基礎であるHTTPを知っている必要があるのです。

こう言っては何ですが、今時、日々Webアプリケーションを書いているプログラマでも、このあたりの基礎的な知識が欠けていて、コピペプログラミングを一歩越えようとすると行き詰まったり、バグが出ても原因究明ができなかったり、セキュリティーホールの説明とかが理解できなかったりする、という人は結構いるように思います。

このような趣旨の本ですので、本書の内容はかなり「古臭い」ものになっています。本書の内容の大半は、15年以上前の本に書いてあってもおかしくありません。というより、15年くらい前にこんな本があったら、私自身がもっと実感を持ってWebアプリケーションを理解できたのに、という思いが本書の出発点です。

プログラミング言語は普通にわかるけれど、Webアプリケーションを勉強しようとしたら、HTTPリクエストヘッダだのレスポンスヘッダだのContent-Typeだのよくわからない言葉がでてきて困っている、という(当時の私のような)人に、この本をおすすめします。

なお、本書は、以前より私のWebサイトで公開していた「本当の基礎からのWebアプリケーション入門――Webサーバを作ってみよう」の書籍版となります。

相当の修正、加筆がありますので、Webでタダで読めるなら本なんて買わなくていいやとか言わず、ぜひともお買い上げくださいませ。