2009-02-04

あれ?どっかで見たことのある人が...

いつものごとくボルダリングに行ってきたわけですが、ふとあるグループに目がいった。

5-6人ぐらいのグループなんだけど、背の小さいマッシュルームカットの人がどこかで見たことあるなー、とずっと思ってたんだけど、どうやら、ビックスモールンチロさんだったようです。どうやら、ケイダッシュ*1ボルダリング部らしい。他の芸人さんは顔でわからんかったけど orz

まぁ、特にオチもなくそんな話。

今日は紺を1個落とした。うれしい。

爆笑解禁 ケイダッシュライブ Volume.1 [DVD]
マーベラス エンターテイメント (2005-10-28)
売り上げランキング: 44131

*1 ビックスモールンらが所属する事務所


2009-02-05

Rails 2.3のアプリケーションテンプレート機能が便利

Rails 2.3.0 RC1がリリースされているようなのでいじっている。インスコは簡単。Rackに依存するようになったのでそれは最初にいれておく。

$ gem install rack
$ gem install rails --source http://gems.rubyonrails.org

で、タイトルのアプリケーションテンプレートっていうのは何かというと、Railsでプロジェクトを作った直後にやる設定とかgemやプラグインのインスコなどをテンプレートとして読み込めるようにしたもの。わかりづらいので具体例。

やりたいこと:

  • restful-authenticationプラグインをインスコ
  • mislav-will_paginateをgemとしてインスコ
  • rubyist-aasmをgemとしてインスコ
  • authenticatedをgenerate
  • rake db:migrate
  • welcomeコントローラをgenerate
  • map.rootをwelcomeコントローラに
  • public/index.htmlを削除
  • gitに投入

わりと一般的なアプリケーションでまずやるタスクではある。これをテンプレート化すると以下のようになる。

#
plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
#
gem 'mislav-will_paginate', :lib => 'will_paginate', :source => 'http://gems.github.com'
gem 'rubyist-aasm', :lib => 'aasm', :source => 'http://gems.github.com'
rake("gems:install")
#
generate("authenticated", "--include-activation", "--aasm", "user", "session")
rake("db:migrate")
#
generate(:controller, 'welcome', 'index')
route "map.root :controller => 'welcome'"
run "rm public/index.html"
#
file ".gitignore", <<-CODE
.DS_Store
log/*.log
tmp/**/*
db/*.sqlite3
doc/api
doc/app
CODE
run "touch log/.gitignore"
run "touch tmp/.gitignore"
git :init
git :add => "."
git :commit => "-a -m 'Initial commit'"

これをファイルとして保存する。template.rbとでもしておこうか。これを適用したプロジェクトを作るには、-mオプションでそのファイルをしていしてやればいい。

$ rails hoge -m template.rb

ファイル名の部分にはURLも使える。

$ rails hoge -m http://hoshinanonikki.net/tmp/20090205/template.txt

すでに作成済みのプロジェクトに適用するには、rakeにて。

$ rake rails:template LOCATION=~/template.rb

と、こんな感じ。他にもインタラクティブにオプション決めたりすることもできるっぽい。細かい関数の使い方とかはこことかまとまってる。

テンプレートでは難しそうなこともあるけど、アプリケーションのタイプごとにいくつかテンプレート作っておけば、思い立ったときすぐに、実作業に入れる手軽さがいいんでないかい。

Tags: Rails

2009-02-16

Debian lennyがリリースされたのでアップデート

2/14にDebian lennyがリリースされたようです。

最近はほとんどUbuntu使ってるんですが、Debianも2台 + 仮想マシン3台ほどあるのでアップデートしますた。/etc/apt/sources.listのetchをlennyに書き換えて、apt-get dist-upgrade。

Apacheでリバースプロキシぐらいしかやってなかった鯖をとりあえずアップデートしてみて、それほど問題がでなかった*1

Xen鯖のほうも更新してみる。再起動。立ち上がらない(泣。鯖機なので普段はディスプレイもキーボードもつなげていない。エッチラオッチラとつないで、画面を見てみる。Xenまわりでエラーが出て、再起動ループに陥ってる模様。1つ古いカーネルで起動できた。で、ポチポチと原因を探ると、どうやらXen自体がアップデートされなかった模様。lennyのXen 3.2を入れて再起動したところ今度はまともに起動できた。

で、仮想マシンのアップデート。再起動してxm consoleしたら、

PTY allocation request failed on channel 0

とかいわれてつなげない。sshも固まる。どうやらDomainUにudevをいれなきゃいけないっぽいんだけど、つながらなくちゃいれられない。で、調べたところ、DomainUの設定ファイルに、

extra='xencons=tty'

とか書いておけばいいらしいという情報を得た。xm consoleはとりあえずつながった。だがこれだけでは不便なのでsshでもつなげるようにする。まず、DomainUでapt-get install udevする。Xenはhvc0という仮想端末を使うようなのでこれを設定する。/etc/inittabに

h0:12345:respawn:/sbin/getty 38400 hvc0
x0:12345:respawn:/sbin/getty 38400 xvc0

と書いておく。xvc0は以前のXenの設定らしくいらないっぽいけど、一応書いてみる。で、/etc/securettyにhvc0とxvc0があることを確認する。Debianではコメント付きで追加してあった。で、さっきのextra='xencons=tty'はもういらないので消す。親機を再起動。無事、xm consoleでもsshでもつながるようになった。

で、これで終わりかと思って、あと二つ仮想マシンを更新しようと思ったら、つながらない。どうも、その二つが動いていたXenのカーネルを削除してしまったらしい。ヒャー!

もうめんどくさくなったので、入っていたRailsアプリだけ取り出して、作り直そうとか思ってディスクイメージをmountしようと思ったら、

# mount -o loop /home/xen/domains/hoge/disk.img /mnt
mount: could not find any free loop device

とかいいやがる。デフォで8つしかloop mountできない。仮想マシンもloop mountしてるから足りないとか。ムキー!

# /etc/modules
loop max_loop=255

と書いた。いえーい。

で、アプリを救出して、仮想マシンの再構築、必要なもののインストール、アプリの再配備...そんな感じでほぼ一日費やしたとさ。おしまい。

Tags: Xen Debian

*1 Apacheの設定上書きされたりとかあったけど。


2009-02-18

Apacheの設定やっててふと思い出した

昔、常駐先のWebアプリで転送量を減らすためにタブ文字とか改行とか削除してHTMLのサイズを減らすという話があった。てか、mod_gzipとかmod_deflateとか使った方がよくね?といったところ、

そんなどこの誰が作ったかわからんものを使えるか!

と、却下された。

その現場は1クールでやめた。

あ、これ、書いてたな。もう、5年も前のことか。

Tags: ネタ Apache

最新

2009年
2月
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