2006年06月22日

Shake 4.1

Shakeもとうとう、Universalバイナリ化。
使ってみたいなー・・・

えええええっ!?

なんと、33万円だった価格が、6万2,000円。
目眩した。


posted by Wait-and-See at 20:55 | Comment(1) | TrackBack(0) | Mac

2006年06月20日

Macで家計簿

金銭の管理が、ずぼらだ。
それでもずっと問題なくやってきたが、最近、銀行の残高を見るたびに・・・にわかには認めたくないが・・・毎月少しずつ赤字な気がする

通帳記帳しないのが、まずいけない。
インターネットバンキングでは、直近の履歴しか分からないので、全体として横ばいなのか、着実に下がっているのか分からない。

少し前に、Microsoft Moneyを使って家計簿を付け始めたが、そのWindowsデスクトップマシンは場所をとるので邪魔者扱いされ、コンセントを抜かれ、片付けられて、とうとう今では物置にしまわれてしまった。
それとともに、家計簿もフェードアウト。

最近になって、仕事でPowerBookを持ち歩くようになり、それを家にも持ち帰るようになったので、それならばということで検索して、使い始めたのがMaster Money for Mac。

「毎日つけなくていい」「最後に使途不明金でつじつまを合わせればいい」という説明に、肩の力が抜けた。
項目を自由にカスタマイズし、資産管理風からお小遣い帳まで、自分のやりたい様にできるのがいい。

最後に、利用しているインターネットバンキングから、Microsoft Money形式のデータが問題なくロードできたのが、選択の決め手。
銀行の残高をダウンロードし、記録していく。それだけで自分のやりたいことの半分は完了している。

Master Money for Mac ~Universal アプリケーション~Master Money for Mac ~Universal アプリケーション~


Amazonで詳しく見る
by G-Tools


今はキャンペーンで、Apple Storeが安い(\2,980円)みたい。

Apple Store(Japan)
posted by Wait-and-See at 22:31 | Comment(0) | TrackBack(0) | Mac

2006年06月19日

SSL更新用CSR生成その2

SSL更新用CSR生成』の続き。

SSL更新を待機していたサーバが、突然動かなくなった。
ページがまったく表示されない。というか、無くなった。

まさかハッキングされて、ページを消されたのか!?
などと心配になって、確かめてみると・・・

なんと、自動更新によってパッチが当てられ、サーバが自動的に再起動させられていた。
その結果、SSL更新用に新規作成したサイト側が有効になり、実環境側のサイトが停止状態になっていた。

なんじゃそりゃ。
まさに想定の範囲外。

SSL更新用のサイトを停止し、実環境のサイトを開始して、復旧。


posted by Wait-and-See at 20:31 | Comment(0) | TrackBack(0) | Windows

2006年06月16日

かな入力

僕は、日本語を打つときは「かな入力」だ。

かな入力だと頻繁に、「かな」モードと「英数」モードを行ったり来たりすることになる。
かなモードのままでは、数字はおろか、カッコや「?」、「!」マークなどの記号も打てない。
そのため、かなモードと英数モードとを切り替えるキーは、非常に重要だ。

確か以前の、PC-98の時代までは、かな切り替えのための専用のキーがあったと記憶している。
初めてDOS/Vマシンを触ったときには戸惑い、必死になってかな切り替えのためのキーを調べ、それが[Shift]+[Ctrl]+[カタカナ/ひらがな]だと分かったときは、冗談だろうかと思った。

この、OSがハングした時などにお世話になる[Ctrl]+[Alt]+[Del]を彷彿とさせるキーの組み合わせを、僕の場合は左手小指で[Shift]と[Ctrl]を押さえ、右手中指で[カタカナ/ひらがな]キーを押している。
特に左手小指の使い方は変則的だが、慣れとは恐ろしいもので、今ではすっかりこれが馴染んでしまった。

