ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

開山忌法要に行ってきた

五百五十回忌ということは、1463年に亡くなられたということで合ってるかな。

最初に、古塔婆を焼却して供養するが、本堂で待っている人がほとんどで、外で供養の様子を見ている人は10人以下。見なくていいんだろうか?

古塔婆の焼却が進むと、まだ供養していない古塔婆を使って、焼却場所から外に倒れないように、位置や向きを調整しているのもどうかと思った。なんか別に挟む物とか用意できないんだろうか?

法話は、予想通りあっちこっち脱線して、時間オーバーだったけど、東日本大震災にも絡んだ話をされて、眠くならなかった。

あたふたしながら記録をするのは難しい

昨日、今日とトラブルと突発の打ち合わせで、仕事の記録が正しくできていない。

平常なら記録できるのは当然なので、あたふたしているときでも記録ができるようにするには、どうすればいいのか?

打ち合わせやトラブルの対応等急いでいても、始める前、対応中、対応完了でいつも通りの方法で記録するか?

それともメモ書きをして後から記録として転記していくか?

転記の手間がかかることと、急いでいるときこそ、慌てないように一呼吸置くために、いつも通りの方法で記録するように努力してみよう。

PHP:メモリの解放は重要

お客さんから連絡があって、システムを確認するとブラウザの表示が真っ白。

何が起きたかと思い調べていたら、MDB2で1GB以上のメモリを確保しようとして、エラーが出力されてるようになった。

原因調査

1画面で10項目以上の件数データを表示しているが、1個ずつ異なるSQLを実行して上で集計しているので、どこかの集計でエラーが発生している。

1項目ずつ件数データを修正するようにしながら調べたら、項目Cを処理するようにしたらエラーが発生するようになった。

項目Cと項目Eは、同じクラスを使ってオブジェクトを生成し、プロパティ違いで集計しているので、クラス自体がおかしいとはあまり考えられない。

対策

項目Cと項目Eの オブジェクト 名が別だったので、同じ名前にしてみたら、エラーが発生しなくなった。

このことから、 オブジェクト が不要なのに残っていたためと判断して、オブジェクトが不要になったら、unset()でオブジェクトを破棄してメモリを解放するようにしたら、エラーが発生しなくなった。

教訓

オブジェクトを生成して不要になったら、破棄するのを忘れてはいけない。

PHPでは、newしたら、deleteではなくunset()する。