TOPに戻る
鬱るんです
躁鬱病のITエンジニア「はまー」が心と体の模様を記した雑記帳。 大手IT企業で心身ともにぼろぼろになり退職した後、ほそぼそと働いたり事業を立ち上げようとして頓挫したり、作業所に通ったり障害者雇用で働いたりと紆余曲折したが、今は無職な毎日。

今日も7時20分と起きたのは遅かった。昨日に引き続きちょっとしんどい。でもがんばって会社に行くと元気になった。

今日は一日中プログラミングをしていた。あっというまに時間が過ぎるのはなぜだろう。どうやってもうまくいかなくて、わからないところをNさんに聞きたかったが、もう帰ってしまっていたので、自分も定時で帰った。

しかし、家に帰ってからも会社と同じプログラミング環境の構築をやり始めてしまった。ああ、止まらん。PostgreSQLを入れてPerlのCatalystモジュールをCPANから持ってきて、あれやこれやして、でもうまく動かなくて悪戦苦闘して、ああ夜は更けていく。そろそろ寝なければ。


コメント

  • さいとうゆたか 2007年10月17日 01:55

    やめられなくなるのは、
    プログラマーなら誰でも経験があります。
    でも、区切りをつけて中断できるのがプロです。
    perl は、確認したい内容をちょこちょこ小分けにして
    確認できますから、できるだけ大作にならずに
    小分けに実験をして、それを逐一適切な名前をつけて
    取っておきましょう。後で絶対再利用することになります。
    perl なら、module と呼べるほど大げさなものでなくても
    小分けにしておけます。
    今日は、あとこのちっちゃいのを一つ作ったら帰ろう、とか
    そういう習慣をつけるのはどうでしょう。

  • はまー 2007年10月17日 07:36

    「区切りをつけて中断」わかってはいるけど、
    なかなか難しいです。昨日はたまたま区切りの
    いいところで定時になって帰りましたが、
    中途半端に時間が余っていると、「もうちょっと」
    と欲が出て、そのままはまってしまいます。
    私も本物のプロを目指します。
    Catalystを使ったPerlのプログラミングは独特で、
    小分けにするまでもなく、自分で実際書くコードは
    実際かなり少ないです。今は画面遷移がうまく
    いかなかったり、というCatalystのモジュールの
    部分ではまっていたりするのです。
    多分、まだまだ理解してない部分が多いため、何らかの
    ミスをしているのだと思うのですが、どこがおかしいのか、
    自分でいくら見直してもわからない状態だったりします。

  • さいとうゆたか 2007年10月17日 23:11

    あんまりやりたくないですが、
    perl -d スクリプト で
    デバッガーを起動できます。
    適切に break 貼っておいて
    c とか s とか ENTER で
    進めます。
    プロンプトが出ている最中に
    自分で好きにその場で print文がかけるので
    どういう状況かはすぐ判りますよ。
    ラインデバッガーの経験があればすぐですが。
    まあ、判りそうな人に聞ければそれが一番です ^_^;

  • はまー 2007年10月18日 07:48

    いつもアドバイスありがとうございます。
    なるほど、普通にperlのスクリプトを実行するときには、
    ブレークポイントを設定できるのですね。
    Catalystのプログラミングは独特で、perlスクリプトを
    直接起動するわけではなく、Catalystが持っている
    簡易Webサーバをコマンドラインから起動すると、
    3000番ポートが口を開けて待っている状態になり、
    http://localhost:3000
    とやると、Catalystのコントローラオブジェクトを
    継承して作ったオブジェクトのコード(perlを使うのは
    ここだけなのです)が実行される、というように
    実行されるようになっています。デバッグしたいときは、
    変数の中身を見たいときに、
    $c->log->debug($hogehoge);
    などとやると、簡易サーバを起動したターミナルに
    デバッグ情報が出るような仕組みになっていたりします。
    ($cはCatalystのコントローラオブジェクト)
    この辺は独特の世界で、perlでは最初に定義したModel
    オブジェクトのメソッドで、DBからデータを引っ張って
    くるのですが、そのとき実際にどのようなSQLが発行されたかも、
    同じようにデバッグ画面に出るようになています。
    なんつーか、最初はいろいろ覚えないといけないですが、
    覚えると、驚くほど速く作れます。
    今は認証無線LANのユーザ管理システムを作っているのですが、
    Validationとかその他のエラーハンドリングとかは
    まだ手抜きでまだコーディングしてないものの、
    今のところユーザ一覧を表示して、ユーザを追加したり
    編集したり、ということろまでできてしまっています。

コメントする

メールアドレスは公開されません

*は必須項目です