厚生労働省「ネットカフェ難民は5400人」の統計のウソ

近頃話題の「ネットカフェ難民」ですが、厚生労働省の調査結果が2007年8月28日に出ましたね(参考文献[1])。
そもそも「ネットカフェ難民」という用語が日本テレビが2007年1月28日放送に放送した「ネットカフェ難民漂流する貧困者たち」という番組以降広まった用語だそうです(参考文献[2])。正確にはなんていうんでしょうね? 厚生労働省の言葉を借りれば、「住居を失い寝泊まりのためにネットカフェ等を常連的に利用する『住居喪失者』」ということになります。ちょっと長いですネ。

今回の報告書によれば、その「住居を失い寝泊まりのためにネットカフェ等を常連的に利用する『住居喪失者』」が全国で推計5400人いるとのことです。ちなみに同じ厚生労働省によるホームレスの調査によると、今年、普通の(?)ホームレスは全国で18,564人いるとのこと(参考文献[3])。5400人や18564人が多いのか少ないのかよくわかりませんが。

私自身はネットカフェをオールナイトで使ったことは数回しかないので、「ネットカフェ難民」が
多いかとか、ふえているかとか、まったくわかりません。でもまあ、せっかくなので、その厚生労働省が
今回出した「住居喪失不安定就労者等の実態に関する調査報告書」というのを読んでみました。

わたしが興味があるのはなんといっても調査方法です。この厚生労働省の調査では2段階で
調査しています。まず第1段階は電話による調査。全国の24時間営
業のインターネットカフェ・漫画喫茶等の全店舗(3,246店)に電話をし、店長・店員等に電話で聞きました。
「(1)平日オールナイトする客は何人? (2)そのうち週の半分以上来る常連は何人?」。えられた有効回答数 1,173店。結果は、1店舗あたりの平均オールナイト客は18.9人/日、常連客は6.6人/日。常連の割合は34.9%でした。これを全店舗数 3,246店にかけると、全国のネットカフェマンガ喫茶のオールナイト利用者数は
60,900人/日、うち常連客数は21,400人/日です。「注:これは基本的な考え方であり具体的な計算式は
よりきめ細かなものを用いている」とのことで、単純なかけ算では数があいませんが、大略はそう言うことです。

allnight.jpg

表1. オールナイト利用者内訳(推計)

つぎに、第2段階として、146店を抜き出してオールナイト客にアンケートを行ったところ、87店舗から1,667人分の
回答が得られました。1667人のうち、「現在『住居』がなく、寝泊まりするために利用」しているのは
7.8%。全国で60,900人のうち7.8%が「現在『住居』がなく、寝泊まりするために利用」していると
仮定すると、全国では4750人になります。これは1日の値ですから、
「たまたまその日はネットカフェに来なかった」人を勘案しなくてはいけません。
たとえば週5日来るひとでたまたまその日にいなかったひとは2/5いるはずです。というのを計算にいれると、約5400人。ということになります。パチパチ。

とまあ、いっけんもっともっぽいですが、ポイントは
「この調査の生データが報告書に載っていない」ことです。じゃあ
なにが載っているのか。

(2)データの補正
第2次調査のアンケートは、全体としては、平成19年6月下旬~7月中旬に実施された
が、各店舗ごとにみると、1日~数日間程度にわたって実施された店舗が大半である。複
数日にわたって実施された場合、2日目以降は、前日までに既に回答済みのためにアン
ケート対象とならない利用者が発生する可能性があるが、このような者は、利用頻度の高
い者に多いと考えられ、得られた調査結果は、オールナイトの利用頻度の高い者の割合
が相対的に小さいものとなっている可能性がある。
このため、第2次調査のQ3(利用頻度)において「1週5日以上」又は「2週に3~4日
程度」利用すると回答した者(=常連的利用者)の全体に占める構成比が、第1次調査で
得られた、「オールナイト利用者のうち週の半分以上利用する常連者概数」の「オールナ
イト利用者概数」に占める比率に合致するよう、第2次調査によって得られた各調
査サンプルに対して、立地区分ことの補正用ウェイトを乗じて、データを補正した。
第2節以下で取り扱う数字は、すべてこれらの補正後のデータである。

住居喪失不安定就労者等の実態に関する調査報告書 p.6

