2008/08/04 (月)

2008-06-30:PostgreSQLとMySQLのUPDATE構文

あるテーブルに UPDATE かけたくて、しかし対象行の検索には別のテーブルを結合したいビューを使いたい、という場合のオハナシ。

PostgreSQL の場合、UPDATE 文に FROM 句が使えて、ここに WHERE 句で使いたいテーブル・ビューを記述できる。
例を書くと、

UPDATE table_name as t
   SET target_column_name = value
  FROM view_name as v
 WHERE t.where_column_name = v.where_column_name
   and v.search_column_name = search_value;

のような形。

が、同じことを MySQL でやろうとしたら、怒られた。MySQL では FROM 句が使えない。
MySQL の場合は単純に UPDATE のターゲットテーブルと併記すればよい。

UPDATE table_name as t, view_name as v
   SET target_column_name = value
 WHERE t.where_column_name = v.where_column_name
   and v.search_column_name = search_value;

SQL92 標準的にどうなのかは知りません。だれか教えてください。:-)

そんなことより、今日 MySQL のマニュアル読んでてびっくりしたのは、UPDATE 文にORDER BY 句が使えること。指定した順で更新されていく。

なんの意味があるんだろう?

やっぱり MySQL は変態だなぁ、と思った(誉めてます)。

comment

2008/03/27 (木)

2008-03-27:spamer に使われてしまった自分のアドレス

昨日になって、急に Undelivered Mail Returned to Sender とか、failure notice とかのメールをやたらにくらうようになった。
中を見てみると、どうやらどっかのスパム業者が envelope-from に waasuke@kaisei.org を騙ってスパムを送りまくりなさってやがる模様。受け取ったサーバが spam 認定ではじいたり、該当ユーザーなしでエラーを返してくださるのだが、そいつの爆撃を私が受ける羽目に。

はげしく迷惑だ。

が、どういう対策をするものだろう?
有効な対策がいまいち思いつかず、後向きだが、waasuke@kaisei.org のアカウントを無効にしてしまった。
でも、普段もっと使うアドレスを使われると、同じ対応とれないのよね。
どなたか、いい対策ご存じでしたら教えてください。m(._.)m

comment

2008/03/17 (月)

2008-03-17:QuickWindow

先日の Windows の最大化ボタンについてのネタ で、ゆうやさんからコメントいただいた QuickWindow をインストールしてみた。
各種 GUI 動作をキーボードショートカットで、というアプリ。その中に「ウィンドウの位置とサイズを記憶する」という動作と「記憶したウィンドウの位置とサイズを適用」という動作がある。
最大化ボタンのハックに拘るのではなく、あくまで「簡単にこの大きさ・位置になってくれ」という要望なので、かなり自分のツボをヒットした機能。便利に使わせてもらっています。
ゆうやさんありがとう。

追加要望を言うと、「記憶した位置とサイズを適用する前の位置とサイズ」を覚えてもらっていて、「最大化」から元の位置・サイズに戻れるといいのだけど。。。

comment

2008/03/13 (木)

2008-03-12:Windows の最大化ボタン

今日は技術ネタの公開ではなく、質問。
Windows XP の LUNA インタフェースをふだん使っているのだけど、こいつの最大化ボタンの振舞を変更することってできないかなぁ。
ふだん、metavnc で別マシンの GNOME 環境を重ねて表示させている。Windows の窓を最大化するときに、GNOME のツールバーを避けて最大化してほしいなぁ、という要望。

GNOME のツールバーを認識しろ、というのは無理な話なのはいいんだけど、

最大化ボタンを押されたら [x1,y1] から [x2,y2] の大きさに拡大

という指定はできないかな、と。
Windows に詳しい方、へぷる〜

comment

2008/03/11 (火)

2008-03-11:HDDのデフラグ

ふと、職場のデスクトップの HDD のデフラグツールを起動してみた。
ひどい状況に唖然。。。^^;

しばらくデフラグをかけてみたが、当然のごとく全然おわらない。
職場を出るときにしかけていこう。

comment

2008/03/03 (月)

2008-03-03:OpenBlockS266 に Debian をインストール

眠っていた OpenBlockS266 を引っ張りだして、120G の HDD を買ってきて、我が家のルータ兼ファイル置場にしようという計画。
作業手順は別ページで。

OpenBlockS266 に Debian をインストール

comment

2008/02/06 (水)

2008-02-06:GPSで行動記録

かねてより、自分がいつどこにいたかを記録してもらえるものはないかなぁ、と思ってて、ちょこっと調べたので、備忘として。

ランナーさんがトレーニングに使うのがよくあるらしい。
http://casio.jp/wat/PHYS/forrunners_top.html
けど、どこに行ったかよりは、トレーニング中にどれだけ動いたかをみるのが目的のようだ。

