history

青木日記 RSS

<前の日 | この月 | 次の日>

2003-10-26

Apache 入れ換え

急に i.loveruby.net にアクセスできなくなったから何かと思ったら、 Apache が止まっていた。わかってみると非常なアホな理由であった。

  • Apache を Debian のから独自ビルドにしようと思ってコンパイルした。
  • それを /usr/local 以下に入れた。
  • httpd.conf をそれに合わせて書き換えた。
  • 新しい Apache を起動しようかと思ったが、もうちょっと人の少ない時間帯にやることにした。
  • そのまま忘れた。
  • ログのローテーションのときに SIGHUP を食らって止まった。
  • しかし httpd.conf が既に新しい Apache に合わせて変更されていたためライブラリが合わず、起動できないままになる

重要デーモンが止まったらメールしてくれるような仕掛けが必要だなあ……。

Ripper 0.1 (2)

  • コンパイルが通った。
  • SEGV せずにパースできるようになった。

あとはスキャナイベントをディスパッチしまくればなんとか復帰できそうだ。

……それがいちばん大変なんだけどね。

Ripper 0.1 (3)

SEGV しないなんて大嘘じゃん。 ID だの NODE* だのが露出しまくり (笑)

信じらんない……

あのさー、Rubyで

m = 9
def m(a) a end
p(m +1)

def m(a) a end
p(m +1)

の結果が違うって知ってた?

多少 Ripper 0.1っぽいもの

なんとなく動いているような気がする。 今日は脳を酷使して疲れたからもう寝よう。 見てみたい人は

% cvs -d :pserver:anonymous@cvs.loveruby.net:/src co ripper

でどうぞ。 バグはたくさんありすぎるのであんまり真面目に報告しなくていいです。

前回は地道にスキャナイベントを全部手で書いてたんだけど、 今回はオートマティックなアイデアが浮かんでしまったので手ぇ抜いた。 一言で言うならば、yylex() する前と後では入力バッファにスペース+ トークン一個分の文字列が残ってるに違いない作戦。

ちなみに -DRIPPER 付けずにコンパイルすると そのまま ruby の parse.y になります、 そのはずです、そうなるといいね (謎の三段活用)

本日のツッコミ(全4件) [ツッコミを入れる]
向井 (2003-10-27 11:28)

1.6.8 では同じ結果(1を表示)でした。でも1.6.8では、前者を p(m + 1) にす
ると、10を表示してくれます。そっちの方が居心地悪いので、最新はましになっ
たような。
ってそれで気付いたんですが、Rubyの入門書によくある a + b と a +b は違
う、っていう話は必ずしも成立しなくなってるんですね。

kawaji (2003-10-27 16:11)

http://www.cman.jp/network/
とか

あおき (2003-10-27 23:55)

いやー、そこまでは。お金ないですし。
一時間ごとに ps ax | grep httpd してメール、
てのを cron に仕込むだけにしときました。

kawaji (2003-10-28 17:56)

あ、いや、無料なんですけどね。
でも他に依存しない管理法があれば、それが最適ですね。

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS