コンソールでscreenを使い倒す

サーバとかで、直接コンソール扱ってるときとかって、screenコマンドが便利ですよね。

というか、screenがないと何かプログラムを前で走らせたら、ほかのことができないですよね。

というわけで、screenコマンドの主要な使い方をまとめておきました。(自分のためですけど・・・)
変なメモの書き方ですが気にしないでくださいね。

screen主要コマンド

screenコマンド実行後
(C・・Ctrl,S‥Shift)

C-aでsecreenコマンド開始

C-a後
{
C-c	別ページのウィンドウ作成
{
C-p	前のウィンドウへ移動
C-n	次のウィンドウへ移動
}

S-s	画面を分割
{
Tab	分割画面を移動
C-c	分割画面にウィンドウ作成
S-q	現在の領域以外全て破棄
S-x	現在の領域を破棄
}

C-d	screen終了
}

おまけ。
いつも使う機能は.screenに記述しておく。
自分のホームディレクトリにおく。

$cat .screenrc
bind w windowlist -b
hardstatus alwayslastline "Screen [%w]"
startup_message off
autodetach on

Perlでshを呼び出した場合の実行速度

Perlで、shを実行できますよね。

shって結構お手軽で便利なコマンドがあるので、perlの中でも使いがちがんですが、実はかなり実行速度が遅いんですよね。

こういう話をどっかで聞いていたんで、実際にテストしてみました。
このテストでは、perlでファイルをreadするときに、perl内でハンドルをopenして読み込むか、sh呼び出してcatを用いるかで比較しました。

するとこんな結果になりました。

# ./roupe_test.pl
=== Start!! ===
--- PERL_TEST(FILE Read [perl_roupe]) ---
[test 1](0s .85510ms)
[test 2](0s .73861ms)
[test 3](0s .73888ms)
[test 4](0s .74111ms)
[test 5](0s .74027ms)

--- PERL_TEST(FILE Read [sh_roupe]) ---
[test 1](4s .-69818ms)
[test 2](4s .-182927ms)
[test 3](4s .-141415ms)
[test 4](4s .-171225ms)
[test 5](3s .855982ms)

=== Finish!! ===

これって結構な差ですよね。

続きを読む

あれれ

隠の王とブラスレイターもすごい面白い。

なんか、今春のアニメはみんな本気なのか??

とりあえず、ブラスレイターのゲルトは最高です。

最近のアニメ

コードギアスR2とマクロスフロンティアがすごーく面白い。

コードギアスの、なんというかあの、遠慮の無さ。
マクロスの、菅野さんの曲がスバラシイのと、戦闘の魅せ方がカッコイイ。

見てない人はオススメですよ。

PHPによるDBの扱い方を工夫してみる

ネットで色々見てると、インターネットは玉石混交と言わんばかりに、様々なコードが転がっていますね。
それで1つ気付いたコードを考察してみます。

まずはこれ。

$pager =& Pager::factory($pager_param);
$navi = $pager -> getLinks();
print($navi["all"]);

$currentPageID = $pager -> getCurrentPageID();
$index = ($currentPageID - 1) * $pagelimit + 1;

for($i = 1; $i < $index + $pagelimit; $i++)
{
$row = $result->fetchRow(DB_FETCHMODE_ASSOC);
if($i >= $index)
{
print  $row['size']."," . $row['name'] . "</br>";
}
}

このコードの範囲内だけ(こういうコードに至ったことの良し悪しは置いといて)で見たときに、少し改良できる点があります。

続きを読む