プログラミング

プログラミング

「Mysql2::Error::ConnectionError: Lost connection to MySQL server」が発生してからの復帰方法を調べてみた

現象  ローカルに起動中のmysqlにrailsから接続し、db:migrateなどの重めのmysql操作を実行すると、高い確率でmysqlに接続できなくなる。 ~/d ❯❯❯ bundle exec rake db:migrate rake aborted! Mysql2::E...
0
プログラミング

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

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

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

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

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

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

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

DBを操作するメソッドはクエリを実行する  DBを操作するメソッドを呼び出すとクエリが実行される。  よく使われるのは以下のメソッドだろう。 参照系・find・find_by・where 作成・更新系・create・update・save 削除・destroy  上記のwhere...
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) 解決方法  起動中のmy...
0
プログラミング

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

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

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

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

処理に必要なレコードだけを取得する

クエリの発行数が減らせるからといって、処理に必要のないレコードを大量に取得してしまうと処理速度が低下する場合がある。  何でもかんでもEagerLoadで大雑把にレコードを取得する場合より、複数のクエリを実行することになっても処理に必要なレコードだけに絞り込んだ方が高速になる場合...
0
プログラミング

macOSでsshする際に自動でssh-addができる

やり方 ~/.ssh/configに以下を追加する。 Host * UseKeychain yes AddKeysToAgent yes 上記の設定で、sshする際に自動でssh-addしてくれる。 さらに、パスフレーズも聞かれない。
0