プロファイル テーブルのユーザー プロファイルと別のテーブルのプロファイル イメージがある API をリファクタリングしています。現在、API はプロファイル テーブルにクエリを実行し、関連付けられた画像データ (パスなど) について画像テーブルをループ処理します。プロファイル画像が設定されていない場合にデフォルトの img パスを追加するロジックが組み込まれています。したがって、50 個のプロファイルを表示している場合、51 個のクエリが実行されています。
最初のプロファイル クエリが画像テーブルに結合する場所をリファクタリングすることを検討しています。2 つのオプションが残っています。
- 結果サーバー側をループして、画像パスを構築できます。結果を表示するには、クライアント側で再度ループする必要があります。
- 結果をクライアント側で 1 回ループして、そこでイメージ パスを構築できます。パス ロジックは簡単で単純な if ステートメントです。
2 が論理的な選択のようです。しかし、そうですか?これは、API とクライアント側のインターフェイスをいつ構築するかという大きな問題の一部だと思います。ブラウザの速度を低下させるリスクを冒して API を高速に保つために、サーバーからクライアントにコードを移動するのはいつですか? このダンスはどうやるの?私は Node を使用して jquery datatables プラグイン用の別の API に取り組んでおり、バックエンドと結合するにはさらに多くのコードが必要であり、ブラウザーにどれだけ引き渡す必要があるかを決定するのは少し綱引きでした。訪問者のブラウザーをクラッシュさせている場合、高速な API はあまり役に立ちません。