≒ CatDogその後
今日訓練でJSON関係ちょっとやったので、その演習の時間に試行錯誤。ものはこれ。
元のコードの分かってなかった部分を分解してみた。「一旦#dataに入れて、出して、加工して入れなおして、それから表示」なんてやってるから変な挙動をするんだと思って、受け取ったJSONを我ながら野暮ったいやりかたで分解して、出したり入れたり無し、一発で#dataに入れるように改造した。
- JSONはすぐに受け取れてる(はず)。
- とすればただの文字列なのだからおなじfunction内でやりとりするのに例の謎の「alert挿入」は必要ないはず。
- もしかすればChromeでも見れるようになるかも!
で、1funnction化した。駄目だった。謎alertを入れないとtoo much recursionになる。つまりいつまでたってもJSONから配列に文字列を取り込めない。何で?
さらに途中のプロセスを整理したためなのか、イメージデータ取得に時間のかかる「Other」カテゴリが変になった。なぜかFlickrのsensorにひっかかったのがそのまま表示される。といっても面白写真が見れます、ってことじゃなくて、例の「This photo is currently unavailable」って白いスクエア整形されてないやつが出てくる。みっともないことこの上なし。
前のバージョン(現行か)のCatDogViewerだと「スクエア整形はちゃんと出る」→「クリックして拡大してみると見れない(This photo is currently unavailable)」って順番だったんで、推測すると、
- 投稿があるとだだ漏れでフィード流す。ナンバー(=url)は自動付加。
- 大雑把な検閲(形状認識とか)で分かり易い不正をはねる。とりあえず白画面にする。
- 次の投稿で同ナンバーは上書きされる。
- 第一段階の検閲をクリアしたものでナンバー確定。スクエアやその他規定のサイズに整形。派生ナンバー(=url)を(に)付加。
- 再検閲。有名人の顔が入っているなど版権ありそうなものをはねる。この場合、ナンバーは上書きされず、なぜかスクエアサイズは残ってる。ほかのサイズは白画面。
じゃないかと思いました。そんなに単純じゃないかな?
で、1と2は光の速さで行われてて、このCat~だと画像取得が早すぎて、3に行く前の画像を持ってきているのではないかと。ということは、これ以上スムーズにしたらもっとおかしくなるのか!
うーん。Chromeどころかレベルが後退しちゃいました。以上。
10年10月21日(木)‡20時17分43秒 ‡ ただの自分向けメモ