毎日更新!アウトワード精鋭スタッフのブログです。

TOP > スタッフブログ >【各務 洋】のブログ記事一覧
スタッフブログ
posted by :

どうも。ひと夏の経験値を求めて彷徨う、永遠の少年系の各務です。

 

 

本日は、chromeでローカルネットワーク上のcookieが保存できず、ログインしてテストが出来ない!を解決しました。

 

 

それっぽいドメインでないと保存しないのであれば、hostsを書き換えてしまえば、ブラウザからはドメインとして扱うわけで……。

 

Vistaなら、

%windir%\System32\drivers\etc\hosts

 

XPなら(多分)

%windir%\System\drivers\etc\hosts

 

に、

192.168.0.14 hoge.ore

とか、

127.0.0.1 fuga.ore

と設定して、ブラウザを再起動して、「hoge.ore」にアクセスすればOK。

 

 

Vista以降だと、管理者権限を持ったエディターでないと編集できないので、右クリックの管理者として実行で起動してください。

その際、ドラック&ドロップが使えなくなったりする場合もあります。

 

 

さて、これでローカル環境で確認ができますね。



posted by :

夏バテよりも先にバテている、流行の先端を走る各務です。


しかも、会社で一番席が離れている人と赤い何かで繋がっているみたいです!


これも不思議!


そんな不思議な現象が、以前の開発でもありました。


ユーザー認証が必要なページで、ログイン後、不意に認証が取れなくなりセッションが切れる。


しかも、起きたり起きなかったり。


Firefoxでは発生せず、IE、しかもIE8以降で頻発する。


でも認証に使っているセッションキーの cookie は問題ない。


サーバー側のセッション上もちゃんと有効。


cookie も PHP の標準関数で処理を行っている。


でありながら、同じ事例が検索しても出てこない。


この現象を検証したところ、


1. cookie の path 指定がおかしい。


2. 同じく、expires の指定がおかしい。


3. cookie 側では無く、サーバー側のexpire 処理がおかしい!


4. IE の cookie の実装がおかしい!!


5. そもそも cookie のRFCがおか(


と、お約束のだんだん大暴走が始まりました。


そこで珍しく、私が検証用の set cookie 処理を Perl で書いたところ。


まったく問題無し。ぴくりとも再現の兆しがないのです。





あらためてPHPにてブラウザ上の挙動を見てみると、……


同一ページ上の処理で、「時々」 set cookie が 複数回動いている。


IEは新しい(有効な) cookie を保存はしている。


但し、IEがサーバーに返す cookie が 新しい側とは限らない。


サーバー上では新しい cookie を発行した際に、古い cookie のセッションは破棄している。


認証が解除される。


その時点で確認できる cookie は新しいもの。


というオチ。


しかも、set cookie が多重に走る処理は、別の処理上の分岐ミスで、まったくコードを追っていないところでした。




お約束ではありますが、


「疑わしいのは自分のコード!他所様を疑うのは100万年早い!!」


ですね。


ちなみに、cookie 処理を見直した際に、1. と 2. の処理が厳密にできたことだけがなぐさめです。


そんな事が以前にあったのですが、とうとう携帯(フューチャーフォン、いわゆるガラケー)側での cookie 処理もちゃんと考えないといけないようです。


いやー、早いですね。




※(赤い何か:扁桃腺炎。そしてダミ声。)
 



posted by :

気が付けば明日は7月。


つまり今年の半分は終了している事実を政府は隠していると妄想する疲労系男子の各務です。


そんなわが社にも明るいニュースが。7月からは新入社員が増えるのです。


床面積は広い会社ですが、人がいられる空間が実は狭い!!ので、結構苦労して準備をします。


まずは席替え。机と椅子と人で「テトリス」を組みます。


次に、仕事道具のPCやモニターのセッティング。


そのためにもコンセントとLANポートを確保します。


関東は電力不足がニュースに上がっていますが、社内はコンセントとLANポートが足りません!!


今回はたまたま楽に確保できました。ケーブルの長さがちょっとだけ足りないのは、知恵と勇気と注意でOKです。


準備完了!!


新しいPCのフィルムはがしは明日の楽しみにとっておきましょう。
 



posted by :

見積書を書きながらcrontabを編集して、決済もスケジュールできないかなぁ?と思考が飛んでいる各務です。


思考が飛びついでですが、SQLでCREATE TABLE文を書いてINSERTするまでもなく、てっとり早く仮想のテーブルを作って、データーの突合せを行いたいなんてことはありませんか?


例えば都道府県名が入っているフィールドを使って、作成していない都道府県マスターテーブルを擬似的に参照させたい。等です。

(この例も飛んでいますね。)


セッション内で有効な一時テーブルを作成しても良いのですが、今このクエリーが走る瞬間だけあればいいんだよなーという時に、SQL上でテーブルらしきものを作る方法があります。


VALUES です。


INSERT INTO 文で見ることはありますが、実はこの VALUES は単体で成り立つ命令文なのです。


VALUES (1, 'hoge1', 'fuga1', TRUE);


で実行すると、4列、1行の実行結果が返ってきます。


VALUES (1, 'hoge1', 'fuga1', TRUE)
, (2, 'hoge2', 'fuga2', FALSE)
;


で実行すると、4列、「2行」の実行結果が返ってきます。


これを、SELECT 文の FROM 句で記述することにより、このSQL上に一瞬だけ存在するテーブルが作れます。


SELECT * FROM (
  VALUES (1::int4, 'hoge1'::varchar(10), 'fuga1'::varchar(10), TRUE::bool)
  , (2, 'hoge2', 'fuga2', FALSE)
) AS v_tabel (id, txt_01, txt_02, b_flag)
;


フィールドの型とテーブル名、フィールド名を明示的にしました。
これで、SQL上のテーブル名として、v_tabe。フィールド名でidなどの名前が有効になります。


あとは、UPDATE 文の FROM 句で、このテーブル名を指定すれば、SET の値としても使える形になります。


便利でしょう?



posted by :

表題の漫画で、父親目線か母親目線かの対立で、社内に緊縛した空気を醸し出した各務です。

 

来月には映画の公開が始まるそうなので、見にいこうか?と誘ったところ、「絶対泣くから、考えさせて」と言われました……。

 

女心はわからないです……。

 

110506.jpg

 

試写会は、6/2(木) 18:30からですので、これは行けないかな。

 

あと、原作も、続・星守る犬が出ています。



1  2   »


     
▲PAGETOP
Copyright (C) OUTWARD Co.,LTD. All Rights Reserved.