要するに補正後のデータしか載っていない。この補正ってのは何のためにしているかと言うと、
ネットカフェでオールナイト客に対して行った調査は数日間に渡って行ったところもあるため、
常連客は2日目以降解答しなかった可能性がある。つまり、常連客の割合が少なくなっている可能性が
ある。だーかーらー、電話で調査した調査1の比率で常連客の割合を「補正」しました、ってこと。

生データがないので極端な話を想像してしまうのですが、例えば、1667人の回答者のうち、
週5日以上来ると答えたひとは25人でした。週3-4日来ると解答したひとは33人でした。割合にすると、
それぞれ1.5%と2.0%です。あわせて3.5%。でーもー、これって少なめに出てる可能性あるよねー、だから、
調査1で出た「常連客の割合は34.9%」っていうのにあわせてー、10倍にしちゃう! とかやってる可能性も
否定出来ない。常連客の割合を10倍にしちゃうと、常連客中にしめる「現在『住居』がなく、寝泊まり
するために利用」の割合は大きいので、そっちもふえちゃいますね。

untitled2.png

図1. 「補正」のしくみ (生データの数値は想像)

まあこの「xx倍」が統計的に妥当な数値なら問題ありませんね。って妥当な数値がいくらなのか、
統計の抗議で居眠りしていたわたしにはわかりませんけど。

というわけで、「常連客の割合は34.9%」っていうのにあわせてー、xx倍にしちゃう! の
xx倍の部分がわからないと、ネットカフェ難民5400人の真偽は不明ですね。生データみせてー > 厚生労働省

参考文献

  1. 日雇い派遣労働者の実態に関する調査及び住居喪失不安定就労者の実態に関する調査の概要
  2. 愛・蔵太の少し調べて書く日記
  3. ホームレスの実態に関する全国調査検討会(第4回)

チョコチップ入りパウンドケーキ chocolate chip pound cake

チョコレートチップ入りのパウンドケーキを焼いてみました。これはまた他の学童クラブへ差し入れする分。だんだんお菓子屋みたいになってきました ^^;

pound cake

チョコチップパウンドケーキ

ブラウンのマルチクイックで普通の板チョコをチョコチップに砕いて使いました。今回はいつもよりちょっと全体的に増量しようとおもって、型1本あたり生地の量を30%増量したら、いつもの時間やいただけではナマヤケでした….がくっ。しかも、オーヴンから出して、かなり冷えて生地がへこむまで気がつかなかった…がくっ。しょうがないのでその状態から追加で30分ほど焼いてみた ^^;; いちおう食えるかも…(食えないかも)。

どこかにもって行く用事の時は、いつもどおりやるのが正解だなあ… ^^;;

今日はパウンドケーキのあと家でたべる用の「ショートブレッド」を焼こうと思ったのだが、つかれたのでやめ ^^;; またあしたかあさってにしよ…

….

さくらのレンタルサーバでRuby on Railsをうごかしてみた…らかなり遅いかも…

その1
その2
さくらのレンタルサーバにRuby on Railsをインストールして、
動作確認をするところまでやりました。今回は簡単なアプリケーションを作って、どれぐらいの速度で
うごくのか確かめてみたいと思います。題材は「ToDoリスト」です。

その2の続きで、$HOME/Railsの下にTodoというアプリケーションを作ります。

% cd ~/Rails
% rails Todo

mySQLで「todos」という名前のテーブルを作っておきます。sqlサーバー、ユーザー名、パスワード、DB名はそれぞれ自分のものにかえてください。

% mysql --host=mysqlhoge.db.sakura.ne.jp --user=xxxx --password=yyyy xxxx
...
mysql> create table todos (
  -> id int primary key not null auto_increment,
  -> desctiption varchar(100) not null,
  -> done tinyint not null default 0);
Query OK, 0 rows affected (0.03 sec)

mysql> desc todos;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      |      | PRI | NULL    | auto_increment |
| desctiption | varchar(100) |      |     |         |                |
| done        | tinyint(4)   |      |     | 0       |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

テーブルが出来たら、各種設定です。

  1. config/environment.rbの設定
  2. public/.htaccessの設定
  3. tmpとlogのパーミッション
  4. config/database.ymlの設定

(1)(2)(3)はその2に詳しいので、そちらをご参照の上、設定してください。(4)は、DBの設定です。
development:とtest:とproduction:の3セクションがありますが、今回はdevelopment:を下記のように
設定します。

