【Rails】present?とpresenceの違いと使いどころ
present?について present?は真偽値を返すRailsのメソッドです。 nil, false, “…
present?について present?は真偽値を返すRailsのメソッドです。 nil, false, “…
N+1カウントクエリとは、取得したN件のデータそれぞれに対してcountクエリが発行される現象のことを指します…
N+1カウントクエリとは、取得したN件のデータそれぞれに対してcountクエリが発行される現象のことを指します…
前回、counter_cacheでN+1カウントクエリを解消する手順でRailsの標準機能であるcounter…
N+1カウントクエリが発生している状態とは N+1カウントクエリとは、取得したN件のデータそれぞれに対してco…
belongs_toで紐づいているActive Recordの関連付けキーで検索をしたい場合は、当該カラムの値…
分割してデータを読み込むことでメモリの消費を抑える eachはデータをすべてメモリにのせてからループ処理を実行…
CSVを分割して読み込むことでメモリの消費を抑える 【Rails】in_batches、find_in_bat…
検証環境のrubyのバージョンは2.7.1です。 通常の引数 通常の引数は以下の通りです。 メソッドで引数名を…
eachはデータをすべてメモリにのせてからループ処理を実行するため、可能性があります。 たとえば以下の例では、…
pluckやmapを利用することで、Active Recordモデルから特定の要素を取り出せます。 今回はpl…
Rubyの実装で利用されるメモリを計測する方法には主に以下の2つがあります。 今回は上記2つの具体的な利用方法…
アプリケーションの性能や検証をする際に、1対多の関係を持つダミーデータを大量に用意したい時があります。 Rai…
Railsアプリケーションでバルクインサート(複数のレコードを一括でインサートする方法)を実現する場合、Rai…
Fakerを利用すると簡単にダミーデータが作成できます。 今回はFakerの利用してRailsアプリケーション…
前回、Ruby標準のBenchmarkモジュールを利用したベンチマークの実行・確認方法でRuby標準のBenc…
Rubyの標準で用意されているBenchmarkモジュールを利用するとベンチマークテストが実行できます。 今回…
Stackprofは『どのメソッドにどれくらいの時間がかかっているか』を解析できるgemです。 今回はStac…
Railsアプリの計測用gemで有名なrack-mini-profilerのインストール方法および利用方法につ…
rblineprofは計測対象のファイルに計測用のコードを埋め込むことで行単位のプロファイリングが行えるgem…
前回、【Ruby】rblineprofで行単位の計測を行う方法でrblineprofを利用したRubyのプロフ…
rblineprofは行単位のプロファイリングを行うgemです。 rblineprofを利用することで『どの行…
N+1問題とは、取得したN件のデータそれぞれに対してSQLが発行される現象のことをいいます。 N+1問題による…
Railsのセッション情報はデフォルトでCookieに保存されます。 Railsのセッション管理方法は変更が可…
前回、『deviseのインストール手順をシンプルなログイン機能の実装で理解する』でdeviseを利用した認証機…
deviseを利用することで簡単に認証機能をRailsアプリケーションに構築できます。 今回はdeviseをイ…
RubyMineとDockerを連携し、コンテナの起動やDocker環境のデータベースをRubyMineから実…
REST APIのテストコードにレスポンスボディの検証を追加することで、レスポンスボディに修正が加わったことを…
外部APIを利用したメソッドのテストコードを書く際、APIとの連携方法がテストのスコープ外になることがあります…
【Ruby】faradayを利用した外部API連携クラスの作成手順の記事で、Faradayを利用した外部API…
アプリケーション開発をするにあたり、外部サービスとAPI連携を行う場合があります。 前回はHTTP通信を行うR…
アプリケーション開発をするにあたり、外部サービスとAPI連携を行う場合があります。 RubyではHTTP通信を…
データ不整合が発生した時や既存のカラムの値を変更したい時など、データを手動で更新しなければいけません。 本番デ…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 前回、【Rails】ass…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 PumaとはRails(R…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 今回はRails6 + M…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 前回、『ローカル開発環境の…