ほどなくして、Windowsの世代が代わった時だったろうか、切り替えキーが[Ctrl]+[英数]に変わっていた。
なるほど、こちらのほうがずっとスマートだと感じたが、一度手に馴染んだものは簡単には変えられず、元に戻す設定を探して、依然として[Shift]+[Ctrl]+[カタカナ/ひらがな]を使い続けた。

実は少し前に、仕事に使うメインマシンが、やっとWindowsXPになった。
入力方式を「かな入力」に切り替え、入力中に[Shift]+[Ctrl]+[カタカナ/ひらがな]を押してみると・・・あれ?
「半角英数モード」に変わってしまう。

かな切り替えキーは、「全角ひらがな」と「全角英数字」を往復してくれないと、困る。
半角英数字になるのであれば、ただ単に[全角/半角]キーを押して、日本語入力を抜ければいい。

色々悩んだ挙句、偶然にも、入力方式を「ローマ字入力」にして[Ctrl]+[Shift]+〜を押せば、全角ひらがなと全角英数字を往復することが分かり、そのような設定で使っている。

ところで・・・あれ?
今やってみると、かな入力方式の設定のときは、ただ単に[英数]を押すだけで、全角英数字に切り替わる・・・。

う、うーん・・・今日から変えようかな・・・。


posted by Wait-and-See at 20:03 | Comment(0) | TrackBack(0) | 日記

2006年06月15日

PuTTYでコピペ

カテゴリーに迷ったけど。

つまりは、あれだ。
Windowsから、PuTTYを使ってSUSE LINUXに繋いで作業しているときに・・・今までは、コピペの方法を知らなかった
どんなに長いコマンドを、以前の記録から引用する場合にも、うおりゃ〜と手で打ってきた。

うん、いい加減、調べよう。

A.6.6 How do I copy and paste between PuTTY and other Windows applications?

なるほど。

コピーは、PuTTYのウィンドウ上で、「マウスでドラッグして文字を選択するだけ」、か。
つーか、あれだな。これはきっと、Linuxの基本だな、たぶん。
慣れないと、選択した後についつい、「Ctrl+C」を押したくなる。

ペーストは、「マウスの右クリック」か「Shift+Ins」か。

そういえば大昔、先輩がUNIXのシステムをいじくっていて、何も知らない僕が横で見学していたときに、どうしてもそこにある3ボタンマウスを触ってみたくて、確か真ん中のボタンをポチッ、としてみたら、何やらターミナル上で得体の知れないコマンドが突然動き出して、うひーごめんなさいっ、と恐れおののいて、先輩の顔を振り返った記憶があるな。

うん、どうでもいいけど。

とにかく、コピペが出来るようになって、良かった良かった。


posted by Wait-and-See at 20:03 | Comment(0) | TrackBack(0) | SUSE LINUX

2006年06月14日

magic_quotes_gpc

データベースに格納した、フォームからの入力データの「'」や「"」が、「\」マークでエスケープされてしまうとの指摘。

調べてみると、PHPには、これらのデータを自動的にエスケープする機能があり、デフォルトで有効になっているとのこと。

次のように設定を変更。

# vi /etc/php.ini
magic_quotes_gpc = Off


解決・・・かと思いきや、今度はPostfix Adminが動かなくなってしまった。

該当箇所を調べてみると、

/srv/www/htdocs/postfixadmin/functions.inc.php
function escape_string ($string)
{
global $CONF;
if (get_magic_quotes_gpc () == 0)
{
if ($CONF['database_type'] == "mysql")
$escaped_string = mysql_real_escape_string ($string);

if ($CONF['database_type'] == "mysqli")
$escaped_string = mysqli_real_escape_string ($string);
if ($CONF['database_type'] == "pgsql")
$escaped_string = pg_escape_string ($string);
}
else
{
$escaped_string = $string;
}
return $escaped_string;
}


