Proc/yield/&blockによるメソッドへのブロック渡し・実行方法
メソッドにブロックを渡し、渡されたブロックをメソッド内で実行する方法には以下の3つがあります。 今回は上記の各…
メソッドにブロックを渡し、渡されたブロックをメソッド内で実行する方法には以下の3つがあります。 今回は上記の各…
Procについて Procクラスはブロックをオブジェクト化するクラスです。 つまりProcオブジェクトとは、P…
nil? nil?はRubyのメソッドです。 nilの場合true、それ以外は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…
eachはデータをすべてメモリにのせてからループ処理を実行するため、可能性があります。 たとえば以下の例では、…
画像をはじめとした静的コンテンツをキャッシュし、Webサーバから配信することでアプリケーションのパフォーマンス…
Railsアプリの計測用gemで有名なrack-mini-profilerのインストール方法および利用方法につ…
rblineprofは計測対象のファイルに計測用のコードを埋め込むことで行単位のプロファイリングが行えるgem…
前回、【Ruby】rblineprofで行単位の計測を行う方法でrblineprofを利用したRubyのプロフ…
N+1問題とは、取得したN件のデータそれぞれに対してSQLが発行される現象のことをいいます。 N+1問題による…
Railsのセッション情報はデフォルトでCookieに保存されます。 Railsのセッション管理方法は変更が可…
前回、『deviseのインストール手順をシンプルなログイン機能の実装で理解する』でdeviseを利用した認証機…
deviseを利用することで簡単に認証機能をRailsアプリケーションに構築できます。 今回はdeviseをイ…
RubyMineとDockerを連携し、コンテナの起動やDocker環境のデータベースをRubyMineから実…
REST APIを開発するにあたり、OpenAPI Specification(OpenAPI 3.0以前でい…
REST APIのテストコードにレスポンスボディの検証を追加することで、レスポンスボディに修正が加わったことを…
外部APIを利用したメソッドのテストコードを書く際、APIとの連携方法がテストのスコープ外になることがあります…
【Ruby】faradayを利用した外部API連携クラスの作成手順の記事で、Faradayを利用した外部API…
アプリケーション開発をするにあたり、外部サービスとAPI連携を行う場合があります。 前回はHTTP通信を行うR…
アプリケーション開発をするにあたり、外部サービスとAPI連携を行う場合があります。 RubyではHTTP通信を…
データ不整合が発生した時や既存のカラムの値を変更したい時など、データを手動で更新しなければいけません。 本番デ…
Swaggerを利用することでREST APIの仕様をドキュメント化できます。 SwaggerではREST A…
APIモードで作成したRails 6と、MySQL 8を組み合わせたDocker環境の構築手順について紹介しま…
こんにちは。仁科(@nishina555)です。 今回はRails 6とMySQL 8を組み合わせたWebアプ…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 前回、【Rails】ass…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 PumaとはRails(R…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 先日、【AWS環境構築手順…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 Railsアプリケーション…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 今回はRails6 + M…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 前回、『Dockerのデー…
こんにちは。Enjoy IT Life管理人の仁科(@nishina555)です。 前回、『環境構築からデータ…