ruby on rails rails consoleやirbで必要のない返り値の出力を避けてコマンドの実行時間を速くする方法 rails consoleやirbは、以下のように入力したコマンドの返り値を出力する。 irb(main):001:0> 1 + 1 => 2 しかし、処理内容によっては返り値の出力が不要な場合がある。 irb(main):001:0> array = [1, 2, 3... 2022.10.13 ruby on rails
mysql rails5.2でMysqlに接続しようとするとLost connection to MySQL server at ‘reading initial communication packet’が出る エラー こんな感じのエラーが出る。 Mysql2::Error::ConnectionError: Lost connection to MySQL server at 'reading initial communication packet', system error: 0... 2022.10.10 mysqlruby on rails
ruby on rails 複数カラムを操作するときのmigrationはbulk: trueオプションをつけてクエリを1つにする 複数カラムを操作するmigrationはbulk: trueオプションをつける 例えばカラム追加をする時は、こんな感じに書く。 class AddFlagColumnToUsers < ActiveRecord::Migration[5.2] def change ... 2022.09.20 ruby on rails負荷対策
mysql 「Mysql2::Error::ConnectionError: Lost connection to MySQL server」が発生してからの復帰方法を調べてみた 現象 ローカルに起動中のmysqlにrailsから接続し、db:migrateなどの重めのmysql操作を実行すると、高い確率でmysqlに接続できなくなる。 ~/d ❯❯❯ bundle exec rake db:migrate rake aborted! Mysql2::Erro... 2022.09.16 mysqlruby on rails
ruby on rails コードを読んでクエリ回数をカウントできるようになる DBを操作するメソッドはクエリを実行する DBを操作するメソッドを呼び出すとクエリが実行される。 よく使われるのは以下のメソッドだろう。 参照系・find・find_by・where 作成・更新系・create・update・save 削除・destroy ... 2022.09.03 ruby on rails負荷対策
ruby on rails 「eager_loadからのあらかじめHash」で発行クエリ数を最小限に抑えて高速で検索できる ループ内でアソシエーション以外の方法で参照クエリを実行しなければいけない場合に、クエリ回数を最小限に抑える方法について記す。 状況 以下のような関係性の時、ユーザーが所有する全てのアイテムの名前を取得したい。 # アソシエーション User has_many: user_i... 2022.08.30 ruby on rails負荷対策
ruby on rails コントローラの責務は「交通整理」 MVCのC(コントローラ)はモデルとビューをコントロール(制御)するのが主な責務である。具体的にコントローラで行うべき処理は以下の通り。 1、リクエストパラメータを適切なモデルクラスに渡し、そのアクションの目的を実現するための処理をモデルクラスに移譲する。(コントローラはどのようなリクエス... 2022.08.30 ruby on rails
ruby on rails 処理に必要なレコードだけを取得する クエリの発行数が減らせるからといって、処理に必要のないレコードを大量に取得してしまうと処理速度が低下する場合がある。 何でもかんでもEagerLoadで大雑把にレコードを取得する場合より、複数のクエリを実行することになっても処理に必要なレコードだけに絞り込んだ方が高速になる場合もある。 ... 2022.08.30 ruby on rails負荷対策