はは〜ん、これは恐らく、DBにコネクト前にmysql_real_escape_string()を呼び出したエラーだな、とピンと来た。自分がよくやるので。

調べてみると、このバグは既に報告されていた。

#55 (function escape_string dont work if magic_quote_gpc is deactivated) - Postfix Admin - Trac

このページに倣って、以下のようにコードを2箇所、変更。

# vi /srv/www/htdocs/postfixadmin/functions.inc.php
function escape_string ($string)
{
global $CONF;
if (get_magic_quotes_gpc () == 0)
{
$link = db_connect ();
if ($CONF['database_type'] == "mysql")
$escaped_string = mysql_real_escape_string ($string);
if ($CONF['database_type'] == "mysqli")
$escaped_string = mysqli_real_escape_string ($link, $string);
if ($CONF['database_type'] == "pgsql")
$escaped_string = pg_escape_string ($string);
}
else
{
$escaped_string = $string;
}
return $escaped_string;
}


解決。

(追記)
<pre>タグ使うと、自動改行されなくなるのか・・・知らなかった。
上記のソースの適当なところで、改行を挿入。


posted by Wait-and-See at 20:44 | Comment(1) | TrackBack(0) | PHP/MySQL

2006年06月13日

JPEGの種類

映像コーデックを選択するとき、「フォトJPEG」や「モーションJPEG」など、同じJPEGでもいくつか種類があり、気になっていた。

JPEG画像圧縮FAQ その1/同人野郎のためのWEBサイトづくり

JPEGであつかうのは静止画像だけです。それでもビデオ用の「モーションJPEG」や「M-JPEG」の参考文献を求める人が後を断ちません。 そんな規格は存在しません。いろいろなベンダーは一連の映像のひとコマひとコマに JPEG を適用して、その結果を「M-JPEG」と呼んでいます。残念なことに、どれも認定された規格ではなく、それぞれ違うものになってしまってます。できたファイルはたいがいベンダー間で互換性がありません。


なるほどー。

ところが、QuickTimeでは「フォトJPEG」と「モーションJPEG」が別のコーデックになっており、さらにモーションJPEGは「モーションJPEG A」と「モーションJPEG B」の2つに分かれている。
うーん???

補遺A

と思っていたら、こちらのページを発見。

(フォトJPEGとモーションJPEG圧縮は、同じ圧縮方法を用いていますが、モーションJPEGは、特別なハードウェアサポート[上記参照]のために最適化されています)


なるほどね。
しかし、実際にどのハードウェアに対して最適化されているのかの情報は、得られない。

関係ないけど、補遺の読み方は、「ほい」でいいのか。
あぶねー、覚えておこう。

アップル - Pro - Film & Video コーデックの特性

こちらのページに、代表的なコーデックの説明があるけれど、それでも網羅はされていない。

うーん・・・。

4839902976知りたい人のためのデジタルビデオガイド
エ・ビスコム・テック・ラボ
毎日コミュニケーションズ 1999-12

by G-Tools

4839904715デジタルビデオ編集基本ガイド
エ・ビスコム・テック・ラボ
毎日コミュニケーションズ 2000-11

by G-Tools

posted by Wait-and-See at 20:14 | Comment(0) | TrackBack(0) | 映像/グラフィック

2006年06月08日

SSL更新用CSR生成

Windows Server 2003 + IIS6.0。
SSL更新用にCSRの生成を行う。

サーバID - Microsoft IIS 6.0 セキュア・サーバID/グローバル・サーバID共通 CSR生成手順 (更新)

こちらのページを参考に、というか、ほぼそのまんま。

気になった点だけ、メモ。

新規Webサイト作成ウィザードの最後で、「既に同じ〜うんぬん」のような事を言われて、「正常に完了できませんでした」と表示された。
しかし[完了]ボタンは押せて、サイトも作成される。

同じIP/ポートでサイトを作成すると、どうなっちゃうの? と心配したが、新しく作成したサイトはデフォルトで「停止」状態となり、問題なし。

