rastam on rails

東京在住のマレーシア人 Rubyist

Ruby Weekly #552: 日本語サマリー

rubyweekly.com

Highlights

The History of RSpec

RSpec 作成者が gem の経歴を振り返った。

  • 2001 年に TDD を教えてた仕事がそもそものきっかけ。
  • XUnit 表記は分かりづらかった(actual・expected 引数の順番が直感的じゃなかった)から、授業で使える DSL 作った。
  • Bob Martin 先生の名言「Testing is about specification not verification」をもとに RSpec と名付けた。
  • 実務では Test::Unit 使うべきだと信じてたから gem 化しなかった。
  • RubyConf 2005 にやっと gem としてリリースしてみた。意外とバズった。
  • 2006 年に David Chelimsky 先生がコントリビューターとして参戦。

Articles & Tutorials

The Five Rules of Simple RSpec Tests

RSpec のベストプラクティス集。

Some Useful Active Support Features You May Not Have Heard Of

知られざる ActiveSupport 便利機能。

  • Callbacks
  • Configurable
  • CurrentAttributes
  • MessageVerifier
  • MessageEncryptor

Start With High-Level Tests

TDD の際は高レベルテストから書け、というアドバイス

Three Ways To Avoid Duplicate Sidekiq Jobs

多数 Sidekiq ジョブの同時実行防止方法。

  • フラグで制御
  • キューにジョブが積まれてるか確認。
  • Sidekiq Enterprise に課金して sidekiq_options(unique_for:) 設定
  • sidekiq-unique-jobs gem(一部 Lua 言語で実装されてる)

ActiveJob の場合は

Top Ten git Tips and Tricks

役に立つ git 裏技。

  • 空コミット
  • ログを読みやすくする
  • 不要なローカルブランチを捨てる
  • git rebase などでうっかり消したコミット復元
  • 部分的 git add
  • git bisect 自動化