2020-10-01から1ヶ月間の記事一覧
app/assets/javascripts/application.jsやapp/assets/stylesheets/application.cssのこと。 sproketsの機能を利用してアッセトのファイルを一つにまとめる為の設定ファイル。
Networkタブ→Record network logをオンにする→Doc→ファイル名→header 参考 https://www.tsukimi.net/chrome-developer-tools_post.html
ajaxのコールバック関数の中(then以下)で普通にthisを使うと戻り値が使われてしまう。 contextオプションを使うとコールバック関数の中で使うthisに任意の値を設定できる。 配列やハッシュでも設定できる。this.[キー名]でバリューを参照できる。 $.ajax({ u…
.text()ではセットした初期値の値を取得してしまう。 .val()では入力後の値を取得できる。
データベースを更新した際に、その変更が格納されるファイル。 データファイルはコミットのたびに更新されるワケではなく、キャッシュ領域にデータを保持して定期的にデータファイルを更新している。(定期的な更新をチェックポイントという。) キャッシュ…
片方向/準同期レプリケーション マスタの更新時SQLのバイナリファイルが作成され、それをもとにスレーブ(データベースのコピー)のデータを更新する。 この際準同期型はスレーブがバイナリファイルを受信し終えるまで処理を確約せずクライアントを待たせる。 …
explainで表示されるrowの項目は、各行の積が検索されるレコード数を表している。
違うサーバーに保存されているテーブルはjoinで結合することができない為予めテーブル設計をしっかり考える必要がある。
インデックス部分とデータ部分は独立して存在する。 データ領域を読まずインデックス領域内で処理が完結するような処理のことをcovering indexまたはindex read onlyという。 例えば、price < 1000 のような処理をする際にpriceにインデックスが貼っている場…
標準ライブラリをrequireして使用する require 'benchmark' result = Benchmark.realtime do # 処理 end logger.debug "#{result}" 参考 https://qiita.com/yakiimo23/items/7293c7606c1d59501d89
実行されるSQLの順番通りに、使われるカラムに対してインデックスを貼る必要がある。(whereとorderを使っている場合where→orderの順番でSQLが実行されるからインデックスを作成する時whereで使うカラム名を最初に記述して次にorderで使うカラム名を記述する…
N+1問題を解消するにはincludeメソッドを使う。 #TaskモデルにCategoryとUserモデルが紐づいている場合 @tasks = Task.includes(:category, :users).order(id: :desc).page(params[:page]).per(200) 小テーブルのレコードを最初にすべて取っておいてハッシュ…
キーが同じ値は同じハッシュ内に複数持つことができない
ハッシュを追加するメソッド。 キーが重複する場合は追加するハッシュの値に上書きされる。