こんにちは。
Zend_Db_Tableを使って取得したデータに更新をかけようとしたら
exception 'Zend_Db_Table_Row_Exception' with message 'This row has been marked
read-only' in
とでた。「読取専用」でっせ、ということらしい。いや、でも似たような処理しているところで大丈夫なところもあったのに・・・と思って違いを調べてみた。
携帯はとにかく文字入力がめんどくさい。
だから、ログインも自動で行いたい。よくある「かんたんログイン」とか「自動ログイン」とかだね。
結論からいうと、セッションに入れたZend_Dateオブジェクトを引数にZend_Date()のコンストラクタを呼ぶとSegmentation faultが起きるっぽい。そんなことをする必要があるかどうかは別にして。
ある日、画面をポチポチっと遷移してたら画面が真っ白になった。
アプリログもapacheログもでてなくて、困ったなーと思ったらバーチャルホストで指定しているログじゃなくて、おおもとの/usr/local/apache/logs/error.logに
[notice] child pid 6191 exit signal Segmentation fault (11)
っていうのがたくさんでてた。
What's newとかニュースとかそういうのに掲示日付から〇日以内のものにNewマークとかをつけるやつ。
ブログのタイトルが「Javaとrubyと男と女」なのにPHPのエントリが一番多くなっちゃった。
とにかく一意な値が欲しいときないですか?そういうのにシーケンスとか使っている人もいるかもしれない。でもシーケンスって意外にかぶるんだよね。いくつまでいってるかわかんなくなったりして。
会員登録とかに代表される入力項目がたくさんある入力フォームを見ると、パソコンの、ワードの、キーボードのプロであるところの僕ですらうんざりする。一言でいうと苦行。
たくさん入力したすえに登録ボタンを押したら「〇〇が間違ってます」とか言われると悲しくなる。もっと早く言えよ、と思う。
ということで、できるだけ入力フォームの苦行を和らげる工夫を調べたり、考えたりしたのでメモ。
更新頻度が低く、かつ、参照頻度の高いマスタデータとかは、毎回DBからとってくるのはパフォーマンス的にもったいないコストになりがち。
とはいえ、定数クラスっぽいところに書いておくのも、データの一元管理という意味でもよくはないだろうし、なんかデータをロジックに混ぜちゃっているみたいで気持ち悪かったりする。
さて、PCサイトが完成、もしくはある程度できた時点で、これまで作ったモジュールをうまく利用しながら携帯サイトをチャチャっと作ろう、という段取りはそんなにめずらしくないと思う。
その場合に行った以下2つの作業のメモ。
1.モジュールの構成を変更する。
2.携帯サイトの文字コードをShift_jisにする。