今日も7時20分と起きたのは遅かった。昨日に引き続きちょっとしんどい。でもがんばって会社に行くと元気になった。
今日は一日中プログラミングをしていた。あっというまに時間が過ぎるのはなぜだろう。どうやってもうまくいかなくて、わからないところをNさんに聞きたかったが、もう帰ってしまっていたので、自分も定時で帰った。
しかし、家に帰ってからも会社と同じプログラミング環境の構築をやり始めてしまった。ああ、止まらん。PostgreSQLを入れてPerlのCatalystモジュールをCPANから持ってきて、あれやこれやして、でもうまく動かなくて悪戦苦闘して、ああ夜は更けていく。そろそろ寝なければ。
コメント
やめられなくなるのは、
プログラマーなら誰でも経験があります。
でも、区切りをつけて中断できるのがプロです。
perl は、確認したい内容をちょこちょこ小分けにして
確認できますから、できるだけ大作にならずに
小分けに実験をして、それを逐一適切な名前をつけて
取っておきましょう。後で絶対再利用することになります。
perl なら、module と呼べるほど大げさなものでなくても
小分けにしておけます。
今日は、あとこのちっちゃいのを一つ作ったら帰ろう、とか
そういう習慣をつけるのはどうでしょう。
「区切りをつけて中断」わかってはいるけど、
なかなか難しいです。昨日はたまたま区切りの
いいところで定時になって帰りましたが、
中途半端に時間が余っていると、「もうちょっと」
と欲が出て、そのままはまってしまいます。
私も本物のプロを目指します。
Catalystを使ったPerlのプログラミングは独特で、
小分けにするまでもなく、自分で実際書くコードは
実際かなり少ないです。今は画面遷移がうまく
いかなかったり、というCatalystのモジュールの
部分ではまっていたりするのです。
多分、まだまだ理解してない部分が多いため、何らかの
ミスをしているのだと思うのですが、どこがおかしいのか、
自分でいくら見直してもわからない状態だったりします。
あんまりやりたくないですが、
perl -d スクリプト で
デバッガーを起動できます。
適切に break 貼っておいて
c とか s とか ENTER で
進めます。
プロンプトが出ている最中に
自分で好きにその場で print文がかけるので
どういう状況かはすぐ判りますよ。
ラインデバッガーの経験があればすぐですが。
まあ、判りそうな人に聞ければそれが一番です ^_^;
いつもアドバイスありがとうございます。
なるほど、普通にperlのスクリプトを実行するときには、
ブレークポイントを設定できるのですね。
Catalystのプログラミングは独特で、perlスクリプトを
直接起動するわけではなく、Catalystが持っている
簡易Webサーバをコマンドラインから起動すると、
3000番ポートが口を開けて待っている状態になり、
http://localhost:3000
とやると、Catalystのコントローラオブジェクトを
継承して作ったオブジェクトのコード(perlを使うのは
ここだけなのです)が実行される、というように
実行されるようになっています。デバッグしたいときは、
変数の中身を見たいときに、
$c->log->debug($hogehoge);
などとやると、簡易サーバを起動したターミナルに
デバッグ情報が出るような仕組みになっていたりします。
($cはCatalystのコントローラオブジェクト)
この辺は独特の世界で、perlでは最初に定義したModel
オブジェクトのメソッドで、DBからデータを引っ張って
くるのですが、そのとき実際にどのようなSQLが発行されたかも、
同じようにデバッグ画面に出るようになています。
なんつーか、最初はいろいろ覚えないといけないですが、
覚えると、驚くほど速く作れます。
今は認証無線LANのユーザ管理システムを作っているのですが、
Validationとかその他のエラーハンドリングとかは
まだ手抜きでまだコーディングしてないものの、
今のところユーザ一覧を表示して、ユーザを追加したり
編集したり、ということろまでできてしまっています。