CSRの情報入力時、「組織」や「組織単位」などの情報は以前のものがデフォルトで表示されたが、「一般名」は正しい値を入力しなおさなければならなかった。

無事完了。

後日、サーバIDのインストールに続く、予定。


posted by Wait-and-See at 20:53 | Comment(0) | TrackBack(0) | Windows

2006年06月07日

SMTP-AUTH

SUSE LINUX 10.0 OSS。
Postfix + MySQL + Cyrus SASL + Dovecot。

外部から使用できるメールサーバを立てるには、もはやSMTP認証は必須のようなので、試す。

以前購入した、『SUSE Linux10.0ビギナーズバイブル』および

うにっくすさんの覚え書き - Postfix - MySQLでアカウント管理 & SMTP-AUTH

こちらのサイトを参考に、設定。

既に、Postfix + MySQL (+ Postfix Admin + Dovecot)の環境は構築済み。

まずは、yastにてCyrus SASL関連パッケージのインストール。
と思ったら、既に入ってた。

cyrus-sasl
cyrus-sasl-saslauthd
cyrus-sasl-crammd5
cyrus-sasl-digestmd5
cyrus-sasl-plain


SASLの設定ファイルを作成する。

# vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
meck_list: plain login
auxprop_plugin: sql
sql_user: postfix
sql_passwd: パスワード
sql_hostnames: localhost
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username = '%u' AND active = '1'


この方法で認証する場合、「saslauthd」を起動する必要は無い模様。

Postfixの設定ファイルを変更。

# vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,
reject_unauth_destination


(2006.6.19)
smtpd_recipient_restrictionsの最後のパラメータを、「reject」から「reject_unauth_destination」に変更。

設定を反映。

# /etc/init.d/postfix reload


これで、クライアントマシンからOutlook Expressを使って送信してみると・・・動かない。

うーん、と少し悩んで、もしかして!と
yastから[ソフトウェア]→[ソフトウェアのインストール/削除]を選択。
検索で、「sasl」打ち込んでみると・・・ありました。

cyrus-sasl-sqlauxprop


なるほど。
MySQLで認証する場合、このプラグインが必要なのだな。
追加インストール。

改めて、クライアントマシンから送信を試してみると・・・動かない。

うーん・・・今度は、

# tail -f /var/log/messages


で出力を監視してみる。
すると、SQLクエリーのWHERE句で、usernameのところに@マークより前の部分しか現れていない。
ここは、「hoge@hogehoge.jp」のように、@マーク以降もつながって入って欲しいところ。
なるほど。

/usr/lib/sasl2/smtpd.conf のSQLステートメントのWHERE句のところを、次のように変更。

sql_select: SELECT password FROM mailbox WHERE username = '%u@%r' AND active = '1'


これでもう一度、クライアントマシンから送信してみて・・・やはり動かない。

うーん。
ここで途方にくれて、あちこち検索しまくる。

するとなんだか、Cyrus SASLでMySQL認証する場合、MySQLに格納されているパスワードはクリアテキストでないと、直接認証するのは無理。って事でファイナルアンサー的な雰囲気になっている。
がくーん。

激しく動揺しながら、

「いやでも、今では解決法が用意されてんでしょ?」

と、悪あがきの検索を続ける。

で、出てきたのが

解決法1:Postfix Adminで、パスワードをクリアテキストにて保存する

Postfix Adminのconfig.inc.phpにて、次のように設定すると、パスワードをクリアテキストで保存できることが判明。

$CONF['encrypt'] = 'cleartext';


いや、しかし、これは、ちょっと・・・。

解決法2:パッチを当てる

Software :: Cyrus-SASL patches

MailServer構築(courier-authlib) - System House ACT

こちらのサイトにある方法。
Cyrus-SASLにパッチを当てる。

