#4450

ふきだしを運ぶ人形


執筆現在02時47分。翌日に休日出勤を控えてこれは非常にマズい状態なのですが、
ブログの方も休日を終わってなお下書きが丸一週間分溜まってしまっているマズい状態なので、
かなりヘロヘロな状態ではあるものの一応書いてから寝ることにします。

さて昨日見事に両足とも溝にハマって動けない事態に陥ったJavaScriptの不具合の問題。
ひとつがPHPでクッキーを設定する際に使うsetcookie関数が、
引数を設定しないデフォルトの状態で使うと設定時のディレクトリからしか読み込めないため、
別ディレクトリに置いたAjaxの読み込み用PHPから値を取り出せないという問題。
ふたつめは、そもそもAjaxの通信自体がドメインをまたいだ通信を遮断する仕様になっており、
サブドメイン以外のディレクトリに読み込み用PHPを置けないという問題。
そもそも、現在の特設サイトは
ルート以下が複雑に設定されたURL置換設定によって転送されるようになっているため
ルート以下にスクリプト本体以外のファイルを置いてURIを指定しても
スクリプト本体が読み出されてしまうという仕様になっていて、
それを改修するためにはかなり苦戦して構築した.htaccessの内容を書き換える必要があると。
昨日はここで結局挫折したのですが、一旦寝て起きてみたら意外なほどあっさり解決できました。

要するに上の問題は原因が重複していて、
サブディレクトリ以下のファイルをリクエストできるようにすれば一挙に解決するわけで、
その設定をなんとかすれば良いだけじゃないか、と。
しかし.htaccessはいくらいじっても思い通りの挙動にならないことが間々あり、
ぶっちゃけかなり敬遠していました。

Apacheのmod_rewriteモジュールについて明快なチュートリアルを書いてくれているサイトが
いまだに見つかっていないので自分も良く分かっていないのですが、
改めて調べてみると、どうやら置換ルールは「RewiteCond」でまず対象を決定し、
「RewiteRule」で正規表現を使った具体的な置換方法を指定するという形式のようです。
自分もこれは今までいろんなサイトからコピペしたものを使っていたのですが、
「RewriteRule」はひとつずつに対して対象指定を書くもののようで、
今まではRewiteCond行をまとめて書いてから、複数のルールを書いていました。
が、これが諸々の原因だったようで。
RewriteRuleの2つめを切り離して、そちらにも直前に同じRewriteCondをコピペしたら、
あっさりと思った通りの動きをするようになりました。
あとは “ %{REQUEST_FILENAME} !-f ” という記述で
「ファイルが存在する場合はこの置換ルールを適用しない」という意味になるので、
これさえ正常に動けば上に書いた不具合も、すべて同じディレクトリに集めれば一挙解決と。

さすがに今回の件はちょっとタイムロス感が否めなかったのは反省。
「プログラム修正は土曜日までに終わらせて日曜日は別のことをしたい!」
と思って生まれた焦りが逆にタイムロスを誘発させたような気もします。
とにかくあれですね、この手の不具合にぶつかったら一度断ち切って寝るのが一番良さそう。

この更新作業以外のコンシューマーゲームは『ピクミン2』も空振りの連続で
そろそろモチベ的にも限界が見え始めてきたかなーといった感じ。
なんか699,000点からずっと、
同じようなステージをぐるぐると周回しては挫折するという繰り返しになっているような。
とはいっても苦手ステージに突っ込む気力が無いのもまた事実なんですよね……。
ある意味そのモチベ底上げの役割をランキング大会が担っているわけですが、
今回は修正が主な作業になってしまってその役割も果たせず終わってしまいました。

他には久々に『スプラトゥーン』に手を出してもみましたがこれは惨敗で終わり。
あとは昨日からちょくちょくやっている任天堂初のスマホアプリ『』に
意外と時間を取られているような感じはしますかね。
Ask.meみたいなものだろうと、正直リリース当初はさほど期待はしていませんでした。
リアル知人はこんなアプリで遊ぶ間柄でもないし、
ニンテンドーネットワークのフレンドだけとなると大分限られた範囲になるし、
正直昨今のスマホゲームへの自分の冷め具合からして
ほとんど手を付けないで終わるかなとも思っていたのですが、
Twitter連携で割と気軽にフレンド申請できる環境ということもあって、
Twitterとはまた違うゆるいコミュニケーションツールという感じで思いの外楽しめています。
ゆるやかでどうでもいい質問ばかりかと思いきや、
『貧乏でモテモテか、ひとりぼっちで金持ちか選ぶならどっち?』
『あなたにとって人生の意味とは?』
『恋人に求める三つの条件は?』
みたいな、考え出すと無限ループに陥りそうな質問もあって結構油断ならないです。
今のところ、そういう質問に悶々としたり、
また同じ質問をTwitterの相互フォロワーさんがどう答えているのかを読んで楽しむアプリみたい。

と、ぐだぐだ書いているうちに03時半も間近という時間になってしまいましたが。
通常通りなら明日は07時40分には起きないといけないということは、
まあ早めに見積もって04時に寝付けたとしても約3時間半睡眠。
もう日中無事でいられる気がしないなぁ……。