裏で起きていること
レベル3ではメッセージをメモリ内の配列に保存した:
const vzkazy = [
{ jmeno: "Martin", text: "First message!" },
];
サーバーが動いてる限りは完璧。でも止めて(Ctrl+C)再起動すると、配列は 空。メッセージは消える。なぜ?
RAM(コンピュータのメモリ)は教室のホワイトボードみたい:帰ると誰かが消す。永続保存には ディスク が必要——ファイルかデータベース。
💡
ディスク vs メモリ: ディスク上のファイルは再起動を生き残る。server.js の配列は生き残らない。だから大きなサイトはデータベースを使う——MySQL、PostgreSQL、SQLite。SQLite から始める:1ファイルのデータベース、追加サーバー不要。
見てみよう:再起動後に何が起きるか
- ゲストブックレッスンからサーバー起動(
node server.js)。 - React から新しいメッセージを送る。
- サーバー停止(Ctrl+C)して再起動。
- ブラウザでページを更新——メッセージは消えてる。
これはコードのバグじゃない。メモリの性質。だからデータベースが存在する理由が分かった。
やってみよう 💪
- 上の実験を繰り返し、書き留める(プロジェクトのメモでもOK)正確に何が起きたか。
server.jsを開きconst vzkazy = [...]の行を見つける。コメント追加:// WARNING: this disappears after a server restart!- 自分のプロジェクトを考える:消えてはいけないものは?(時間割? 写真? メッセージ?)——2〜3個リスト。
✅
確認: メモリ(一時)とディスク(永続)の違いが分かる。次のレッスンで Git——コードをディスクとオンラインにバックアップ。それから SQLite——メッセージを永久保存。
このレッスンのまとめ
server.jsの配列のデータはサーバー再起動までしか生きない。- 永続保存 = ディスク上のファイルかデータベース。
- レベル4は Git(コードバックアップ)と SQLite(永久ゲストブック)へ導く。
© 2026 Ing. Martin Polak / AlgoRhino · コンテンツ利用規約