タグ

ブックマーク / satake7.hatenadiary.org (2)

  • MySQL server has gone away エラー - satake7’s memo

    常時起動している Rubyスクリプトで「MySQL server has gone away」というエラーが出てビビリました。ActiveRecord使ってるからいけないのかとか、自分の書き方が悪くて(Rubyが)メモリリークしてるんじゃないかとか、簡単に解決しそうにない方向に想像がいってしまったのですが、ググればすぐ解決方法が見つかりました。「案ずるより産むが易し」、「心配するくらいならググれ」ですね。 どういうエラーか MySQLのリファレンスマニュアルによると、「MySQLサーバはデフォルト設定では、何も起きない状態が 8 時間続くと接続をクローズします」だそうです。接続がクローズされた状態で MySQLサーバにアクセスにいくと「MySQL server has gone away」となるわけです。 どうするか 8時間、誰もアクセスしないということ自体、サイトの運営としてどうなの? 

    MySQL server has gone away エラー - satake7’s memo
  • ActiveSupportのHash拡張 - satake7’s memo

    認証系のソースを読んでいると『options.reverse_merge! :title => ip_addr』というのが出てきて、こんなの Rubyにあったっけと思って調べたら、やっぱ Rubyにはなくて ActiveSupportのクラス拡張でした。せっかく調べたのでまとめ。 Hash#reverse_merge, Hash#reverse_merge! Hash#merge(こちらは Rubyに元々あるメソッド)の逆。mergeはキーが重複する場合、値を置き換えるが、reverse_mergeはキーが重複する場合、値を置き換えない。 用途としてこれは便利だとパッと思いつくものはないんだけど、強いてあげれば、初期値のセット(2回目以降の値はセットしない)とか、デフォルト値のセット(値を書き換えない)くらいかな。 options = { :a => 1, :b => 2, :c => 3

    ActiveSupportのHash拡張 - satake7’s memo
    toshi3221
    toshi3221 2010/09/10
    シンボルと文字列、ちゃんと切り分けたいが、うまくいかないので変換する。
  • 1