• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 
 

isoファイルを直接mountするには、以下のようなコマンドを実行すれば良いようです。

   1  mkdir -p /media/cdrom
   2  mount -t iso9660 -o loop /path/to/file.iso /media/cdrom

posted by Png genki on Thu 7 Jul 2011 at 06:22
5th Tue

Slim雑感

Sinatra 1.2からサポートされたSlimについての調査メモ。

  • http://slim-lang.com
  • 基本的にHamlの亜種的な立ち位置でもっとシンプル。
  • 拡張子は.slim
  • a href=foo のようにquoteされてない場合は右辺値がrubyコードとして評価されるのがcool。
  • = はデフォルトでHTML escapeされる。escapeしない場合は ==
    • inline形式では #{{hoge}} でエスケープしない。
  • #my_id.my_class はhamlと一緒。tag省略はdivも一緒。
  • 行末 \ や行頭|で複数行など、複数行のサポートが充実
  • filterは coffee: のように:を後置。hamlとは逆
posted by Png genki on Tue 5 Jul 2011 at 00:13

iotopというコマンドを使うと、プロセスごとのIO使用状況が top コマンドのような感じに把握でき、システムのボトルネックの分析に使えます。

ubuntuの場合は

   1  apt-get install iotop

で導入できます。

iftop とあわせて Have a nice admin life!

posted by Png genki on Tue 28 Jun 2011 at 16:23

普段サーバの監視にmonitを使っていますが、ubuntu nattyの環境に入れようとしたところ、monitが起動しないという問題に遭遇しました。

理由を調べてもなかなか分からなかったのですが、どうやらパッケージインストール時に最初にある設定ファイルのままhttpdの設定を行うと起動しないようです。

   1  set httpd port 2812
   2    use address localhost # <- これがあると起動しない
   3    allow localhost

posted by Png genki on Tue 28 Jun 2011 at 00:16

ubuntuでパッケージのインストールを行ったとたん、 掲題のエラーメッセージが出るようになりました。 なかなか原因が分からなかったのですが、一つの原因として、

  • 削除されたディレクトリの中で何かしらコマンドを実行すると発生する

ようです。存在するディレクトリにcdしてからもう一度確認すると、何事もなかったように元の状態に戻りました。 レアな問題のようですね。

posted by Png genki on Tue 21 Jun 2011 at 21:10

ActiveRecordを使っている場合、 YamlDb を使うと比較的簡単にデータの移行ができるようです。 script/consoleあたりから、

   1  YamlDb.dump "/path/to/data.yml" # dump
   2  YamlDb.load "/path/to/data.yml" # load

という感じに使えます。structureは作ってくれないので、migrationなどであらかじめ用意しておきます。

posted by Png genki on Mon 20 Jun 2011 at 16:07

route53 は、名前のとおり AmazonのRoute 53 を使うためのCLIユーティリティです。 これを使えば面倒な設定が簡単になります。

例) CNAMEレコードの中身を変更する

   1  route53 --zone xxx.xxx. -g --name "*.xxx.xxx." --type CNAME --values xxx-xxx.ap-xxx-1.elb.amazonaws.com.

今までスルーしてましたが、Route53を使えば ELBでZone Apexが使えるようになったので非常に面白いです。

posted by Png genki on Sun 19 Jun 2011 at 23:08

buildが必用なgemをbundlerで管理するときに、 buildオプションを指定したい場合があります。 そのような場合には、

   1  bundle config build.pg --with-pg-dir=/Library/PostgreSQL/9.0

のようにgemごとにbuildオプションを設定することが出来ます。 この設定は ~/.bundle/config に以下のように保存されます。

   1  ---
   2  BUNDLE_BUILD__PG: --with-opt-dir=/Library/PostgreSQL/9.0

posted by Png genki on Mon 13 Jun 2011 at 16:37

my.cnfの中で、clientとserver両方max_allowed_packet を適当に大きな数値に指定する。

   1  max_allowed_packet = 16M

config/database.yml でコネクション切断時に再接続する設定をする。

   1  production:
   2    reconnect: true

これで多分大丈夫。

posted by Png genki on Sat 11 Jun 2011 at 10:05

昔は mysql_retry_lost_connection というものがあったのですが、最近 (Rails-2.3以降) は config/database.yml の中で

   1  production:
   2    reconnect: true

とやるだけで、接続が切れた場合に再接続してくれるようです。 まあ、ここまで用意するならデフォルトでそうなってても良いと思うんですけどね。

posted by Png genki on Sat 11 Jun 2011 at 07:06