development:
adapter: mysql
database: xxxx
username: xxxx
password: yyyy
host: mysqlxx.db.sakura.ne.jp

次にアプリケーションのモデルとコントローラーを生成します。

% cd ~/Rails/Todo
% ruby script/generate model Todo
% ruby script/generate controller todo

詳しい説明は省きますが ^^;; app/controllers/todo_controller.rb を以下のようなかんじにします。

% cat app/controllers/todo_controller.rb
class TodoController < ApplicationController
 model :todo
 def index
   redirect_to :action => :list
 end
 def list
   @items = Todo.find_all
   @newitem = Todo.new
 end
 def edit
  @edititem = Todo.find(params[:id])
 end
 def update
  item = Todo.find(params[:id])
  item.update_attributes(params[:todo])
  if item.save
        redirect_to(:action => "list")
  else
        render_text "Couldn't update an item"
  end
 end
 def add_item
  item = Todo.new(params[:todo])
  if item.save
        redirect_to(:action => "list")
  else
        render_text "Couldn't add new item"
  end
 end
end

app/views/todo/edit.rhtmlを下記のように。

% cat app/views/todo/edit.rhtml
<html>
  <head>
    <title>Edit an item - My todo list</title>
  </head>
 
  <body>
  Edit the item:<br>
  <% form_for :todo, @edititem, :url => { :action => :update , :id => @edititem } do |f| %>
    <%= f.check_box :done %>
    <%= f.text_field :description %>
    <%= submit_tag 'Update' %>
  <% end %>
  </body>
</html>

app/views/todo/list.rhtmlを下記のように。

% cat app/views/todo/list.rhtml
<html>
  <head>
    <title>My todo list</title>
  </head>
 
  <body>
    <% @items.each do |i| %>
    <%= check_box_tag("i", i.done, (i.done == 1)) %>
    <%= i.description %>
    <%= link_to("Edit", :action => "edit", :id => i.id) %>
    <br />
    <% end %>
  <hr>                                                   
  <% form_for :todo, @newitem, :url => { :action => :add_item } do |f| %>
    New item:
    <%= f.text_field :description %>
    <%= submit_tag 'Add item' %>
  <% end %>
  </body>
</html>

config/routes.rbに下の2行を追加。

map.connect '', :controller => "todo"
map.connect 'list', :controller => "todo", :action => 'list'

webで見られるところから、publicにシンボリックリンクを張る。

% ln -s /home/xxxx/Rails/Todo/public ~/www/todo

そんなこんなで完成。「My todo list」でうごいています。みてみるとわかりますが、かなり遅い。リロードに3秒ぐらいかかりますね。さくらのレンタルサーバーはfcgiが使えなくって、cgiなのが原因みたい。ちょっとこの遅さではツカエナイカモ…

参考文献

  1. テスト
  2. さくらのレンタルサーバーにRuby on Railsをインストールする方法
  3. さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2
  4. Rail’s wiki

2030年、CPUの速度は現在より10万倍速くなる?

わけあって、ドライストーンスコアのリストから、適当に抜き出して、
CPUの発売年度(これも適当ですが)でプロットしてみました。
PC系の1チップCPUだけです。グラフはこんな感じ。y軸はドライストーンスコア、
x軸はCPUの発表年です。

futsujiku.jpg

図1. CPUの速度と発売年の関係(普通軸)

グラフだけでもとのデータがなくて申し訳ないんですが、
いまそのデータが手元にない。あとで追加しておきます。
まあ、これだとよくわからないんだけど、対数軸にしてみると、

taisuujiku.jpg

図2. CPUの速度と発売年の関係(対数軸)

おお。見事に直線っぽい。そこで近似線を重ねてみた。

kinji.jpg

図3. CPUの速度と発売年の関係(対数軸)近似線付き

グラフ中に書いてありますが、近似の直線によると、おおむね1.6年で2倍の性能になっているようです。
ちなみにムーアの法則は18〜24ヶ月で集積度が2倍になるというやつ。1.6年=19.2ヶ月ですから、おおむね
適合しているかな。おもしろいのは1970年付近で1になること。1970年ってのはなんかすべての始まりの
年なんですかね?

