正しいWebアプリケーションを作るのは難しい
Webプログラマになってカレコレ5年目で、今さらなんだけど、Webアプリケーションって作るのムズイよなぁ。
まず、DBスキーマの設計というのがあってだな。ここが相当難しくて、ここでミスってしまうと後々大変なことになる。適切な名前を付けて、正規化したテーブル作る辺りとかかなりセンス要りますよね。慣れないと無理というか…。まぁ、なんとなーくやれてしまうんだけどね。
あと、indexを適切に張らないとダメとか。その辺のDBの知識も要求されたりして。MySQLのunique keyではNULLは対象になりませんね、とか。
それが終われば、まぁ、なんかWebフレームワーク使ってアプリケーションを作ることになりますね。Railsが簡単だから、これを使おうかと、こうなりますが。Railsって簡単じゃないからなぁ。まず、覚えること多すぎ。こう書くとキレイに書けるとか、そういうのがいっぱいあってですね…。で、それがバージョンアップする度に増えていくという。もう僕は覚え切れないよ…。
あとRESTとか謎の技術を要求してきやがるので、URLの設計もキレイにしないとね。「なんでもRESTで表せるよ」とか、いやそうなのかもしれんけど、そこまで頭使いたくないからなぁ。一言いっておくと「お前は確認画面という日本文化を忘れてる!」。
モデルとかコントローラをざくざく書いていったら、あとは画面ですよ。JavaScriptを書かんといかん。JavaScriptって知ってた? var hoge みたいにしないとローカル変数にならないんだよ? みたいなのも、勉強しておかないとね。あとは何。prototype.jsがいいんですかね? jQueryってのもあるのか。あぁ、そう…。
ようやく出来上がったと思ったら、むむ、遅い…。あぁ、earger loadingを使えばいいのか。うーん、やっぱり最初からSQLを意識しながら実装しないといけないんだなぁ。むぅ。
おし、できた。結構速いしいいんじゃないかな。あれ、これSQLインジェクションになってるぞ。セキュリティホールじゃん。直さないと…。げげ、XSSだ。ただしくサニタイズしないとね。え、サニタイズって言っちゃいけないのか。そうなんだ。正しい知識大事だよね…。
と、ここに書ききれないくらい、幅広く、深く、正しい知識を要求されるWebアプリケーションなので、ほんとむずいっていうか。よくみんなこんなのこなせるなと思うと同時に、実はこなせていないんだろう、と思うのであった。もっとWebアプリケーションは簡単に作れるべきだとも思うが、そうなってしまうとお金がもらえなくなるのかもしれないなぁ…。