親父に頼まれてとあるデータベースをMySQLとPHPを組み合わせて作っている。
参考図書はこれ。
この本の内容は中途半端といえば、中途半端なのだけど、
PHPもMySQLも扱ったことがない者にとってはこの本は良書である。
Web経由でデータベースを扱う一連の必要な手順を
一通り網羅してくれているので助かる。
- MySQLとPHPのインストール
- データベース(RDBMS)についての概論
- PHPの基本的な文法
- MySQLの操作法
- PHPやPerlを使ってMySQLを操作するプログラムの方法
それらをすべて書いてくれている。
PHPもMySQLも、これまでもいくらかかじったことはあったけれど、
今回のお勉強でまた一歩前進、という感じ。
ただ、PHPよりはPerlの方が100倍はプログラム速度が速いので、
PHPとMySQLの相性の良さをさっぴいても、
PerlでMySQLをいじった方がはやいのではないかと、思ったり。
あとはもっとまともにJavaScriptが使えるようになれば、
もうWebサービスを作る分には怖いもの無しだ。
ただ、そうやって言語のことを勉強しても、
結局はプログラミングのスキルよりも適切なモデリングができるかどうか、
ということであるということを改めて思う。
修士の時の授業でUMLでモデリングする授業があったけど、
ああいったモデリングをする訓練は、確かに大切だと思った。
(あの授業で訓練の効果があったかは疑問だけれども)
データベースを作るにしても、
どういうテーブルを作って、その中のフィールドをいくつ作って、
ひとつひとつのフィールドの型を決めないといけない。
それはプログラムのスキルと関係なくて、
どんな風にデータ構造を作るかということであり、
システムを作る上で一番の肝になる。
それは何にでも言えることで、構造を頭の中でイメージできていないと
構造を作るスキルがあってもシステムはつくれない。
一方で、構造を構成する部品にはどのようなものがあり得るか、
ということは具体的なスキルがないとわからないし、
構成する部品をそれなりに具体的にイメージできないと
全体像をイメージすることは苦しくなる。
* * *
そんなこんなで、PHPとMySQLで日が暮れたりするのだが、
こんなことよりももっと優先すべきことがあるんじゃないか
とも思ったりする。
やりたいことはいろいろあるけども、
pendingに次ぐpending、stuckingに次ぐstucking。
プログラムの速度と英語を読む速度があと10倍ぐらい速くなれば、
思いついたことをすぐ実現できるようになる、
気がする。