まあいい加減なデータなのでアレなんですが、もし今後もこのペースで性能が向上するとすると、
図3によれば、2030年にはドライストーンのスコアが1兆ドライストーンになります。これはすごい。
グラフの最後のプロットの点が1千万ドライストーンですが、これはG5の2.0GHzです。つまり、
2030年のCPUは、G5 2.0GHzの10万倍の速さになる。かもしれない。

10万倍といわれてもイマイチピンときませんね。でも2030年ってもうすぐそこです。
というわけで、G5の10万倍速いCPUができたら一体どういうことが出来るのか、
または一体どういうことを
やりたいか、いまのうちから考えといたほうがいいですね。みなさんはなにをやってみたいですか?

参考文献

  1. dhrystone
  2. Dhrystone2.1 ベンチマークの結果
  3. Intel社が開発したマイクロプロセッサーの技術的スペックの歴史的変遷(詳細版)

Firefoxでしたまでスクロールすると自動でページをめくってもらえるスクリプト(AutoPagerize)

2008/12/23追記:現在autopagerizeがうまく動かないようです。詳しい対処法は
autopagerizeが動かなくなった時の対処法をご覧ください。


今日は面白いものを教えてもらったのでメモっておきます。

たとえばGoogleで検索したとき、デフォルトの1ページ表示数10件のなかに希望のものがなかった場合、
次のページに簡単にいけたらいいなー、とおもいませんか? わたしはsite:をつかって検索したとき、
なにがインデックスされてるのかざっと見たいだけなのに、いちいちポチポチ「次へ」をおすのが
めんどくさいなあ、とおもってました。そこでこれだ! AutoPagerize。一番下までスクロールすると、
自動で次のページがつながって表示されます。言葉で説明するとよくわからんが、図で見るとこんなかんじ。

autopagerize.jpg

図1. GoogleにてAutoPagerize動作中

まんなかの線から下が勝手につながった「次」のページです。便利かも。Googleだけじゃなくて、

hatena.jpg

図2. はてな注目のエントリーにてAutoPagerize動作中

flickr.jpg

図3. FlickrにてAutoPagerize動作中

というように、いろいろなサイトに対応しています。詳しくはAutoPagerizeのSITEINFOデータのページをみればわかる。というわけで、インストールしよう。

AutoPagerizeはGreasemonkeyのスクリプトなので、Firefoxじゃないとだめです。またGreasemonkeyの
アドオンをいれていないひとは、まずGreasemonkeyをいれましょう。Firefox Add-ons – Greasemonkey
行って、緑の「インストール」ボタンを押し、そのあと出てくるダイアログの「今すぐインストール」を
押します。

greasemonkey.jpg

図4. Greasemonkeyのインストール

インストールが終わるとFirefoxの再起動を求められますから、再起動しましょう。再起動して
立ち上がってくると、右下におサルさんのアイコンが出るはず。

monkey.jpg

図5. おさるのアイコンほいさっさ

この状態になったらつぎはAutoPagerizeのインストールです。AutoPagerizeのページにいって、
わかりにくいけど右側の黒い「Install this script」を押し、出てくるダイアログで
「インストール」を押します。

autopagerize-install.jpg

図6. AutoPagerizeのインストール

これにてインストール完了。これであなたもAutoPagerizestだ! (なにそれ)。AutoPagerizestのキミなら、2ちゃんねるをこえる日本最大の釣り堀との呼び声もたかいあのサイトも! ↓

komachi.jpg

図7. 発言小町でAutoPagerize中

おおっ。結構便利。かも? みなさんもごかつようあれー。

参考文献

  1. Firefox Add-ons – Greasemonkey
  2. AutoPagerize
  3. AutoPagerizeのSITEINFOのページ

さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2

前回、さくらのレンタルサーバにRuby on Railsをインストールする方法でrubygemsとRuby on Railsのインストールができたので、こんどは試しに動かしてみます。

まずはRailsのアプリケーションのディレクトリを作成。場所はどこでもいいですが、webでみられないところにしてください。さくらのレンタルサーバーでいうと ~/www 以外ですね。のちほど、公開用のディレクトリだけ、~/www以下からシンボリックリンクを張ります。ここでは~/Rails以下にRailsのアプリケーションをまとめておくことにして、今回のテスト用のアプリケーション「test」(そのまま!)をその下におきます。

% cd
% mkdir Rails
% cd Rails
% rails test
      create  
      create  app/controllers
...(略)...
      create  log/development.log
      create  log/test.log
