← Razina 4 – Data pro

Lekcija 1 od 6 ⏱ 20 minuta Besplatni pregled

Zašto podaci nestaju nakon ponovnog pokretanja

Saznaj zašto knjiga gostiju zaboravi poruke kad se server zaustavi – i što ćemo s tim učiniti.

Što se događa ispod haube

U razini 3 spremali smo poruke u niz u memoriji:

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

To odlično radi – dok server radi. Ali kad ga zaustaviš (Ctrl+C) i ponovo pokreneš, niz je prazan. Poruke su nestale. Zašto?

Jer RAM (memorija računala) je kao školska ploča: kad odeš, netko je obriše. Za trajno spremanje treba disk – datoteka ili baza podataka.

💡

Disk naspram memorije: datoteka na disku preživljava ponovno pokretanje. Niz u server.js ne. Zato velike web stranice koriste baze podataka – MySQL, PostgreSQL, SQLite. Počet ćemo sa SQLiteom: baza podataka u jednoj datoteci, bez dodatnog servera.

Pokazat ću ti: što se događa nakon ponovnog pokretanja

  1. Pokreni server iz lekcije o knjizi gostiju (node server.js).
  2. Pošalji novu poruku preko Reacta.
  3. Zaustavi server (Ctrl+C) i ponovo ga pokreni.
  4. Osvježi stranicu u pregledniku – poruka je nestala.

To nije greška u kodu. To je svojstvo memorije. I sada znaš zašto baze podataka postoje.

Sad si ti na redu 💪

  1. Ponovi gornji eksperiment i zapiši (možda u bilješke projekta) točno što se dogodilo.
  2. Otvori server.js i pronađi redak s const vzkazy = [...]. Dodaj komentar: // WARNING: this disappears after a server restart!
  3. Razmisli o svom projektu: što ne bi smjelo nestati na tvojoj školskoj/klupskoj/dnevničkoj web stranici? (raspored? fotografije? poruke?) – navedi 2–3 stvari.

Provjera: Razumiješ razliku između memorije (privremeno) i diska (trajno). U sljedećoj lekciji naučit ćeš Git – za sigurnosnu kopiju koda na disku i online. Zatim SQLite – da poruke ostanu zauvijek.

Što ćeš ponijeti iz ove lekcije