http://www.omisega.com/item/gps/
こちらも腕時計型。Google Earth と連動してくれるのは参照性がよさそう。
デザインはこんなもんすかねぇ。

どちらもあんまり電池がもたないのがネック。私の用途にはあわない。
最近の防衛省幹部は GPS 携帯で常に居場所がトレースされるらしい。こっちこそ私のやりたいことなんですよね。
というわけで、ちょっとそっち方面をぐぐる。
http://www.jognote.com/?mode=promo&code=mobile070903
これもジョギング系。iアプリを起動していないと記録してくれないんだろうな。電池はどれくらいもつんだろうか。

一応メモ。
http://www.yaskey.cside.tv/mapserver/note/gps.html

comment

2008/01/13 (日)

2008-01-13:インターネットラジオ(クラシック方面)

仕事の合間に ML の未読を処理してて http://ottava.jp/ というのを教わった。
クラシック方面のインターネットラジオ。わりと各番組に DJ がついてて、説明をいれてくれたりしてる。

普段は http://www.smoothjazz.com/ をかけていることが多いんだけど、クラシックもうれしいな。わりとダイナミックレンジが大きくないものを選んでくれているような気もする(これは気のせいかも)。

で、話をしてたら、http://ml.naxos.jp/ というのも教わった。
こっちは毎月定額でストリーミングし放題な音楽ライブラリー。音質がよく、全曲聴けて、月額1,980円。
よくコンサートの演目で、「一曲目聴いたことねぇ。でもこのためだけに CD 買うのはどうよ?」ということってけっこうあると思うんだけど、そういうのにいいかな。
あと、ときたま無性に「○○が聴きてぇ」ってあるしね。

というか、生オケ行きたいんだが。。。^^;

comment

2007/08/22 (水)

2007-08-22:電力安定供給

16時前後で会社の入っているビルの電力供給がちょっと不安定に。
うちの会社は複数フロアを借りているのだけど、どのフロアも同様。
TEPCO のでんきよほうを見ると、今日のピークタイムで 予想最大電力/供給力 が 6150万kw/6370万kw とかなのね。余裕ないな。。。
みなさん節電しましょう(といってもすぐできるもんじゃないんだけど)。

www.tepco.co.jp

comment

2007/08/06 (月)

2007-08-06:PHP:PDF_setcolor()

お客さんのところでサーバ切替にともなうシステム移行があったんだけど、そこでの PDF を作成するところでエラーがひとつ発生。
なにかと思ったら、文字色を指定する関数の色指定が、むかし RGB だったのが CMYK に変わってるのね。いつからだろ。

単純に赤い色を (1,0,0) で指定していただけなので、(0,1,1,0) に指定しなおして終わり。
黒は (0,0,0) が (0,0,0,1) になる。
微妙な色使いをしたい場合は RGB->CMYK の変換プログラムをちゃちゃっと書くべきなんだろうな。

comment

2007/08/01 (水)

2007-08-01:PHP 4.4.7 on IIS6 in Windows2003server(続き)

7月5日の日記の続き、というか補遺。

php.ini の変更は IIS を再起動しただけでは適用されない。
コマンドプロンプトで

net stop w3svc
net start w3svc

とするといい感じ。

ファイルの存在確認。

[管理ツール]→[IISマネージャ]で「Webサイト」→「既存の Web サイト」をだして、右クリックメニューのプロパティを選択し、ホームディレクトリタブの構成を選んで、マッピングタブの追加で、”.php” に対して “C:\php\php4isapi.dll” を設定。

というのまでは前回のエントリで書いた。これに加えてもうひとつ。
「 [ ] ファイルの存在を確認する」にチェックを *入れてはならない*。ここがチェックされていると 404 エラーをくらうようだ。

OS の問題なのかわからないが、世間には逆の情報もでまわっているので要注意!

仮想ディレクトリ名。
IIS マネージャで、既存の Web サイトで仮想ディレクトリを追加する場合、
仮想ディレクトリと実体のディレクトリ名を同一にする必要がありそう。
これはきちんとした情報みつけられていないのだけど、手元で試した限りはそうだった。

で、筆者は「これらの情報を手に入れるためにはどうしたらいいのか」の情報を求めています。^^;
やはりなれない環境はつらいわ。

comment

2007/07/05 (木)

2007-07-05:PHP 4.4.7 on IIS6 in Windows2003server

www.php.net から 4.4.7 をもらってきて、C:\php 以下に展開。
sapi フォルダ、dlls フォルダの中身を C:\php 直下に移動しておく。
[管理ツール]→[システム]→[環境変数]で PATH に “;C:\php” を追加。
C:\php\php.ini-recommend を編集して C:\WINDOWS 以下にコピー。