% ls -l
total 2
drwxr-xr-x  14 narak  users  512 Aug 22 13:03 test/
% cd test
% ls -l
total 34
-rw-r--r--  1 narak  users  8001 Aug 22 13:03 README
-rw-r--r--  1 narak  users   307 Aug 22 13:03 Rakefile
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 app/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 components/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 config/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 db/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 doc/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 lib/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 log/
drwxr-xr-x  5 narak  users   512 Aug 22 13:03 public/
drwxr-xr-x  4 narak  users   512 Aug 22 13:03 script/
drwxr-xr-x  7 narak  users   512 Aug 22 13:03 test/
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 tmp/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 vendor/

できた。できたら、いくつか設定を変更します。

まずはディレクトリとファイルのパーミッション関係。test/log と test/tmp はwebサーバー経由で起動されたrubyに書き込み権限がないといけません。したがって、o+wにしちゃう。-Rオプションを忘れずに。

% chmod -R o+w log tmp
% ls -l
total 34
-rw-r--r--  1 narak  users  8001 Aug 22 13:03 README
-rw-r--r--  1 narak  users   307 Aug 22 13:03 Rakefile
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 app/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 components/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 config/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 db/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 doc/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 lib/
drwxr-xrwx  2 narak  users   512 Aug 22 13:03 log/
drwxr-xr-x  5 narak  users   512 Aug 22 13:03 public/
drwxr-xr-x  4 narak  users   512 Aug 22 13:03 script/
drwxr-xr-x  7 narak  users   512 Aug 22 13:03 test/
drwxr-xrwx  6 narak  users   512 Aug 22 13:03 tmp/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 vendor/

次は環境ファイルの設定。場所はtest/configの下の「environment.rb」です。ロードパスを追加するのと、環境変数GEM_HOMEの設定を追加。diffをとるとこんなかんじ。3行追加ですからviで編集するか、下のようなpatchをあてるか、どうにかしてください。もちろん「/home/narak」のところはご自分のホームディレクトリに変更してくださいね。

% diff -u config/environment.rb.org config/environment.rb
--- config/environment.rb.org   Wed Aug 22 13:20:58 2007
+++ config/environment.rb       Wed Aug 22 13:20:47 2007
@@ -1,4 +1,8 @@
 # Be sure to restart your web server when you modify this file.
+$LOAD_PATH.push("/home/narak/lib/ruby/site_ruby/1.8")
+$LOAD_PATH.push("/home/narak/lib/ruby")
+
+ENV['GEM_HOME'] ||= '/home/narak/lib/ruby/gem'
 
 # Uncomment below to force Rails into production mode when 
 # you don't control web/app server and can't set it the proper way

上記は、要するにインストールのところで~/.cshrcに設定した環境変数「RUBYLIB」と「GEM_HOME」ですね。Railsのアプリケーションがwebサーバ経由で動くときは、当然ユーザとは違うuidでうごきますから、
~/.cshrcで環境変数設定しても全然関係ない。だからこのconfig/environment.rbにかかなくちゃいけないってわけ。実は前の記事を書いたあと、すぐこの記事を書こうと思ったのだが、これでハマって時間がかかってしまった。
だいぶコードを読んだので、おかげさまでrubygemsに詳しくなりました ^^; GEM_HOMEめー。

config/environment.rbが終わったら次はpublic/.htaccessです。このpublicディレクトリが公開用のディレクトリになります。さくらのレンタルサーバーではOptionsは無効なので、これをコメントアウト
しておかないとエラーになっちゃいます。AddHandlerもいらないのでコメントアウト。

% diff -u public/.htaccess.org public/.htaccess
--- public/.htaccess.org        Wed Aug 22 13:35:07 2007
+++ public/.htaccess    Wed Aug 22 13:34:26 2007
@@ -1,7 +1,7 @@
 # General Apache options
-AddHandler fastcgi-script .fcgi
-AddHandler cgi-script .cgi
-Options +FollowSymLinks +ExecCGI
+#AddHandler fastcgi-script .fcgi
+#AddHandler cgi-script .cgi
+#Options +FollowSymLinks +ExecCGI
 
 # If you don't want Rails to look in certain directories,
 # use the following rewrite rules so that Apache won't rewrite certain requests

さー、これでいよいよ準備が整いました。webからみられる場所からtest/publicに向けてシンボリックリンクを張ります。今回は~/wwwの直下に「test」という名前でシンボリックリンクを作りました。こんなかんじ。

