fkm_y' log

技術や日常のログ

Ruby

Railsアプリケーションのパフォーマンス・チューニング入門

はじめに Railsアプリケーションのパフォーマンス改善を始めるとどこからどんな手順で進めたら良いのか、進め方が誤っているんじゃないかと不安になることが多いですよね。 私も試行錯誤しながらパフォーマンス改善しているのですが、いくつかパターンがわか…

Rails:特定のカラムが更新された時だけコールバックを実行させる

特定のカラムが更新された時だけコールバックを実行したいケースがあり、saved_change_to_*?メソッドを利用した。 saved_change_to_*メソッドは特定のカラムが更新されたかどうかを判定するのに使用することができる。 特定のカラムが更新された場合 Userモ…

ActiveRecord::Associations::AssociationProxyのloaded?メソッドでeager loadingを確認する

loaded?メソッドを使うとeager loadingしているか確認することができるという話を聞いたので少し調べてみた。 使ったことがなかったけどActiveRecord::Associations::AssociationProxyのloaded?メソッドを使うと「SQLクエリを発行し、 オブジェクトを取得し…

mysql2 インストール時に 「ld: library not found for -limported_openssl」が表示された場合の対応

ローカルのRails開発環境を構築するときにハマったので対応方法を記しておく。 mysql2が修正されるまでハマる人が多そうなので手助けになれば! 追記(2019/12/09) 現在は Homebrew の mysql@5.6 の修正が完了しているようです。 ld: library not found for -…

最近知ったRubyの書き方

rake task を中断したい場合 return や break ではなく next を使う rake task は基本的にはブロックであり、ラムダを除くブロックはreturnをサポートしていないことが原因らしい。(breakも同様?) rake taskはメソッドでreturnを使用するのと同じ効果を持つ…