プログラミング

コントローラの責務は「交通整理」

MVCのC(コントローラ)はモデルとビューをコントロール(制御)するのが主な責務である。具体的にコントローラで行うべき処理は以下の通り。1、リクエストパラメータを適切なモデルクラスに渡し、そのアクションの目的を実現するための処理をモデルクラスに移譲する。(コントローラはどのような...
0
プログラミング

「eager_loadからのあらかじめHash」で発行クエリ数を最小限に抑えて高速で検索できる

ループ内でアソシエーション以外の方法で参照クエリを実行しなければいけない場合に、クエリ回数を最小限に抑える方法について記す。状況 以下のような関係性の時、ユーザーが所有する全てのアイテムの名前を取得したい。# アソシエーションUser has_many: user_itemsUs...
0
プログラミング

「Multiple MySQL running but PID file could not be found」を解決できる

エラー mysqlを起動させようとすると以下のエラーが出る。$ mysql.server status => ERROR! Multiple MySQL running but PID file could not be found (プロセスid)解決方法 起動中のmysqlプ...
0
プログラミング

コードを読んでクエリ回数をカウントできるようになる

DBを操作するメソッドはクエリを実行する DBを操作するメソッドを呼び出すとクエリが実行される。 よく使われるのは以下のメソッドだろう。参照系・find・find_by・where作成・更新系・create・update・save削除・destroy 上記のwhere, upda...
0
プログラミング

初めてSSH接続を行うサーバーにて「このサーバーを信頼するか」のメッセージを出さない方法

やり方 ~/.ssh/configに以下を加える。# ~/.ssh/configHost * StrictHostKeyChecking no すると以下のようなメッセージは出て来なくなる。The authenticity of host 'github' can't be es...
0
プログラミング

vscodeでインデントガイドの白線を非表示にできる

デフォルトではインデントガイドの白線が表示される インデントが深い行は白線だらけになるので見づらい。。インデントガイドを非表示にする 「設定」から「Guides: indentation」のチェックを外す。インデントガイドの白線が消える 見やすくなった!
0
プログラミング

vscodeでrailsを使う場合に入れたい拡張機能たち

ruby-rubocop コードを書いた側からrubocopが構文チェックをしてくれる。 コードホスティングサービスにCIがない場合は、こういうチェックは手元でやるしかないので、チェック忘れ防止のために自動でやりたい。 あと、コードを書いたそばから指摘してくれるので、そのうち書き...
0
プログラミング

複数カラムを操作するときのmigrationはbulk: trueオプションをつけてクエリを1つにする

複数カラムを操作するmigrationはbulk: trueオプションをつける 例えばカラム追加をする時は、こんな感じに書く。class AddFlagColumnToUsers < ActiveRecord::Migration[5.2] def change change_t...
0
プログラミング

rails consoleやirbで必要のない返り値の出力を避けてコマンドの実行時間を速くする方法

rails consoleやirbは、以下のように入力したコマンドの返り値を出力する。irb(main):001:0> 1 + 1=> 2しかし、処理内容によっては返り値の出力が不要な場合がある。irb(main):001:0> array = [1, 2, 3]irb(main...
0