% ln -s $HOME/Rails/test/public $HOME/www/test

これで、http://narak.sakura.ne.jp/test/にアクセスすると下のような「Welcome aboard」画面が出ます。

welcome-aboard2.jpg

図1. Welcome abord

続いて「About your application’s environment」をクリックしてみます。

for-security-purpose.jpg

図2. About your application’s environment

図2のように「For security purposes, this information is only available to local requests.」と出ればRailsは正常動作しています。とりあえずパチパチ!

トラブルシューティング

上記の図1、図2のようにならなかった場合ですが、まず図1の画面が出ず、図3のように
「Internal Server Error」が出る場合。これはpublic/.htaccessにエラーがあると思われます。
ちゃんと「Options」をコメントアウトしたかどうかチェックしましょう。

internal-server-error.jpg

図3. Internal Server Error

次に図1の画面は出るのだが、図2のところで「Application error Rails application failed to start properly”」と出る場合(図4)。この場合は、config/environment.rbでENV[‘GEM_HOME’]がセットされていないと思われます。ちゃんとENV[‘GEM_HOME’](と$LOAD_PATH)の行を追加したかチェックしましょう。

application-error.jpg

図4. Application error

というわけで、いちおう動作できました。次回はデータベースの設定をして、簡単なアプリケーションでも作ってみましょう。さくらのレンタルサーバでRuby on Railsをうごかしてみたら…ヘ続く。

参考文献

  1. Ruby on Rails
  2. RubyGems Manuals
  3. Application Error – Rails application failed to start properly, Hoopla!, 2006
  4. RubyOnRails(さくらサーバ編)
  5. さくらのレンタルサーバにRuby on Railsをインストールする方法(その1), がんちゃんのブログ, 2007

さくらのレンタルサーバにRuby on Railsをインストールする方法


2008.5.10追記

rubygemsもRailsも新しいバージョンが出ており、インストールの手順が多少かわりましたので、それにもとづいた記事をかいております。アップデート版さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法をご覧ください。


6月にあった人工知能学会の全国大会でもまつもとさんが招待講演をしたりして、なにげにもりあがっているRuby on Railsですが、わたしもさくらのレンタルサーバでRuby on Railsしてみようとおもい、インストールしてみました。そのための手順をまとめておきます。インストールに当たっては参考文献[1]と[2]を参考にしました。

まずはrubyがはいっていることの確認。

% ruby --version
ruby 1.8.5 (2006-08-25) [i386-freebsd6]

もんだいありませんね。rubyを新規にインストールしているひとが多いようですが、rubyをインストールし直す必要は「ありません」。既に入っているものを利用可能です。ただし「environment.rb」というファイルに環境変数「GEM_HOME」を設定する必要があります。詳しくは

続編「さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2」をあわせてごらんください。

次にrubygemsをインストールします。rubygemsはrubyのパッケージ管理システムみたいなやつです。むしろgemsはrailsのインストール手段として有名になってきたらしい。なるほど。で、インストール方法ですが、標準のインストール先は/usr/localのようですが、もちろんさくらのレンタルサーバーではそんなところには入れられないので、$HOME(=/home/hogehoge)に入れることにします。$HOME/lib/ruby/gemと$HOME/binにはいります。ディレクトリがない場合は作っておきます。

% mkdir ~/bin
% mkdir ~/lib
% mkdir ~/lib/ruby
% mkdir ~/lib/ruby/gem

/usr/localじゃなくて$HOMEを見るように環境変数を設定しておきます。~/.cshrcに以下の行を追加。

setenv RUBYLIB $HOME/lib/ruby/site_ruby/1.8:$HOME/lib/ruby
setenv GEM_HOME $HOME/lib/ruby/gem

.cshrcをセーブしたら% source ~/.cshrcなどとして環境変数をセットしておきます。

rubygemsをダウンロードして展開します。2007年8月現在の最新版は0.9.4です。展開先は~/srcの下あたりがいいでしょう。なかったらこの際だから作っておきましょう。

% mkdir ~/src
% cd ~/src
% ftp http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
% tar xvzf rubygems-0.9.4.tgz

gemsをインストールします。setup.rbを実行するとconfig, setup, installの順で勝手に実行されるのですが、下で述べる理由で今回は1ステップづつ手で実行します。まずはconfigです。インストール先は$HOMEなのでその旨指定します。