なんか根本的な解決法のような気がするが、ソースからコンパイルしなければならないのが自分には敷居が高いし、一度このようにカスタムメイドしてしまうと、yastで気軽にオンラインアップデート出来なくなるような気がするので、怖い。

解決法3:Courier-IMAPの認証を使う?

Courier-IMAPのauthdaemonを使用する方法をいくつか見かけたけど、POP/IMAPの環境は既にDovecotで構築しているので、なんか違う気がする。

解決法4:rimapを使う

Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築(CentOS4.x編)

あぁ、いつも参考にさせていただいている、こちらのサイトにパッチリな感じの解説がありました。

ところで、rimapって、何?

日本語でやさしく解説しているページが見当たらない。
玄人たちは、こういったものを使いこなし、応用しているのか?

道のりの遠さに目眩を覚えながら、ここは先人たちの知恵をそのまま拝借するほか無い。

/etc/sysconfig/saslauthd を次のように編集。

SASLAUTHD_AUTHMECH=rimap

FLAGS="-r -O localhost"


rimapを使うと、アカウント名の最後に「hoge@hogehoge.jp@」のように@マークをつけないと正しく認証できない、というのをいくつか見かけたが、これも「-r」オプションにて解決できることが、解説されている。

次に、/usr/lib/sasl2/smtpd.confを、次のように全面的に書き換え。

pwcheck_method: saslauthd
mech_list: plain login


saslauthdを使用する場合、起動設定が必要。
yastから[システム]→[ランレベル・エディター]。
「saslauthd」を選択して、「有効化]・・・・・起動失敗(汗

あれ?

/var/log/messagesを覗いてみると、hostnameの指定が無いとのお達し。
おっかしーなー。ホスト名は上記の「-O」オプションで、ちゃんと指定しているのに・・・。

散々悩んだ挙句、なんとなく/etc/init.d/saslauthd起動スクリプトの中身を確認してみると・・・

むむっ!?

はっきり言って起動スクリプトのことなんて分かんないけど、なんとなくFLAGSの内容が反映されていないような?

試しに、startで起動しているところに、FLAGSの指定を挿入してみる。

# vi /etc/init.d/saslauthd
/sbin/startproc $AUTHD_BIN -a $SASLAUTHD_AUTHMECH $FLAGS > /dev/null 2>&1


改めて、ランレベル・エディターで有効化してみると・・・OK!

クライアントマシンから送信してみると・・・成功!

最後に、後片付けとして、結局使用しなかった「cyrus-sasl-sqlauxprop」を、yastからアンインストールしておく。
(「必要なオプションの指定が無い」と、/var/log/messagesに余計なログをはくため)


posted by Wait-and-See at 19:49 | Comment(0) | TrackBack(0) | SUSE LINUX

2006年06月02日

MySQLのdatetime型をPHPで書式化

MySQLのクエリーの結果のdatetimeを、PHPで書式化する。
date()関数なるものが使えそうだなと、そのまま突っ込んでみると・・・動かない。

date()関数のヘルプをよく読んでみると、第2引数に指定するのは、タイムスタンプ。
.ASP的な感覚で、そのまま渡してた。ダメなのか。

こんな簡単なことを今まで知らなかったことに、へこむ。

MySQLのクエリー側で書式を組み立ててしまう方法もあるだろうけど、なんか違う気がする。

ん?
date()関数のヘルプをさらによく読むと、

注意: 日付の文字列表現からタイムスタンプを生成するには、 strtotime() が使用できるでしょう。 さらに、いくつかのデータベースは(MySQL の UNIX_TIMESTAMP 関数の ような)日付フォーマットからタイムスタンプへの変換関数を有しています。


なるほどー。
SQLのクエリー内で、datetime型のフィールドを返す前にUNIX_TIMESTAMP()関数で囲い、返った値をPHPのdate()関数で書式化。

解決。


posted by Wait-and-See at 22:54 | Comment(0) | TrackBack(0) | PHP/MySQL


広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。