バックエンドとフロントエンドの違いをすぐに使える観点で整理
音声
目次
バックエンドとフロントエンドの「今困っていること」からの結論
結論として、バックエンド(サーバ側のデータ処理)とフロントエンド(画面側の表示)が役割分担することで、問題解決が早くなります。
よくある状況として、画面は表示されるもののデータが空になるトラブルが発生します。
また、「どちらの担当か分からない」状態になり、対応が遅れることが困りごとです。
実務での切り分け手順(UI操作・コマンド・スクリプト混在)
困りごとは、画面に値が出ない、表示が遅い、エラーが出ることで作業が止まることです。
解決として、まず「画面→API→DB」の順で簡単に切り分けするのがポイントです。
手順は次のとおりです。
- ブラウザの開発者ツールでNetworkを見ることです。
- curlでAPIを直打ちしてレスポンスを確認することです。
- サーバログを簡易スクリプトで追うことです。
簡易Expressサーバの例です。
const express = require('express');
const app = express();
app.get('/api/items', (req, res) => res.json([{id:1,name:'A'}]));
app.listen(3000);
fetchで画面から確認する例です。
fetch('/api/items').then(r=>r.json()).then(data=>console.log(data));
よくあるミスと原因の見つけ方(失敗例付き)
困りごととして、APIが生きているのに画面に反映されないことが頻発します。
解決として、よくある失敗パターンを知って素早く切り分けします。
避けたい例として、失敗例と原因の組み合わせを押さえておくと再現性のある確認がしやすいです。
- 失敗例としてブラウザ側でCORSエラーが出ることがありますが、原因としてサーバのレスポンスヘッダが不足していることが多いです。
- 失敗例としてレスポンスが空になることがありますが、原因としてクエリ条件や認証が間違っていることがあります。
判断のポイントと簡単チェック方法(開発者ツール+curl)
困りごとは、画面が遅いのかAPIが遅いのかを判断できないことです。
解決として、測定と再現で原因を切り分けできます。
チェック例の手順は次のとおりです。
- 開発者ツールのNetworkで、該当APIのTimeを確認します。
- curlで、レスポンスヘッダとボディを確認します。
判断のポイントとして、画面描画は速いのにAPI応答が遅い場合は、バックエンドを優先して対応すると切り分けが進みます。
curlでの確認例(ヘッダ付き)です。
curl -i https://api.example.com/items
簡易スクリプトでログを抽出する例(擬似コード)です。
grep "GET /api/items" /var/log/app.log | tail -n 50
注意(ここだけ)
本番データの削除や上書きを伴う操作は、必ずバックアップを取ってから行う必要があります。
要約
- バックエンド(サーバ側)とフロントエンド(画面側)は役割を分けて考えると整理しやすいです。
- 切り分けは「画面→API→DB」の順で短時間に確認すると進めやすいです。
- よくあるミスはCORSや認証の不整合で起きやすいため、レスポンスとヘッダを確認すると要チェックです。
- 判定は「画面描画は速いか」「API応答は速いか」を基準にすると判断しやすいです。
- 確認手順は開発者ツール→curl→サーバログの順にすると効率的です。