% cd rubygems-0.9.4
% ruby setup.rb config --prefix=$HOME

このあとはsetupしてinstallするのですが、このままだとうまくいきません。あまり追求していませんが、おそらくrubygemsのバグでgemsが入るlibのパスが、configのprefixで指定したやつにならないのね。しょうがないので修正します。configsするとできる「.config」というファイルをviかなんかで以下のように修正するか、sedでもかけるか、patchするかなんかして修正してください。6行ほど修正。

% diff -u .config.org .config
--- .config.org Sun Aug 19 19:50:15 2007
+++ .config     Sun Aug 19 19:51:40 2007
@@ -5,12 +5,12 @@
 mandir=$prefix/man
 sysconfdir=$prefix/etc
 localstatedir=$prefix/var
-libruby=/usr/local/lib/ruby
-librubyver=/usr/local/lib/ruby/1.8
-librubyverarch=/usr/local/lib/ruby/1.8/i386-freebsd6
-siteruby=/usr/local/lib/ruby/site_ruby
-siterubyver=/usr/local/lib/ruby/site_ruby/1.8
-siterubyverarch=/usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6
+libruby=$libdir/ruby
+librubyver=$libdir/ruby/1.8
+librubyverarch=$libdir/ruby/1.8/i386-freebsd6
+siteruby=$libdir/ruby/site_ruby
+siterubyver=$libdir/ruby/site_ruby/1.8
+siterubyverarch=$libdir/ruby/site_ruby/1.8/i386-freebsd6
 rbdir=$siterubyver
 sodir=$siterubyverarch
 rubypath=/usr/local/bin/ruby18

「.config」を修正したら、setupしてinstallです。

% ruby setup.rb setup
% ruby setup.rb install

これでgemsがインストールできたはず。出来たら確認しよう。出来たばかりだとコマンドがコマンドサーチパス内にはいっててもみつからないので、実行前にrehashします。

% rehash
% gem -v
0.9.4

オッケーですね。ではいよいよRailsをインストールしましょう。以下のようにします。

% gem install rails --include-dependencies

1回めはパッケージの情報がとれなかったみたいで失敗しました。2回めはオッケー。–include-dependenciesオプションをつけると、Railsのために必要なパッケージもインストールしてくれます。成功したら$HOME/lib/ruby/gem/bin/のしたにrailsとrakeというコマンドが入っています。$HOME/binあたりへシンボリックリンクを張ってもいいけど、面倒なのでまるごとコマンドサーチパスに入れておきます。~/.cshrcを編集して$pathに$HOME/lib/ruby/gem/bin を追加。

set path = (/sbin…(略)…/usr/X11R6/bin $HOME/bin $HOME/lib/ruby/gem/bin)

出来たらsourceしてrehashしてrailsの確認。

% source ~/.cshrc
% rehash
% rails -v
Rails 1.2.3

できたー。けっこう簡単。かな?

続編「さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2」では、Railsの動作確認をします。つづく。

参考文献

  1. [Ruby]さくらにrubygems0.9.4インストール, qw/Perる PHP 日誌/, 2007
  2. [Ruby]さくらにRailsインストール, qw/Perる PHP 日誌/, 2007
  3. シリーズ パッケージマネジメント, rubyist magazine, 2006
  4. ruby on rails

Gateaux quatre quarts –カトルカール(パウンドケーキ)のレシピ

月曜日に学童クラブに差し入れるために、またもやカトルカールを焼きました。子供が50〜60人ぐらいいるので、3本(300g x4)じゃあ足りなさそう。明日また2,3本やきます。

quatre quarts

写真1. カトルカール

カトルカール(quatre quarts)というのはフランス語で4/4(4分の4)という意味で、小麦粉、バター、卵、砂糖を同じ量だけ使って作るのでこの名前がついています。英語で言う「パウンドケーキ」もおなじものです。以前書いたレシピはチーズ入りだったので、なにも入ってないプレーンなカトルカールのレシピを書き留めておきます。

材料(18cmの型ひとつぶん程度)

  • 小麦粉 100g
  • バター 100g
  • 砂糖 100g (50gづつ2つにわけておく)
  • たまご 2個 100g程度(Mサイズの卵は1個で約55gぐらいです)

