トップ «前の日記(2015/01/03 (土) ) 最新 次の日記(2015/01/05 (月) )» 編集 RSS feed

HsbtDiary


2015/01/04 (日) [長年日記]

[Ruby] Effective Ruby を読んだ

監訳の @arton さんより頂きました。ありがとうございます。

この本は"Ruby のしくみ"とは逆で、良い ruby コードを書くにはどのような点に気をつければ良いのか、ということがコンパクトに書かれている。

例えば、Hash.new に初期値を与えるとか、継承よりも Forwardable を使うとか、Array よりも Set を使うべきユースケースなどなど、プロダクションコードを書いているときにコードレビューで指摘されるようなあるあるトピックが中心に関れている。

この本は少なくとも Ruby である程度のプログラムを書いたことある人、他の言語を習得していて、Ruby の文法と rubygems の仕組みくらいは知っている人をターゲットにしている。なので、Ruby を勉強するために読む本としては最初に読むべき本ではないけど、ちゃんと Ruby っぽいコードを書くためには必要なトピックが48個書いてある。

前半は特になるほどな~という内容が多いけど、後半はよくあるツール紹介、という内容が多いのは好みによるかな。あと、全体を通して、2.2 で変更された仕組みを @arton さんがせっせと訳注として解説しているので、互換性とかは安心して読めるというのが良い。テスティングの項目は何というか変更を入れた張本人なのですみません...

Ruby プログラマを名乗るなら、ここに書いてあることは全部知ってるよね。というくらい基本的なナレッジとして役にたつ情報が多いのでオススメの一冊です。


Effective Ruby
Peter J. Jones
翔泳社
¥3,520

OSX でコアダンプを無効にする術

Ruby の開発に使用している OS X server が disk full になっていて、なんだこれ~と調べてみたら /cores に 1TB を埋めるくらいのコアダンプファイルが作成されていた。

どうやら、chkbuild を回す過程で作られたらしいけど、ひとつのコアダンプが 500MB くらいで延々と作成されても厳しいので以下のコマンドで無効化した。

$ sudo sysctl -w kern.coredump=0

コアダンプ無視すんじゃねーよ、というのはとにかく、OSX 使っている人は /cores を確認してディスクを浪費していないかを確認すると良いと思います。