笑の家

昨日はお取引いただいているお客様と打合せの後ごはんにお誘いいただいて久し振りに家系ラーメン「笑の家」へ行きました。

ノーマルな「ラーメン」をごちそうになりました。

家系ラーメン久し振りだったのでうれしかったです 😀

ラーメンの写真を撮ろうかと思ったのですがブログ書いているのばれそうだったのでやめました :mrgreen:

その後すぐジムへ行ったのですが、喉が渇いて大変でした 😯

たまに食べたくなるんですよ家系ラーメン 😛

美味しかった~

カテゴリー: Life

Postfixキュー削除

たまにしか発生しないけど、必ず起きる事なので毎回やり方を調べてしまいます。

# mailq
# postsuper -d キューのID

DSET Tool

dell のサーバ情報を取得してレポートしてくれるツールがあります。

※実際に行ってみましたが apache がハングアップしたり、勝手に rpm をインストールしたりするのであくまでも自己責任で行ってください。

DSETツール

上記サイトからダウンロードしてきたファイルをサーバ上で実行するだけです。

# chmod 744 delldset_v1.6.0.135_A00.bin
# ./delldset_v1.6.0.135_A00.bin

15分くらい経つと root ユーザのホームディレクトリに以下のような名前のファイルが出来上がります。

DSET_Report_for_[ホスト名]-SvcTag-サービスタグナンバー-モデル名].zip

ファイル名にはサーバのサービスタグナンバーやモデル名が含まれています。
こういう情報もどうにかすると取得できちゃうんですね 🙂

このファイルを Windows 上で解凍すると中に dsetreport.hta というファイルがあります。
そのファイルを実行するとブラウザのようなモノが立ち上がり
さまざまな情報を見る事ができます。
※解凍を行うにはパスワードが必要になりますが、パスワードについては公表できません。すみません<(_ _)>

600

これは便利です。

logwatch File too large

logwatch が以下のメッセージを出力して終了してしまう。

/etc/cron.daily/00-logwatch:
 
postdrop: warning: uid=0: File too large
send-mail: fatal: root(0): Message file too big

文字通り logwatch が出力しているレポートのサイズが
大きすぎて postfix が送信を拒否している。

何が大きいのか調べてみるには logwatch の出力を
ファイルへリダイレクトして内容を確認してみます。

# logwatch --print > /tmp/logwatch.txt

/tmp/logwatch.txt を見たところ、あるログファイルのが
大きく育ってしまったのが原因である事が判明しました。

そのログファイルを mv してみたところ解決しました。

ログファイルを logrotate でローテーションするようにして解決です。

logwatch がローテーション設定忘れを教えてくれるとは 🙂

WordPress XHTML validator

一度公開した記事のソースが見たくて編集をしようとしたところ
編集ができなくなってしまいました!

色々と調べてみたところ以下のようなプロセスが沢山動いている事に気が付きました。

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
apache   11688  0.0  0.0  4440  996 ?        SN   00:46   0:00 xmllint --nonet --xmlout --
encode UTF-8 -

xmllintでピンときました!

先日WordPress XHTML validator というプラグインをインストールしていたのでそれが原因?

install instructions に tidy が必要と書いてあったのですが、
無くても動いているようだったので無視していた事を思い出しました。

そこで tidy をインストールしたところ解決しました 🙂

ちゃんとインストールしないとダメですね 😆

STARBUCKS COFEE

「同じひき具合で引いてある豆がありますのでそれでもよろしいでしょうか?」

先日いつものようにスタバに豆を買いにいったら上記のように聞かれました。

300

同じ種類の豆で同じ挽き具合だし、時間の節約になり
合理的で良いのですが、豆から挽いてもらいました。

本当のところは知りませんが、挽いてしまった瞬間から
時間が経つにつれて風味を失ってしまうような気がしたからです。

それに挽いてもらった方が単純に嬉しいというのもあり 🙂

多分挽いたばかりの豆なんだと思いますしコーヒー専門店が

行っている事なので問題ないのは重々承知の上です。

消費者の立場からすればやはり挽いてもらう方が嬉しいですよね。

何より最初にどっちにしますか?とチョイスを促してくれるのが良いですね 🙂

カテゴリー: Life

Ethna 携帯サイト用 validate

Ethna で携帯サイトを開発していて、キャリアによってフォームから

入力される文字列の文字コードが SJIS の場合と UTF-8 の場合があり、

max(文字列の長さ) の validate で、それぞれの文字コードの strlen()

の結果が違うのでうまくいきませんでした。

文字コードを統一してから validate すれば良いのですが、

そうもできない事情があり、validate plugin を作成してみました。

SJIS か UTF-8 が入力される $nickname の validate の場合に

ActionForm で以下のように定義します。

validate の条件は半角で8文字、全角で4文字以下の場合。

 
var $form = array(
 
'nickname' => array(
 
'type' => VAR_TYPE_STRING,
 
'form_type' => FORM_TYPE_TEXT,
 
'name' => 'ニックネーム',
 
'required' => true,
 
'utf8max' => array(
 
'utf8max' => true,
 
'max' => 8),
 
),
 
);

そして、以下のような Validate Plugin を作成しました。

example/app/plugin/Validate/Example_Plugin_Validator_Utf8max.php

 
<?php
 
class Example_Plugin_Validator_Utf8max extends Ethna_Plugin_Validator
{
function &validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['utf8max']) == false || $this->isEmpty($var, $type)) 
{
return $true;
}
$encode に文字列の文字コードが入っている
if ($encode == 'UTF-8') {
if (mb_strwidth($var, 'UTF-8') > $params['max']) {
$msg = "{form}は全角%d文字以下(半角%d文字以下)で入力して下さい";
return Ethna::raiseNotice($msg, E_FORM_MAX_STRING,
array(intval($params['max']/2), $params['max']));
}
} else {
if (strlen($var) > $params['max']) {
$msg = "{form}は全角%d文字以下(半角%d文字以下)で入力して下さい";
return Ethna::raiseNotice($msg, E_FORM_MAX_STRING,
array(intval($params['max']/2), $params['max']));
}
}
}
}
?>

意図する validate ができましたが、もっともっと良い方法があると思います。
皆さんはどうやっているのでしょうか…?

PostgreSQL 接続数の調べ方

PostgreSQL の現在の接続数の調べ方。

db=> SELECT * FROM pg_stat_activity;

netstat も併用すると良いと思います。

$ netstat -an|grep 5432

同時接続数の設定値は以下で調べられます。

db=> SHOW max_connections;

leap second

今朝サーバーのログを見ていたら閏秒がカウントされていた事に気がつきました。

# grep leap /var/log/messages
Jan  1 08:59:59 ns1 kernel: Clock: inserting leap second 23:59:60 UTC

今年は一秒長いんですね。

2009年もよろしくお願いいたします。