← レベル4 – データプロ

レッスン 1/6 ⏱ 20 分 無料プレビュー

再起動でデータが消える理由

サーバー停止でゲストブックがメッセージを忘れる理由——そして対策。

裏で起きていること

レベル3ではメッセージをメモリ内の配列に保存した:

const vzkazy = [
  { jmeno: "Martin", text: "First message!" },
];

サーバーが動いてる限りは完璧。でも止めて(Ctrl+C)再起動すると、配列は 。メッセージは消える。なぜ?

RAM(コンピュータのメモリ)は教室のホワイトボードみたい:帰ると誰かが消す。永続保存には ディスク が必要——ファイルかデータベース。

💡

ディスク vs メモリ: ディスク上のファイルは再起動を生き残る。server.js の配列は生き残らない。だから大きなサイトはデータベースを使う——MySQL、PostgreSQL、SQLite。SQLite から始める:1ファイルのデータベース、追加サーバー不要。

見てみよう:再起動後に何が起きるか

  1. ゲストブックレッスンからサーバー起動(node server.js)。
  2. React から新しいメッセージを送る。
  3. サーバー停止(Ctrl+C)して再起動。
  4. ブラウザでページを更新——メッセージは消えてる。

これはコードのバグじゃない。メモリの性質。だからデータベースが存在する理由が分かった。

やってみよう 💪

  1. 上の実験を繰り返し、書き留める(プロジェクトのメモでもOK)正確に何が起きたか。
  2. server.js を開き const vzkazy = [...] の行を見つける。コメント追加:// WARNING: this disappears after a server restart!
  3. 自分のプロジェクトを考える:消えてはいけないものは?(時間割? 写真? メッセージ?)——2〜3個リスト。

確認: メモリ(一時)とディスク(永続)の違いが分かる。次のレッスンで Git——コードをディスクとオンラインにバックアップ。それから SQLite——メッセージを永久保存。

このレッスンのまとめ