チャーハンと大根とBBS
チャーハン。それは中華料理の基本にして真髄。チャーハンの味でその人の中華料理の腕前がわかるという。
大根。それはおでんの基本にして真髄。大根の味でその人のおでんの腕前がわかるという。
BBS。それはWebアプリケーションの基本にして真髄。BBSのできばえでその人のWebアプリケーションに対するがスキルがわかる。
CGIの参考書などに必ずと言っていいほど載っているBBSの作り方であるが、大抵の場合はそのままではとても使えないものであることはベテラン開発者ならばご存知のことと思う。そうとは知らなかった駆け出し諸君は今一度よく考えて欲しい。何故使えないかということはざっと挙げれば以下のようことがあるだろう(これは「こういう場合がある」ということであってすべてがそうだといっているのではない)。
- そもそも一般的に要求される業務要件からすると仕様が貧弱すぎる。
- これは誌面制限の関係でしょうがないけど。
- すべての投稿記事を1ページに表示する。
- つまり「次のページを表示」のような考慮が省かれている。
- データが終末追記型である。
- バリデーションが不十分。
- コマンドインジェクションやSQLインジェクション、XSSなどの各種脆弱性が内在するサンプルプログラムである場合が少なくない。
- パフォーマンスについての言及が不十分。
- 特に投稿記事をRDBMSではなくファイルに保存する場合。
- ロギングが不十分。
- ほとんどない場合が多く、いざというときの対応が難しい。
- 例外処理が不十分。
- 例えば、容量制限に引っかかったときの動作が未定義である等。
これは著者がヘボであるということではない。多くの場合は誌面の関係上しようがなくこうなっているのである。であるからこそ、それを単に鵜呑みにするのか、またはあくまで参考にとどめるかによってWebアプリケーションデベロッパとしての資質が違ってくるわけである。
中堅を自称し始めた諸氏は改めてBBSの作り方を考えてみて欲しい。そして、Webアプリケーションの何たるかを改めて考えてみて欲しい。