miau's blog?

| 1 |

2006年 9月 05日 (火曜日)

ブラウザの戻るボタンで・・・

- General on miau's blog?
結構前のことですが。
ある Web フォームで submit を行った後、ブラウザの「戻る」ボタンで入力画面に戻るとフォームの内容が消えてしまう、という指摘を受けたことがありまして。
手元で確認してみると、確かにその通りの現象が。

んー・・・?普通「戻る」ボタンを押した場合、入力値とかはブラウザにキャッシュされるわけで。そういう現象は起こり得ないような。
no-cache とかそのへんの問題かなー?
と色々調べてみたんですが、解決の糸口が見つからず。

仕方ないのでぼーっと画面をいじってると、「戻る」を二回押すとフォームの値が復活するっぽいことが判明。
で、ふとフォームの入力に bookmarklet 使ってることを思い出しまして。
ためしに bookmarklet を使わずに入力してみると、「戻る」一回でちゃんと値が入力されてました。

よくわからないけど、bookmarklet の URL もちゃんと history に残ってるみたい。で、bookmarklet の URL ではフォームの値は保持されない、と。
知ってたらどうってことなかったんだけど、知らなかったのでやたら時間かかりました。

ちなみに Firefox ではそういう現象は起きないっぽい。
今家で動作確認すると、IE なんだけど bookmarklet の URL でもフォームの値が消えたりはしないみたい。IE7 のせいかなんなのか。
23:02:16 - miau - No comments - No Trackbacks - Permalink

2006年 9月 07日 (木曜日)

Google Code Jam 2006

- General on miau's blog?
Google Code Jam 2006

また Qualification Round で撃沈しました。
とりあえず軽くレポートでも。
[Read More!]
08:34:14 - miau - No comments - No Trackbacks - Permalink

KanjiTranslator 1.4

- General on miau's blog?
改行コード変換ツールとか - miau's blog?

以前このアイテムを書いたときに、KanjiTranslater 1.3 というのを紹介しました。インターフェイスは気に入ってるんだけど、何やらエラーが出て使えなかったわけですが。

その後も文字コード変換で困ったりしてて、職場の人に「いいツールありますよ」と紹介されたのがこれだったり。どうやらバージョンアップしてて、このエラーが解消されているようで。
# いつの間にか ter が tor になってるし。

文字コード変換ツール「KanjiTranslator」

そんな感じでお薦めです。
あとは文字コード指定で「変換しない」とか選べたらなお嬉しいんだけど。
13:17:57 - miau - No comments - No Trackbacks - Permalink

2006年 9月 08日 (金曜日)

DB_DataObject の escape()

- General on miau's blog?
思い切り誤解してた。

マニュアルに、

Similar to Pear DB's quote it will escape a value, without the quotes,
so it can be used with a LIKE query.

って書いてるんだけど、LIKE で使う「%」や「_」はエスケープしてくれない。
自前でエスケープするしかないっぽい。


(追記)
さらに誤解してた。
PostgreSQL では LIKE のエスケープ文字がデフォルトで「\」になってるので、わざわざ ESCAPE '〜' とか書かなくていい。つまり、「%」を検索するには hoge LIKE '%\%%' と書けばいい、と。ここまではマニュアルでちゃんと読んでた。

でも、「\」自身を検索するには、hoge LIKE '%\\\\%' と「\」を 4 つ繰り返す必要があるらしい。ここ、ちゃんとマニュアルに書いてたんけど、見落としてた。(テストのときに初めて気づいた)
よく考えると、シングルクォート文字列の解析フェーズと LIKE パターンの解析フェーズが別なので、二回エスケープが必要に決まってる。

そんなわけで、

$hoge = mb_ereg_replace('\\\\', '\\\\', $hoge);
$hoge = mb_ereg_replace('%', '\\%', $hoge);
$hoge = mb_ereg_replace('_', '\\_', $hoge);

