タグ

ブックマーク / mgi.hatenablog.com (3)

  • Java 歴 23 分の Ruby エンジニアが Effective Java を読んで感動した話 - scramble cadenza

    イントロ 例外処理を書くことはよくやっているのだけれど、その時の主軸となる考え方について、今までなんとなくで行っていた部分が多かった。 毎回考えるポイントは例えば以下のような疑問。 どこのレイヤーで、どこまで例外処理を行えばよいのだろうか? どの例外をキャッチし、どの例外を伝搬させればよいだろうか? 前提条件をチェックし、失敗した場合、例外を出したほうがよいか、nil, false を返すほうがよいか? 例外をどういう単位でラップさせるのが良いだろうか? 例外をチェインし過ぎると却って煩雑になる気がする。どうすれば良いのだろうか。 しかし、この辺りの話って、API の設計だったり、仕様の影響もあるので、都度対応が異なってしまうもの。 したがって抽象化して理解することが難しく感じた。 とてもよく使ってるし、とても大事な事なことなのに。 そんな今更な事で悩んでいた時に、Effective Ja

    Java 歴 23 分の Ruby エンジニアが Effective Java を読んで感動した話 - scramble cadenza
  • delayed_job まとめ - scramble cadenza

    イントロ collectiveidea/delayed_job なんとなく使ってきて、なんとなくわかってるつもりの delayed_job について、改めてまとめてみたもの。 休日暇だったのでソースコード読んでみたり、step 実行したりして、何処に何が書いてあるかをざっくりとまとめたものです。 環境 rails (4.2.1) delayed_job (4.0.6) delayed_job_active_record (4.0.3) daemons (1.2.3) 導入 Gemfile gem "delayed_job_active_record" ActiveJob ActiveJob のバックエンドとして、delayed_job を指定する config.active_job.queue_adapter = :delayed_job command rails generate de

    delayed_job まとめ - scramble cadenza
  • ActiveSupport::Configurable の話 - scramble cadenza

    イントロ よく設定ファイルで見るクラスを簡単に作れる module ActiveSupport::Configurable の紹介 使い方は、rails/configurable.rb at master · rails/rails のコメント文を読んだほうが早い。 よくあるやつ 具体例を幾つか紹介。 引数が違ったり、ブロック引数有り/無しだったり、メソッド名が違う等の差はあれど、どれも似ている vagrant Vagrantfile を拝借 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "centos7" config.vm.network "private_network", ip: "192.168.33.10" .... end rails config/environments/dev

    ActiveSupport::Configurable の話 - scramble cadenza
  • 1