« 今回のコミケの戦利品 | メイン | 最近のつれづれ。 »

2007年09月07日

gdgd

極まれにリストの中身が空になっちまうという現象に遭遇した。

リストが空っぽになってエラーはいてるあたりを見てみるとリセットボタン(フォームについてる)押してるようだった。

action.class.phpをあけて処理を見てみると、

 リセット処理(セッションにあるリストをクリア) -> 一覧表示画面へリダイレクト -> IEから折り返し ー> 一覧表示(セッションにリスト再読み込み) -> 表示



( д )          ゚ ゚



フレームワーク使うなとはいわない。どうかまともに動いてほしい。ただそれだけが私の願いです。
いや結局何が問題かっていうとさ……多分、

 リセット処理(セッションにあるリストをクリア) -> 一覧表示画面へリダイレクト -> IEから折り返し ー> 一覧表示(セッションにリスト再読み込み) -> 表示

となっているところで「一覧表示へリダイレクト」。
これがうまくIEに飛ばなかったらその時点でリストデータが飛んだままアウツ。

そしてタチの悪いことに、IEは「ファイルー>新規作成」で窓を増やすとセッションを共有するから、
リストのトンだセッションで処理が継続できちまう。

不可能そうに見えた現象が机上で証明されてしまいました。
コードを見ているとこの動作で再現できそうなんだけど……
リダイレクトを途中でキャンセルとかどうやったらいいか分からないので再現までは至れていない。
ってかリセットのアクションの最後にあるリダイレクトを無効にしてやりゃいいのか。いいこと思いついた。

つうかこれ(何でもリダイレクト)がフレームワークの正しい運用なのか? 
リセット処理ってのが「ローカルのデータ全消しー>DBから再読込」なのはいいんだけど
途中でURLリダイレクトとかマジありえないだろ常考
ブラウザからのURLアクセスを関数呼び出しか何かと勘違いしてないか?
ページ遷移させる必要がないなら一度のリクエストで片づけるべきだと思うんだが。

あとセッション。セッションとかDBとかいうと聞こえはいいけど要するにグローバル変数だからアレ。
状態遷移させるときにグローバル変数にフラグとかデータ全部持たせて関数呼び出しとかやると超ラクだけどそんなことしたらはたかれるっしょ?
どうしてセッションって呼び方に変わるとそれをやるのかな。かな?

そしてAjax。JavaScriptにAjaxなんて大仰な名前付けて流行らせた奴はマジ反省してくれ。
リストクリックするたびに裏で何通信してんすかw
そしてそれが意味のあるものなら別にナニもアレなんだけど
Fatal Errorとか記録されてんのに何無視して続行できてるんすかww
そしてリスト更新したらDead。

そして何より勘弁して欲しいのが俺らがデバッグしてること。
つうかさー、それでも開発元からすいませんでしたって感じで報告上がってくるならまだ
仕方ないと思うよ。または一緒に調べてくれてるんなら溜飲も下がるよ。

プログラムのバグってはっきりしないから自分らの仕事じゃないって
本気で思ってたりはしないよね? よね??

(最近「ひぐらしのなく頃に」小説読んでます)


真面目な話、昔の自分を棚上げしてますすいませんしたって感じでもあるんだけど、
業務系アプリだと真面目に動くことが第一だから。
ヘンな最新技術とか要らないから。

それは使い勝手が良くなるなら導入したいですよ。
新しいことに挑戦しないと先は見えないし、
すべてが上手くいく(ためにリスクを背負う)のであれば踏み出すべき。


見た目も機能も全然Perl時代と変わらなくて(ちょっとスタイリッシュ)
そのくせ不安定で不確かで言い訳に利用されて
全くよけいなモノとしか云いようがない技術なんていらない子。


JavaScriptとセッション(とURLリダイレクト:これは最近判明した)をふんだんに使ったWebアプリが
まともに動くわけ無いだろう。マジで。

Ajaxがある局面において有用なのは認めるけどさ、じゃあそれがこのアプリに当てはまるか?
リストの表示も選択も、データの編集も既存レベルのJavaScriptで出来るよね?
一挙一動サーバーに送りつけている意味が分からないし、
途中でこけても見た目JavaScriptが動き続けて気づかないし。(そしてデータは壊れる)
かなりいらない子なんだけど。Ajax。

加えてデータはFormにHiddenやJavaScriptがもってりゃまだマシだったんだが
全部セッションに入ってるものだから激しく見えている状態が信用ならない。
先のトラブったときのデータだってIEの見た目リストはちゃんと表示されてたんだもの。
さわっていて動作がおかしくなって、でもリストは残ってたからせめて保存……と思ったらDead。

なんという絶望。

技術的に使ってみたい気持ちは分かる。
けどさ、その、だったらトラブったときにさ。もう少し真剣に調べてくれてもいいんじゃない?
俺直しちゃうよ? フレームワークで組まれてるからだいたい仕組み飲み込めたし。
後はそれぞれのページで使われてるクラスを追うだけだし。

関係ないけどフレームワークってさすがに便利っすね。
ざっくりとページ遷移ができるPHPスクリプトが出来てしまう。後は処理を埋めて見た目を作るだけ。
これは確かに使える。が、やたらめったらリダイレクトは勘弁な。

マジつかれた。あと4ヶ月。もう凍結して逃げ延びたい。がんばれ俺。
(鬱病患者にがんばれとかいうとノーフューチャーな方向にがんばります)

投稿者 kagerou : 2007年09月07日 23:38

Twitter

この記事をTwitterでつぶやく

トラックバック

このエントリーのトラックバックURL:
http://scriptlife.hacca.jp/cgi-bin/MT/mt-tb.cgi/526

コメント

4ヵ月なんざぁ、あっという間ですよ、きっと。
これまで苦労してきた時間を思えば、そんなのは一瞬ですとも。

投稿者 @ : 2007年09月20日 23:08

振り返れば一瞬さ……

投稿者 かげろ : 2007年09月22日 01:19

コメントしてください




保存しますか?