パスワードを忘れた? アカウント作成
450543 journal

NoGoodの日記: [かみしゅ!]1.3 RC2 にしようか悩み中… 2

日記 by NoGood

β→ RC へ変更の理由となった状態不定の原因が判明。
と、同時に、β→ RC よりもスマートな解決策も思いつく。
こちらなら変更量は極小なので、1.2 系へのバックポートも容易だ。
[戻]リンクは廃止して、βの状態までロールバックし、RC2 を実装しようか悩む。

しかし今日はもう一杯呑ってしまったので論理的思考やコーディングは無理というか自主規制。
最低限の備忘録として。


$_GET や $_COOKIE は最初に全部読むのではなく、$mode 毎に固有のパラメータの場合には switch 内の case 内部で読んだり読まなかったりすればよい。

あ、あとこっそり設定ページにモバイル版スラッシュドット ジャパンへのリンクを追加しました。
──────────
2006/08/14 09:50

やっぱり素面で考え直すと違う。
そんなわけで 1.3 RC2 は次回へ持ち越し。

昨日の酔った頭では、$_GET やら(書き忘れたけど)$_POST やら $_COOKIE やらの入力値を処理の最初にまとめて変数に格納しており、その点が問題だと考えていました。
その最初の処理で変数の内容の加工(日記の読み込み位置を一つ進めるとか)も行っていたため、リストアップするページや設定ページを表示する処理の際にも日記の読み込み位置をずらしたりしてるわけです。
しかし、そのずらした日記の読み込み位置を Cookie に書き戻す(つまりページ遷移後に影響するよう記録する)処理は、リストアップするページや設定ページを表示するフローには存在せず、「日記を順番に読む」という一番最初から実装している部分でのみ Cookie を保存するコードが存在する(もちろん最近実装した特定ユーザの日記表示フローにも存在しない)ので、やはり昨日思いついたのは解決策でも何でも無い、と。

「状態不定」と称している現象をおおまかに説明すると、「A」という URL から「B」という URL に遷移した後、ブラウザの「戻る」ボタンを押した時、期待する動作としては「A」という URL に戻ってくれるところを、全然違う「C」という URL に遷移してしまう、という状態不定なので、考え得る可能性としては、やはりキャッシュを無効化したことによって URL 履歴も残ったり残らなかったり(このへん現在条件が不明)という問題なんじゃないかと。
少なくとも、“β→ RC よりもスマートな解決策も思いつく。”と書いた策では何の解決にもならないことには気が付いたので、やはり現状維持。

…という調査のついでに、<hr> 挿入ルールを統一。
今までは分岐した先の処理によって「<hr>+内容」だったり「内容+<hr>」だったりしていたのを、「<hr>+内容」に揃えました。
動作上は変わりないけれど、可読性とコードの美しさの向上ですね。

──────────
「かみしゅ!」関連まとめ(サイドバー)

↓前次↑

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...