[管理ツール]→[IISマネージャ]で「Webサイト」→「既存の Web サイト」をだして、右クリックメニューのプロパティを選択。
ホームディレクトリタブの構成を選び、マッピングタブの追加で、”.php” に対して “C:\php\php4isapi.dll” を設定。
「既存の Web サイト」のとなりの「Web サービスの拡張」でも同様に設定。

で、再起動。

マニュアルとか巷のサイトを見るに、これで大丈夫らしいんだけど。。。401 喰らうよ!

アクセス制御関係だよなぁ。
DocumentRoot の C:\Inetpub\wwwroot や C:\php が IUSR_{machine名} 権限で読み込みも読み込み実行もできることを繰り返し確認(というか、めんどくさいからフルコントロール)。
なんども確認して唸ること1時間強。

ふと、各フォルダに IIS_WPG にも権限を与えてみた。

ようやく動いた!

これまで apache の上でばかり生活していたので、シンプルな権限管理しかカラダが知らず、FileSystem に紐づけられた権限管理というのがどうもしっくりきません。
そして、うまく行かないときに、どこに情報が出るのかがわかってない。
慣れない環境はむずかしいです。。。

# そもそも匿名アクセスという概念を理解するのに無駄に時間がかかった。
# これは自分のアタマが腐ってるのが悪いな。しょぼん。

comment

2007/07/04 (水)

2007-07-05:meta VNC on vmware 問題一歩前進?

昨日書いた vmware 内の virtualmachine 上の vncserver に対して、クライアントがときたま繋げなくなる問題の続き(昨日の記事)。

問題が起きるのは vmware server を起動している windows マシン自身からのみ。ほかの PC (同一セグメント上)からは問題が起きない。
通常は metaVNC クライアントは接続できるし、cmd.exe から ping 打っても反応がある。しかし問題が起きているときは ping も通らない。
で、いろいろやっていて、問題が起きたときに sudo /etc/init.d/network restart すると、その後すぐに ping が通り始めることを発見。metaVNC クライアントも接続できる。

実は vmware の子のネットワークドライバが腐ってる?

でも、外の PC からは問題なくつながることから、それだけの問題ではなさそう。vmware server の Bridge ネットワークとの合わせ技でだめなのかも。
# ちなみに使ってるドライバは vmware-tools で入れた vmxnet 。

解決はしていないが、まぁひとまずは対処方が分かったということで、不便は不便だが、なんとか使いつづけることはできそう。一歩前進ということにしておきます。

comment

2007/07/03 (火)

2007-07-03:ReadExact: Socket error while reading.

日常的に MetaVNC を使っているのだけど、昨日からクライアントがときたま反応しなくなる障害が出る。
で、「あ、反応しなくなったな」と気づいてしばらくると

ReadExact: Socket error while reading

とエラーメッセージが出てクライアントが落ちる。
落ちた後はしばらくクライアントを再起動してもサーバにつながらない。しばらく待ってから再度試みるとつながる。

環境はクライアントが Windows XP SP2 上の metaVNC viewer で、サーバは同一ホスト上で動かしている vmware server 内の virtualmachine(vine linux)。vmware の仮想ネットワークはブリッジ接続にしてて、virtualmachine には固定アドレスを振っている。

ちょっとぐぐってみたけど、あまりかんばしい情報はなかった。
こうした方がいいんじゃね、とか、ここのログ見れ、といったアドバイスがありましたらよろしくお願いします。

comment

2007/06/04 (月)

2007-06-04:iPodトラブル?

一昨日から iPod の調子がおかしくなった。
高音域・低音域は聴こえるものの、1kHz あたりのヒトの音声あたりの周波数帯が聴こえない。
ふつーの楽曲を聴いてるとカラオケ状態だし、ラジオの語学番組なんて全滅。
まったく聴こえないのではなくて、ボリュームをあげまくれば細々と聴こえなくはない。

へんなトラブルだよなぁ。
ソフトウェアくさいけど、こうピンポイントに行くんだろうか。iTunes から iPod の復元をやってみたけど、NG。

修理に出すしかないのかなぁ、と思っていたら、同僚から以下の指摘。

もしそれが,低域 – 中域 – 高域 の中の音ではなく,左 – 中 – 右の 中の音が小さい,
ということであれば,アナログラインの L, R, G の接触不良が考えられます.

ヒトの声は,だいたい真ん中の定位に配置されることが多く,
昔の単純なカラオケ生成器は,定位の中央を消す方式が主流でした.

ビンゴでした。
別のヘッドフォン出してきて聴いてみたら大丈夫だった罠。
もともと使ってるヘッドフォンも別のマシンに接続して試していたので、ヘッドフォンはシロだと信じてた。組み合わせるとダメという、微妙な接触だったらしい。
こういうことってあるのねぇ。。。

comment