$tbl->whereAdd("hoge LIKE " . $tbl->escape($hoge) . ");

みたいな処理になる、と。
'\\\\' を '\\\\' に置換してるように見えるけど、ここも第1引数がパターンを表すのに対して、第2引数が普通の文字列を表すからこうする、と。ここもハマった。
12:12:00 - miau - 2 comments - No Trackbacks - Permalink

2006年 9月 13日 (水曜日)

PHP の Cookie まわり

- General on miau's blog?
ちょっと前に出た問題。

先日 Web サイトのリニューアル案件があったんだけど、旧コンテンツからの Cookie を引き継ぐ必要がありました。
ちなみに Cookie の名前は「www.example.com.hogecode」とか。わざわざ名前にドメイン名入れてるってことは Cookie の仕組みわかってないんじゃないかなー、なんてことを思いつつ、新サイトでも同名の名前で Cookie を使おうとしたんですが。

setcookie("www.example.com.hogecode", "hoge");

としたものが

$_COOKIE["www.example.com.hogecode"]

でなぜか取得できない。
[Read More!]
09:13:19 - miau - No comments - No Trackbacks - Permalink

shebang

- General on miau's blog?
Shebang (Unix) - Wikipedia, the free encyclopedia

先日ミーティング中にこれについて説明しようとして。

「えーと・・・あの一行目に書くやつ。英語ではしぇばん?とか書くんですけど日本語では何ていうんでしょうね?というか読み方『しぇばん』でいいんですかね?まぁシャープびっくりで始まる行・・・」

みたいなしどろもどろな説明になって恥ずかしかったので、調べてみた。

#!を何と読む - いなた屋 - livedoor Wiki(ウィキ)

色々あるっぽいけど、発音聞いた感じその他で「シェバング」を個人的に採用。日本語で説明する場合も「シェバング行」でいいや。
20:08:11 - miau - No comments - No Trackbacks - Permalink

2006年 9月 14日 (木曜日)

FFFTP で tail(挫折)

- General on miau's blog?
ffftp quick hack をさらに hack - miau's blog?

これ作ったときに、さらに追加したい機能として

○最後の n byte を表示
 巨大なログファイルの末尾だけを見たいような場合に。
 レジューム周りの機能をうまく流用すればできないかな、とか。

というのを書いたんですが、仕事中待ちが発生したので試してみました。

インターフェイスをいじるのは面倒だし、まずは「ビューワ2でリモートファイルを開いた場合、先頭の n バイトをスキップしてダウンロードする」という処理にしてみよう。
これだけならかなり簡単で、main.c の 1740 行目付近?を

if (App == 1) {
MainTransPkt.Mode = EXIST_RESUME;
MainTransPkt.ExistSize = 1;
} else {
MainTransPkt.Mode = EXIST_OVW;
MainTransPkt.ExistSize = 0;
}

に書き換えるだけ。

で、実際に動かしてみると・・・

FFFTP:エラー
このホストはリジュームをサポートしていません。
上書きしますか?

とか言われた。メインの開発機で使えないなら実装してもあまり意味ないな。やめ。
08:47:53 - miau - No comments - No Trackbacks - Permalink

2006年 9月 20日 (水曜日)

VMware Player メモ

- General on miau's blog?
以前メモったつもりが忘れてたみたいなので。

イメージの作成には EasyVMX! を使うと楽。

EasyVMX!: Create Virtual Machine

OS の bootable CD があれば特に .vmx いじらなくてもすぐにインストールできる。

でも CD ドライブが複数ある場合(Daemon tools を使ってる場合も)、CD-ROM ドライブとして別のドライブが認識されたりしてハマることが。

ide1:0.fileName = "F:"
ide1:0.autodetect = "FALSE"

みたいな感じでドライブを明示的に指定すれば OK、と。


早速 VMware Server 使えとツッコまれた。そういえばそういう記事も見覚えあるような無いような。
情報収集怠ってるのがバレバレですね。
23:47:19 - miau - No comments - No Trackbacks - Permalink

2006年 9月 22日 (金曜日)

Solaris ワカンネ

- General on miau's blog?
今メインの開発機は Solaris なんですが、今まで AIX とか Linux とか半端に勉強してるもんで、コマンドが色々わからなくて困ったりします。先日も top コマンドが無くて困ってたんですが、ググったらすぐ発見できた。

Solaris Workshop

「なんで Solaris には "top" が無いんだよ!!」という分かりやすいタイトルがなんとなく気に入りました。

他にも「Linux で言うところの○○コマンドって無いのかな」みたいな機会は多いので、いいページを探してたんですが・・・それっぽいの発見。とりあえずメモメモ。

Unix Porting - Unix Cross Reference

ついでに Sleipnir の履歴にいつまでも残ってたこれも貼っとこう。

各ディレクトリの役割を知ろう(ルートディレクトリ編)(1/2)

Solaris どうとかじゃなくて *nix 全般に弱すぎな気が。情報処理試験が終わったら LPI でも受けるかな・・・。
00:33:36 - miau - No comments - No Trackbacks - Permalink

2006年 9月 28日 (木曜日)

exuberant ctags で SQL のタグ生成

- General on miau's blog?
気がついたら ctags日本語対応版 が更新されてた。

ctags5.6J1 (2006/06/12)
 ・5.6対応リリース

何が変わったんだろう?ということで、Change Notes 見てみると・・・大して仕事には影響なさそう。でも、

* Fixed incorrect tag for first field of table [SQL].

の一文が気になった。
へー、SQL もタグ生成できるんだ。ちょっと試してみよう。
[Read More!]
05:53:46 - miau - No comments - No Trackbacks - Permalink
| 1 |