堕天使の煉獄
2015-01
16
23:11:16
なんだそりゃ
ちょっとだけ日記のcgiを弄ってみる。
少し前から気になっていたのだけども
こっそりついてる日記のカウンタが、
リロードすると+1でなくなぜか+2加算されてしまってたり。
昔はちゃんと正常に動いてた筈なのだけども。
うーん。
ちょっと前に共用部分として
カウンタ部分をモジュール化して外に出してるのですが
そこで二度呼びとかしてるのかな?
と、調べてみることに。
が、特に問題が見つからない。
単純に、ファイルを開いて
以前の値を取得して、+1して、保存するだけ。
それだけのプログラムなのに。
原因がさっぱりわからず、なんだこれ??
な状況に。
例で説明すると。
ファイルから読み込む(前回の値) = 「100」 として。
んで、インクリメントする → 「101」
「101」という値をファイルに書き込む。
んで……リロードする。
すると、
ファイルから読み込む = なぜか「102」 が入ってる!?
インクリメント後の、書き込み前と書き込み後の変数の値を観てみても
101が確かに入ってるし、その前後とかには別になにもなく
普通にインクリメント後、ファイルに書き出してるだけのコードです。
なのに、出力されたファイルを直接見てみても
「102」が入ってるんですよね。
なんで??
変数を別の変数に入れてみたり、ファイルのロックをかけないようにしてみたり
思いつくことはみんなやってみたのだけども。
まったく理解不能……。
なにげに+1のところを-1にしてみると
-2されるんですよね。
そうなると、やっぱモジュールの二度呼び?
が、そうだとするなら、変数の中身を確認のために表示してる部分も
二回呼ばれる筈なのに、表示は一回だけ……。
とりあえず問題を切り分けるために、
確認のため、このカウンタ部分だけを
別ファイルで普通の.cgiファイルにして単体で実行してみる。
……やっぱり+2される~。
なんでやー!?
……でいろいろやってるうちに、
どうやらコレっぽいという答えが見つかったっぽいのだけども。
……FireFoxの問題らしい。
というのも、試しにIEで試してみると、
リロードで普通に+1でインクリメントされるんですよね。
うーん。
リンク先読みだとか、ポップアップのブロックだとか、
その辺のアドオンがらみの問題か??
ということで、火狐をsafeモードで起動。
……やっぱり+2される。
うーん。
アドオンの所為でなく、火狐自体のバグ? か仕様っぽいなこれ。
しかし、挙動的には
二回リクエストが発行されるっぽい感じなのかな?
が、表示は1回目のリクエストの内容が表示され
2回目は裏で実行されてる感じなのでしょうか?
うーん、謎仕様……。
結局CGIに問題は無かったっぽいので無駄な時間を……w
んであとはちょいちょい
先月、来月へのリンク表示を追加したりとかしたぐらいで弄り終わり。
ちょっとこの日記のcgiは
ガッツりとオブジェクト指向&モジュール化しすぎて、
pealはIDEとかあるわけではないので
この機能はどのモジュールで処理してたっけ?
とか後からみるとワケわかめな感じにw
きっと、次に大きく弄ろうと思うようなときには
1から組み直した方が早い感じになりそうな……。
そんなかんじで、
久しぶりに変なバグに振り回された感じな気分からのネタ動画
スパルタ達によるプログラマ職業紹介
「僕新人ですよ!」
に噴いたw
デスマーチとかも、今は遠い昔の話になっちゃったなぁ。
おもわず遠い目になっちゃうぽ。
少し前から気になっていたのだけども
こっそりついてる日記のカウンタが、
リロードすると+1でなくなぜか+2加算されてしまってたり。
昔はちゃんと正常に動いてた筈なのだけども。
うーん。
ちょっと前に共用部分として
カウンタ部分をモジュール化して外に出してるのですが
そこで二度呼びとかしてるのかな?
と、調べてみることに。
が、特に問題が見つからない。
単純に、ファイルを開いて
以前の値を取得して、+1して、保存するだけ。
それだけのプログラムなのに。
原因がさっぱりわからず、なんだこれ??
な状況に。
例で説明すると。
ファイルから読み込む(前回の値) = 「100」 として。
んで、インクリメントする → 「101」
「101」という値をファイルに書き込む。
んで……リロードする。
すると、
ファイルから読み込む = なぜか「102」 が入ってる!?
インクリメント後の、書き込み前と書き込み後の変数の値を観てみても
101が確かに入ってるし、その前後とかには別になにもなく
普通にインクリメント後、ファイルに書き出してるだけのコードです。
なのに、出力されたファイルを直接見てみても
「102」が入ってるんですよね。
なんで??
変数を別の変数に入れてみたり、ファイルのロックをかけないようにしてみたり
思いつくことはみんなやってみたのだけども。
まったく理解不能……。
なにげに+1のところを-1にしてみると
-2されるんですよね。
そうなると、やっぱモジュールの二度呼び?
が、そうだとするなら、変数の中身を確認のために表示してる部分も
二回呼ばれる筈なのに、表示は一回だけ……。
とりあえず問題を切り分けるために、
確認のため、このカウンタ部分だけを
別ファイルで普通の.cgiファイルにして単体で実行してみる。
……やっぱり+2される~。
なんでやー!?
……でいろいろやってるうちに、
どうやらコレっぽいという答えが見つかったっぽいのだけども。
……FireFoxの問題らしい。
というのも、試しにIEで試してみると、
リロードで普通に+1でインクリメントされるんですよね。
うーん。
リンク先読みだとか、ポップアップのブロックだとか、
その辺のアドオンがらみの問題か??
ということで、火狐をsafeモードで起動。
……やっぱり+2される。
うーん。
アドオンの所為でなく、火狐自体のバグ? か仕様っぽいなこれ。
しかし、挙動的には
二回リクエストが発行されるっぽい感じなのかな?
が、表示は1回目のリクエストの内容が表示され
2回目は裏で実行されてる感じなのでしょうか?
うーん、謎仕様……。
結局CGIに問題は無かったっぽいので無駄な時間を……w
んであとはちょいちょい
先月、来月へのリンク表示を追加したりとかしたぐらいで弄り終わり。
ちょっとこの日記のcgiは
ガッツりとオブジェクト指向&モジュール化しすぎて、
pealはIDEとかあるわけではないので
この機能はどのモジュールで処理してたっけ?
とか後からみるとワケわかめな感じにw
きっと、次に大きく弄ろうと思うようなときには
1から組み直した方が早い感じになりそうな……。
そんなかんじで、
久しぶりに変なバグに振り回された感じな気分からのネタ動画
スパルタ達によるプログラマ職業紹介
「僕新人ですよ!」
に噴いたw
デスマーチとかも、今は遠い昔の話になっちゃったなぁ。
おもわず遠い目になっちゃうぽ。
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
■
■
あけおめ(棒)
[元日]
[元日]
02
03
04
05
06
■
■
げそぺっちゅ
07
08
09
10
■
■
そろそろ転回点かな
11
12
■
■
ぶっ壊さないと思うが
[成人の日]
[成人の日]
13
■
■
久しぶりに使ってみたけど
14
15
16
■
■
なんだそりゃ
17
18
19
■
■
ついでに更新
20
21
22
23
24
25
26
27
28
29
30
31
total:2076504 t:16 y:396
■記事タイトル■
■年度別リスト■
2024年
2024年12月(0)2024年11月(0)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年
2023年12月(3)2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年
2022年12月(4)2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年
2021年12月(8)2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年
2020年12月(3)2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年
2019年12月(1)2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年
2018年12月(1)2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年
2017年12月(2)2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年
2016年12月(7)2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年
2015年12月(7)2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年
2014年12月(12)2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年
2013年12月(15)2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)
■レス履歴■
■ファイル抽出■
■ワード検索■
堕天使の煉獄
https://rengoku.sakura.ne.jp
管理人
織田霧さくら(oda-x)
E-mail (■を@に)
oda-x■rengoku.sakura.ne.jp