2008-06-01から1ヶ月間の記事一覧

MySQL server has gone away エラー

常時起動している Rubyスクリプトで「MySQL server has gone away」というエラーが出てビビリました。ActiveRecord使ってるからいけないのかとか、自分の書き方が悪くて(Rubyが)メモリリークしてるんじゃないかとか、簡単に解決しそうにない方向に想像がいっ…

Railsでルーティングがうまくいかないときに疑うべきこと

ちゃんと書いてるはずなのに、なんでこんなところへ飛ぶんだということで10分ほど悩みました。ほんとに10分で気がついてよかったです。 どんなこと? こう(↓)いうコードを .html.erb に書いていたわけです。 <script type="text/javascript"> function show_contents() { <%= remote_functio…

Hpricot::ParseErrorが出たときは?

Hpricotを便利に使っていますが、ページを読んだときにエラーが出るようになってしまいました。rescueはかけてあるのですが、例外に飛ばずにドカンと落ちてしまいます。 現象 c:/ruby/lib/ruby/gems/1.8/gems/hpricot-0.6-mswin32/lib/hpricot/parse.rb:51: …

rescue、ensureでの注意

あまり意識して使っていなかったのですが、意識せざるをえない状況になってしまったので、あとで「あれって何だっけ?」とならないためのメモを書いておきます。 例外処理を使うときの注意 こういうことはわりとよくやると思います。(こんな単純なことはさす…

正規表現のパターンを変数に入れる

いつもいつも「あれ?どうやるんだっけ?」と悩んでググったり、irbで試したりしてしまうので、ここに書いておくと忘れないんじゃないかと。 いろいろなケース irb> ptn = '^http://.+?/' ← URIのルートを取ってくるパターン => "^http://.+?/" irb> uri = "…

CMDのコードページには気をつけろ!

WindowsでWEBアプリを作っていると「縺ョ邨・ォ九※」みたいな画面表示で気が滅入ること、ありませんか? そんなときは「chcp 65001」とやって、UTF-8 表示にするわけですが(フォントは事前に「MS ゴシック」にしておくこと)、ruby-debug を使っていてちょっと…

cron(crontab)の簡単な使い方

あるプログラムで「loop do ???; sleep 1800 end」みたいなことを書いてて、「これっておかしくないか?」とハタと気がついたわけです。なにも無限ループを回さなくたって、cronに任せちゃえばいいじゃないか。 cronの設定確認 「crontab -l」で現在の設定が…

Ruby Enterprise Editionを入れてみる

Passengerの開発元から「Ruby Enterprise Edition」が出たそうなので早速入れてみることにします。「Railsアプリのメモリ使用量が平均33%少なくなる」らしいし、安定していて速いということですから本当なら万々歳ですね。 インストール 手順は次の通り。エ…

Ubuntuで環境整備をやったらRailsが動かなくなった

ここ(→Ubuntuの環境整備 - satake7’s memo)の手順で Ubuntu の環境がきれいになったと喜んでいたのもつかの間、いつの間にか Railsアプリが動かなくなってました。 現象 Apache2 の error.log を見るとこんなのが出ています。 [error] [client 192.168.1.3] …

バックグラウンドプロセス(ジョブ)の管理

ログインして対話的に使う分にはなんら問題はないのですが、ずっと動かしっぱなしのプロセスはどうするのかな、という疑問が出てきました。動かしてるプロセス分ターミナルを立ち上げてるというのも現実的じゃないし、screen で複数プロセス動かすのもありか…

Passengerを入れる

そろそろ落ち着いてきたころかなと思って、Passenger(mod_rails) を Ubuntu に入れてみました。 インストール インストールこれだけです。 $ s gem install passenger $ s passenger-install-apache2-module だらだらとしたインストール 例によって例の如く…

Ubuntuを初心に戻って入れ直す

ここ(→Ubuntu(MySQL) 初心者Tips - satake7’s memo)での「MySQLのWARNING」事件のこともあり、まだ他にもいろいろと足りないものがあるんじゃないのと心配になってきたので、Ubuntuの環境を今ベストな状態にしておこうと。インストール手順はほとんど、こち…

UbuntuでのMySQLのWARNING

UbuntuのRailsログを見ていたら、ここ(→http://d.hatena.ne.jp/satake7/edit?date=20080509)にあったのと同じWARNINGを発見。Windows環境だけじゃなかったんだということで、Ubuntuでも対処することに。WARNING内容はこちら(↓) WARNING: You're using the Ru…

Hpricotのインストール

Windows環境で作っている Webサービスをそろそろ Ubuntu の方で動かそうかなと思って、subversion のリポジトリから最新をチェックアウトして、とりあえず WEBrick で動かしてみようとすると、「Hpricot がない」というエラーを吐くので、Hpricot をインスト…

Apacheのログ

しばらくUbuntuを触ってなくて、「Apache、大丈夫かなぁ?」と思うことってありますよね、ありますよ、ハイ。そういうとき、うる覚えの頭で「Apacheのログって確か /var/log だったよね」と「la /var/log」(alias la='ls -alg --color=auto')なんてやると、/…