2021-08-01から1ヶ月間の記事一覧

オブジェクト指向プログラミング

オブジェクト指向プログラミングの基本的な考え方 「オブジェクト指向プログラミングでは、極力インスタンス変数を使ってそのインスタンス自身に処理させる」 インスタンスが個別に持つ情報を利用してインスタンスメソッドを呼び出して処理する。という書き…

TDD (テスト駆動開発)について

TDD(テスト駆動開発)とは 以下のTDDのサイクルを繰り返す開発のこと Todoリストから次の目標を考える その目標を示すテストを書く そのテストを実行して失敗させる(Red) 目的のコードを書く(必要最低限で良い) 2で書いたテストを成功させる(Green) テストが…

commitをいい感じにまとめたい

commitをいい感じにまとめたい いつも以下のやり方。 【git rebase -i】gitのcommitをまとめる - Qiita 基本指示コマンドはsを使っている(コメントの編集がしやすい)。

railsアプリでテーブル名を変更したい

railsアプリでテーブル名を変更したい 以下を参考に行うことで出来た。 【Ruby on Rails】テーブル名の変更方法と変更時にやること一覧&ステップ - Qiita 注意点 最初、マイグレーションファイルを直接編集して、その後rails db:resetで変更しようと試みた…

ポリモーフィック(1) 関連付け

はじめに プラクティスの必須要件をみながら、ざっくりテーブルはこんな感じで...こんな感じでアクションを...と紙に書いていてふと気づく。 あれ...commentモデルとreportモデル、booksモデルの関連付けってどうやればいいんだ...? またそれぞれに中間モデ…

N+1問題

はじめに Ruby on RailsのN+1問題に関して調べたので、その忘備録 N+1問題とは テーブルに対してデータ検索を行うとき、不必要に大量のSQL(N+1件のSELECT文)を発行してしまい、パフォーマンスが低下してしまう問題のこと。 1:多などモデルの関連付けをしてい…

アソシエーションを設定したモデルに関する注意点(Ruby on Rails)

はじめに Ruby on Railsのフォロワー機能作成のプラクティスをやっていて、これに何回か引っかかったのでその忘備録 アソシエーションを記述すると、子モデルに設定される制限について belong_toを記述した、子モデルから作成したインスタンスは「外部キーに…