レシピ

  1. 小麦粉はふるっておく。バターとたまごは室温に戻しておく。型に紙をしいておく。
  2. バターを泡立て器でたてる。硬いとできないので室温に戻しておく。季節が寒いときは湯煎しながらするとよい。ここでよくまぜるとふくらみに影響する。気がする。レンジでチンするのはやめましょう。溶けます。
  3. じゅうぶんたてたら、砂糖をすこしづつ入れてよくすり混ぜる。合計で全量の半分の砂糖をここで入れる。
  4. 砂糖を加えたバターに、たまごの黄身のみをひとつづつ入れさらにまぜる。白身はべつにわけておく。好みでバニラエッセンスをくわえる。
  5. ふるったこむぎこをすこしづついれて、へらでまぜる。この段階では完全に混ざっていなくてもよい。
  6. 卵白でメレンゲを作る。メレンゲを作るコツは、「きれいな」道具を使うことです。油分が付着しているときれいにメレンゲになりません。ボウルも泡立器もよくあらって、水分をふいたものを使いましょう。角が立つ程度にメレンゲができたら、のこっている砂糖を全部入れてよくまぜる。
  7. バターと砂糖と卵と小麦粉を混ぜたものにめれんげを1/3いれてよくまぜる。よくまざってなじませたらのこりのメレンゲをいれる。しろいものが見えなくなる程度までまぜる。
  8. 紙をしいた型に生地を流しいれて、まんなかをスプーンなどでへこませる。170度で50分程度やく。竹串などをさして、生の生地がつかなくなれば焼き上がり。

焼き上がったら型に入れたまま冷まします。焼いた直後より翌日ぐらいのほうがおいしいです。型にもよりますが、使う材料が各100gだと18cmの型にはちょっと少なめかもしれません。生地が少なめでも、出来上がりの高さが低くなるだけで特に問題はありませんが、一気にでかいのを焼いてしまいたいひとは18cmの型で各材料の量を130gx4ぐらいにしてもOKだとおもいます。

「場所」? — bloggerの日本語について

前から気にはなっていたのだが、そのままになっていました。blogger.comのブログのエントリの下のところにあるポストの時刻なんかが表示されているところ。

basho

図1.「場所」?

場所ってなんだ? ちゃんと設定したらポストした場所がでるのかなあ。東京とか、名古屋とか、パリとか? ポストするときに場所入れるところなんかあったかな? などといろいろ悩んでいたのだが実は英語で表示させてみると…

at

図2. 「at」

「場所」は「at」の翻訳だった! 驚きの結果 ^^;; このブログも「at」になおしておいた。この位置で日本語の翻訳は思いつかないので…^^;; 他の西洋の言語だとこれがかえられると便利なんでしょうねえ。日本語は構造がちがうから無理だ。

今日のお昼ご飯はパスタ

面倒だったので簡単なものです。フツーの料理。なんていうんだろ。トマトのパスタ? 面倒なのでトマトソースにお湯をくわえて、そこにパスタを入れてゆでてしまいましたが、やっぱりパスタは別にゆでたほうがうまい気がする。豆のパスタとかだったらいっしょに煮るのが普通だけど。

Lunch

写真1. 本日のヒルメシ

ここで豆みたいにみえるのは知人の家で去年とれたオリーブです。オリーブは種類によるけど隔年性がつよいらしく、昨年はあまりとれませんでした。ということは、ことしはいっぱいとれるじゃないかなー? たのしみです。

ことしはうちでタイ産の「バジルシード」をまいて「メーンラック(=レモンバジル)」を育てているので、適当にむしって入れてみました。メーンラックをトマトソースに入れたのは初めてだったけど、なかなかうまいです。かなりレモンの香りが強烈でいいかんじ。イタリアでこういうの食べた記憶はないけど、ロンドンの科学博物館で食った昼飯のパスタを思い出した。それはトマトソースじゃなくてオイル系だったけどレモンの香りがしてけっこううまかった。あんまり感心たので、現地のスーパーで探して「レモンオイル」まで買ってきたのだ。あんまりつかってないけど。

いっしょにうつっている水はサンベネデットのフリザンテです。ペリエでもサンペッレグレーノでもいいんだけど、高いのよね。サンベネデットは安くてうまいからいいですね。岡山だと岡山駅の地下にある輸入食品屋にうってます。ボトル177円。