NoGoodの日記: [かみしゅ!]β3リリース 2
日記 by
NoGood
アイディアソースは帰りの電車内で書いたこのエントリ。
ユーザリストの基礎設計を大幅に変更しました。
ただ、動作上の変更点は以下の通りです。
- GET メソッドを用いるように変更したため URI が異なるようになった(後方互換性は保っています)
- 上の理由により履歴が残るようになったので、ブラウザの戻るボタンで既読分の日記表示に戻れるようになった
- 現在表示している日記を再表示するリロード用の“再”というリンクを追加した(これで文字化け問題への対応はやれるだけやった気がします)
- コメント表示時にリンクが追加され、直接次の日記エントリを表示できるようになった
なお、設計上の変更点は以下の通りです。
- ユーザリストの更新を Top30 取得時のみに変更
つまり Cookie 情報としてのユーザリストには常に Top30 取得時の更新ユーザのみ
なお、前回取得からの更新分だけなので 30 人分とは限らない - ユーザリストのどの位置のユーザを日記取得の対象とするかを示す位置情報を GET メソッドによりクライアントから取得する
- 閲覧を一時中断した場合や、コメント表示からの戻り時に用いるため、上の位置情報は Cookie 情報として保持する
- GET メソッドおよび Cookie 情報の内容としての位置情報が取り得る値の範囲は、ユーザリスト配列の添字そのもの、つまり 0~29 となる
ただし、コード中の位置情報変数では、一時的な状態として Top30 再取得実行フラグを意味する -1 という値をとり得る
この設計変更により、ユーザリストの取り扱いが大幅に変化したので、今まで散発的に発生していた未解決の不具合、
- ユーザリストのうち、21番目~19番目近辺で先に進めなくなる
への対応策となると期待されます。
観測された現象として、ユーザリストへの操作が反映されていないことが不具合の直接原因となっていたので、ユーザリストへの操作を極力無くした今回の設計では、上の不具合が再発した場合には
- Top30 再取得時、ユーザリストの更新に失敗する
という現象に変化すると予測しております。
上に書いたように文字化け問題への対処も盛り込みましたし、動作上新たな不具合が発覚しない限りこのまま RC にしようと思っています。
# 先に進まない問題(多分今回の修正で解決)と文字化け問題(回避策を用意)の本質的解決は宿題ということで。
──────────
2005/12/01 23:59:
コメントに書いたように、以下の二点を修正したことで、他のサイトや PHP5 での運用が可能になった。
なお、自宅サーバ上の PHP 5.1.1 で動作確認した(今頃かよ!)
- 自分自身へのリンクが http://chibi.chobi.net/~nogood/kamish/ なんて絶対リンクでベタに書いてあったものを相対リンクに変更
- 日付フォーマット(省略しない西暦)として %G を用いていたが、これは PHP5 系では使えないので %Y へ変更
──────────
「かみしゅ!」関連まとめ(サイドバー)
ドキュメントもソースも流し読みで質問してみる (スコア:1)
PHPのバージョンは5でOKですか?
せっかくなので自宅サーバにPHPをビルドするところから始めてみようかなと。
Re:ドキュメントもソースも流し読みで質問してみる (スコア:1)
# http://chibi.chobi.net/~nogood/kamish/ なんてベタに書いてあって、PHP のバージョン以前に他所では絶対に動かないコードになってました(苦笑
# あと、日付フォーマットが 5 系では使えないマイナーなものを使用していたり。今メインで動かしている http://chobi.net/ [chobi.net] は PHP4 なので、これを機会に自宅サーバの PHP を 5.1.1 に上げて確認しました。
とりあえず短時間ですが一応一通りの機能が動作しているようです。
# 一通りの機能を試せるまでこのコメントを保留してました(^^;
最新版で無いと上に書いたようなおそまつな不備のせいで色々と不具合が出ますのでご注意下さい。
RCS のバージョンで言うと index.php が 1.23、comments.php が 1.7 です。
具体的には index.php の 130 行目がとなっているものが現時点での最新です。
まぁダウンロード [chobi.net]しなおしてもらうのが一番確実ですね。
mobile ID portable_NoGood [slashdot.jp] 併用中