2007 年 8 月 のアーカイブ

5分で構築するものぐさ仮想サーバ(其の0) 初めまして

はじめましてarashoです。symfonyで開発日記にではぼちぼち書いていますが、こちらでは初めてと言うことでこちらでもぼちぼち書いていこうと思います。
ちなみに、僕はものぐさな人間なので「楽をするために頑張った事」を中心に書いていく予定です。DRY大好きです。もちろん、キーボード、マウス、ネットワークは無線です。つなぐの面倒くさいですからね。家の照明のスイッチもリモコンです。照明消すのに動くの面倒くさいですからね。もちろん支払いはおさいふケータイです。財布と携帯持つの面倒くさいですからね。くどいですね。

まずは、弊社高原のブログで取り上げたグローバルIPのサーバが5分で準備完了について、

どうやらデータセンターに置いた数台のサーバ機と共有ストレージの上に仮想サーバ環境(Xen)を構築し、さらにLDAPでシェルアカウントを共有にして上記の1.~3.の作業を自動化したらしい。アカウントも全サーバをLDAPで一元管理。

と本当に大まかな部分だけ取り上げていましたが、これから何回かに分けてどうやって実現したか、どこで失敗したかなどを書いて行こうかなと思っています。

(続きを読む…)

ゆとり時代のプログラミング環境(watchdir編)

ウェブプログラミングの最終調整段階では、コードを少し書いてブラウザで動作を確認するという作業を何回も繰り返します。私の場合は、「Emacsでコードを書く→rsyncでファイルをサーバにアップロードする→ブラウザで動作を確認する→再びEmacsに戻る・・・」といった動作を10秒間隔で繰り返してたりします(もちろんちゃんと測ったわけではありませんが)。簡単な動作でも膨大に繰り返す作業は自動化できると生産性が向上します。そこで、ディレクトリ内のファイルを監視して変更があればコマンドを実行するという簡単なRubyスクリプトを書きました。名前は、UNIXwatchコマンドにあやかってwatchdirにしました。

(続きを読む…)

odコマンドで16進ダンプを取る方法

バイナリデータなどのダンプを取りたい場合、多くの人は自分の使いやすい16進ダンプコマンドを利用するかと思います。例えばhexやhexdump、xdなんてコマンドがインストールされていて、それを使っている人が多いのかと思います。

しかし、ツールのインストールが制限されている環境で作業しなくてはいけない場合、デフォルトでインストールされているツールだけで作業する必要が出てきます。どんな環境でも大抵のUn*x環境でインストールされているツールという意味では、8進ダンプツールのodが一番標準的なものだと思いますが、8進ダンプは読みにくくて使いにくいと感じている人も多いのではないでしょうか。

それほど知られていませんが(「BINARY HACKS」には書いてありましたけど)、実はodで16進ダンプを表示する方法もあります。下記のように実行すれば、他の16進ダンプツールに近い結果が得られるかもしれません。

$ od -tx1z hoge.jpg|head -2
0000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 48  >......JFIF.....H<
0000020 00 48 00 00 ff db 00 43 00 08 06 06 07 06 05 08  >.H.....C........<

(続きを読む…)

PNG画像のファイルサイズ最小化

PNGファイルの画質を劣化させずにファイルサイズを減らす3つのツール、OptiPNG、advpng、pngrewriteについて紹介します。

OptiPNG

OptiPNGはPNGを劣化させずにファイルサイズを減らすコマンドラインツールで、ソースコードとWindows用バイナリが配布されています。

なぜ画像として劣化させずにファイルサイズが減るかというと、PNGには元々圧縮方法が何通りかあるようで、このツールは色々な方法で圧縮してみて一番小さくなったものを採用するということのようです。

(続きを読む…)